①學生_新
②學生_德爾
③學生_編輯
④分數_輸入
⑤分數_編輯
⑥瀏覽器
⑦page_title(主函數調用)
⑧return_confirm(前五個函數調用)
⑨search_id(第二/第三/第五次函數調用)
sort _ it(瀏覽器函數調用)
Main(調用前七個函數)
*/
/*學生成績管理*/
/*在/*Borland C下編譯,調試時不要輸入大數字*/
# include & ltstdio.h & gt
# include & ltstdlib.h & gt
# include & ltconio.h & gt
int INDEX[32];
//結構變量
結構學生{
int id
int age
int語文、數學、英語;
char name[21];
}學生[32];
void page _ title(char * menu _ item){
printf(" & gt;& gt& gt學生管理系統
}//
作廢退貨_確認(作廢){
printf(" \ n按任意鍵返回...\ n ");
getch();
}//
作廢學生_新建(作廢){
int n;
Page_title("輸入學生基本信息");
for(n = 0;n & lt32;n++)
如果(學生[n]。id = = 0)break;
Printf("學號:");
scanf("%d ",& amp學生。id);
printf(" name:");
scanf("%s ",& amp學生。姓名);
Printf("年齡:");
scanf("%d ",& amp學生。年齡);
return _ confirm();
}//①
int search_id(void){
int n,I;
Printf("請輸入學號:");
scanf("%d ",& ampI);
for(n = 0;n & lt32;n++)
{
如果(學生[n]。id = = i & amp& amp學生。id!=0)
{
Printf("學號:%d\n ",學生[n]。id);
Printf("姓名:%s\n ",學生[n]。姓名);
Printf("年齡:%d\n ",學生[n]。年齡);
返回n;
}
}
printf(" \ n錯誤輸入或學生編號不存在。\ n ");
return-1;
}//
void student_del(void){
int n;
Page_title("註銷學生基本信息");
if((n=search_id())!=-1)學生[n]。id = 0;
printf("\n!該學生已註銷。\ n ");
return _ confirm();
}//③
作廢學生_編輯(作廢){
int n;
Page_title("編輯學生基本信息");
if((n=search_id())!=-1)
{
printf(" \ n請重新輸入新信息:\ n學生ID:");
scanf("%d ",& amp學生。id);
printf(" name:");
scanf("%s ",& amp學生。姓名);
Printf("年齡:");
scanf("%d ",& amp學生。年齡);
}
return _ confirm();
}//②
作廢分數_輸入(作廢){
int s,n,t;
Page_title("入門分數");
printf(" \ n請使用數字鍵選擇主題\n1-中文2-數學3-英文\ n ");
scanf("%d ",& amps);
for(n = 0;n & lt32;n++)
{
如果(學生[n]。id!=0)
{
Printf("學生ID: %d姓名:%s成績:",學生[n]。ID,學生[n]。姓名);
scanf("%d ",& ampt);
開關
{
案例1:學生[n]。中文= t;打破;
案例二:學生[n]。數學= t;打破;
案例三:學生[n]。英語= t;打破;
}
}
}
return _ confirm();
}//④
作廢分數_編輯(作廢){
int n;
Page_title("修改成績");
if((n=search_id())!=-1)
{
Printf("語言:%d數學:%d英語:% d \ n ",學生[n]。中國人,學生[n]。數學,學生[n]。英語);
printf(" \ n請重新輸入等級:\ n語言:");
scanf("%d ",& amp學生。中文);
Printf("數學:");
scanf("%s ",& amp學生。數學);
Printf("英語:");
scanf("%d ",& amp學生。英語);
}
return _ confirm();
}//⑤
void sort_it(char nn){
int n,m,p,x,t[32];
for(n = 0;n & lt32;n++)
{
開關
{
案例' 1 ':t[n]=學生[n]。id;打破;
案例“2”:t[n]=學生[n]。中文;打破;
案例“3”:t[n]=學生[n]。數學;打破;
案例“4”:t[n]=學生[n]。英語;打破;
案例“5”:t[n]=學生[n]。中文+學生[n]。數學+學生[n]。英語;打破;
}
}
for(n = 0;n & lt32;n++)
{
x = 0;
p =-1;
for(m = 0;m & lt32;m++)
{
if(t[m]& gt;x)
{
x = t[m];
p = m;
}
}
t[p]=-1;
INDEX[n]= p;
}
}//
void瀏覽器(void){
int n,x;
char k;
sort _ it(' 1 ');
while(1)
{
Page_title("瀏覽");
Printf("按數字鍵選擇排序方式或按0返回\ n ");
Printf("學號-1 \ tname \ tAge \ t Chinese-2 \ t math-3 \ t English-4 \ t總分-5 \ n ");
for(n = 0;n & lt32;n++)
{
if(INDEX[n]!=-1)
{
x =索引[n];
printf("%d\t%s\t ",學生[x]。id,學生[x]。姓名);
printf("%d\t%d\t ",學生[x])。年齡,學生[x]。中文);
printf("%d\t%d\t ",學生[x])。數學,學生[x]。英語);
printf("%d\n ",學生[x]。中文+學生[x]。數學+學生[x]。英語);
}
}
k = getch();
if(k & lt;6英尺高。& ampk & gt0’)sort _ it(k);
else if(k = = ' 0 ')break;
否則繼續;
}
}//⑥
無效主(無效){
Menu: page_title(“操作菜單”);
Printf("請使用數字鍵選擇操作\ n \ n ");
Printf("1輸入學生基本信息\n2修改學生基本信息\ n ");
Printf("3註銷學生基本信息\n\n4輸入成績\n5修改成績\ n \ n ");
Printf("6瀏覽...\n \n0退出\ n ");
開關(getch())
{
case ' 1 ':student _ new();打破;
案例“2”:student _ edit();打破;
案例“3”:student _ del();打破;
案例“4”:score _ input();打破;
案例“5”:score _ edit();打破;
案例“6”:browser();打破;
案例“0”:退出(0);
}
轉到菜單;
}擺,缺少壹些信息,但可以參考結構。