/*学生成绩管理*//*Borland C下编译通过,调试过程中不要输入大数字*/#include #include #include int INDEX[32];//结构体变量struct STUDENT{ int id; int age; int chinese,math,english; char name[21];}students[32];void page_title(char *menu_item){ printf(">>> 学 生 管 理 系 统 <<<\n\n- %s -\n\n",menu_item);}//void return_confirm(void){ printf("\n按任意键返回……\n"); getch();}//void student_new(void){ int n; page_title("录入学生基本信息"); for(n=0;n<32;n++) if(students[n].id==0) break; printf("学号:"); scanf("%d",&students[n].id); printf("姓名:"); scanf("%s",&students[n].name); printf("年龄:"); scanf("%d",&students[n].age); return_confirm();}//①int search_id(void){ int n,i; printf("请输入学生学号:"); scanf("%d",&i); for(n=0;n<32;n++) { if(students[n].id==i&&students[n].id!=0) { printf("学号:%d\n",students[n].id); printf("姓名:%s\n",students[n].name); printf("年龄:%d\n",students[n].age); return n; } } printf("\n输入错误或学号不存在.\n"); return -1;}//void student_del(void){ int n; page_title("注销学生基本信息"); if((n=search_id())!=-1) students[n].id=0; printf("\n!该学生已注销.\n"); return_confirm();}//③void student_edit(void){ int n; page_title("编辑学生基本信息"); if((n=search_id())!=-1) { printf("\n请重新输入新信息:\n学号:"); scanf("%d",&students[n].id); printf("姓名:"); scanf("%s",&students[n].name); printf("年龄:"); scanf("%d",&students[n].age); } return_confirm();}//②void score_input(void){ int s,n,t; page_title("录入成绩"); printf("\n请用数字键选择科目\n1-语文 2-数学 3-英语\n"); scanf("%d",&s); for(n=0;n<32;n++) { if(students[n].id!=0) { printf("学号:%d 姓名:%s 成绩:",students[n].id,students[n].name); scanf("%d",&t); switch(s) { case 1 : students[n].chinese=t;break; case 2 : students[n].math=t;break; case 3 : students[n].english=t;break; } } } return_confirm();}//④void score_edit(void){ int n; page_title("修改成绩"); if((n=search_id())!=-1) { printf("语文:%d 数学:%d 英语:%d\n",students[n].chinese,students[n].math,students[n].english); printf("\n请重新输入成绩:\n语文:"); scanf("%d",&students[n].chinese); printf("数学:"); scanf("%s",&students[n].math); printf("英语:"); scanf("%d",&students[n].english); } return_confirm();}//⑤void sort_it(char nn){ int n,m,p,x,t[32]; for(n=0;n<32;n++) { switch(nn) { case '1' : t[n]=students[n].id;break; case '2' : t[n]=students[n].chinese;break; case '3' : t[n]=students[n].math;break; case '4' : t[n]=students[n].english;break; case '5' : t[n]=students[n].chinese+students[n].math+students[n].english;break; } } for(n=0;n<32;n++) { x=0; p=-1; for(m=0;m<32;m++) { if(t[m]>x) { x=t[m]; p=m; } } t[p]=-1; INDEX[n]=p; }}//void browser(void){ int n,x; char k; sort_it('1'); while(1) { page_title("浏览"); printf("按数字键选择排序方式或按 0 返回\n"); printf("学号-1\t姓名\t年龄\t语文-2\t数学-3\t英语-4\t总分-5\n"); for(n=0;n<32;n++) { if(INDEX[n]!=-1) { x=INDEX[n]; printf("%d\t%s\t",students[x].id,students[x].name); printf("%d\t%d\t",students[x].age,students[x].chinese); printf("%d\t%d\t",students[x].math,students[x].english); printf("%d\n",students[x].chinese+students[x].math+students[x].english); } } k=getch(); if(k<'6'&&k>'0') sort_it(k); else if(k=='0') break; else continue; }}//⑥void main(void){ menu: page_title("操作选单"); printf("请用数字键选择操作\n\n"); printf("1 录入学生基本信息\n2 修改学生基本信息\n"); printf("3 注销学生基本信息\n\n4 录入成绩\n5 修改成绩\n\n"); printf("6 浏览...\n \n0 退出\n"); switch(getch()) { case '1' : student_new();break; case '2' : student_edit();break; case '3' : student_del();break; case '4' : score_input();break; case '5' : score_edit();break; case '6' : browser();break; case '0' : exit(0); } goto menu;}
标签:管理系统,成绩,语言
版权声明:文章由 问百书 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.wenbaishu.com/answer/13806.html