1、学生成绩管理系统源代码#include #include #include #include struct student char no9; char name20; int score4; float aver; float sum;void menu()/菜单 printf( tt 学生成绩管理系统 n); printf(tt*菜单*n); printf(tt* 1 录入成绩 2 删除成绩 *n); printf(tt* 3 查询成绩 4 修改成绩 *n); printf(tt* 5 插入成绩 6 具体查看 *n); printf(tt* 7 成绩排序 8 保存成绩 *n); print
2、f(tt* 9 显示成绩 0 退出系统 *n); printf(tt*n); printf(n);void input(struct student *stu,int *n)/录入成绩 int i=*n; int k=1; int a,b; system(cls); printf(tttt录入成绩n); while(k) printf(tt请输入学号:); scanf(%s,stui.no); printf(tt请输入姓名:); scanf(%s,stui.name); printf(tt请输入语文成绩:); scanf(%d,&stui.score0); printf(tt请输入数学成绩:)
3、; scanf(%d,&stui.score1); printf(tt请输入英语成绩:); scanf(%d,&stui.score2); printf(tt请输入C语言成绩:); scanf(%d,&stui.score3); printf(tt继续录入请输入1,终止录入请输入0:); scanf(%d,&k); i+; (*n)+; for(a=0;ai;a+) /sum aver 归零 stua.sum=0; stua.aver=0; for(a=0;ai;a+)/计算总分 for(b=0;b4;b+) stua.sum+=stua.scoreb; for(a=0;ai;a+)/计算平均
4、分 stua.aver=stua.sum/4; system(pause);void dele(struct student *stu,int *n)/ 删除成绩 system(cls); int i; char number9,name9; printf(tt请输入您要删除该同学的学号:); scanf(%s,number); printf(tt请输入您要删除该同学的姓名:); scanf(%s,name); for(i=0;i*n;i+) if(strcmp(stui.no,number)=0 & strcmp(stui.name,name)=0) for(;i(*n-1);i+) stu
5、i=stui+1; (*n)-; break; printf(tt删除成功!);void search(struct student *stu,int n)/ 查询成绩 system(cls); int i,a=1; char number9; char name20; while(a) printf(tt请输入您的学号:); scanf(%s,&number); printf(tt请输入您的姓名:); scanf(%s,&name); for(i=0;in;i+) if(strcmp(stui.no,number)=0 & strcmp(stui.name,name)=0 ) printf(
6、t-成绩单-n); printf(n); printf(t| 学号 | | 语文 | 数学 | 英语 | C语言 | 总分 | 平均分 |n); printf(t| %-5s | %-6s | %-4d| %-4d| %-4d| %-4d| %-3.1f | %-5.1f |n, stui.no,stui.name,stui.score0,stui.score1,stui.score2,stui.score3,stui.sum,stui.aver); a=0; else printf(tt输入有误,请重新输入!n); break; system(pause);void modify(struc
7、t student *stu,int n)/修改成绩 system(cls); char number9,name9; int a,i,m=1,b; printf(t根据学号来修改成绩请输入1,根据姓名来修改成绩请输入0。n); scanf(%d,&a); do if(a=1) printf(tt请输入您要修改同学的学号:); scanf(%s,number); for(i=0;in;i+) if(strcmp(stui.no,number)=0) printf(n); printf(t-成绩单-n); printf(n); printf(t| 学号 | | 语文 | 数学 | 英语 | C语
8、言 | 总分 | 平均分 |n); printf(t| %-5s | %-6s | %-4d| %-4d| %-4d| %-4d| %-3.1f | %-5.1f |n, stui.no,stui.name,stui.score0,stui.score1,stui.score2,stui.score3,stui.sum,stui.aver); printf(tt请输入新的学号:); scanf(%s,stui.no); printf(tt请输入新的姓名:); scanf(%s,stui.name); printf(tt请输入新的语文成绩:); scanf(%d,&stui.score0); p
9、rintf(tt请输入新的数学成绩:); scanf(%d,&stui.score1); printf(tt请输入新的英语成绩:); scanf(%d,&stui.score2); printf(tt请输入新的C语言成绩:); scanf(%d,&stui.score3); m-; b=i; if(a=0) printf(tt请输入您要修改同学的姓名:); scanf(%s,name); for(i=0;in;i+) if(strcmp(stui.name,name)=0) printf(n); printf(t-成绩单-n); printf(n); printf(t| 学号 | | 语文 |
10、 数学 | 英语 | C语言 | 总分 | 平均分 |n); printf(t| %-5s | %-6s | %-4d| %-4d| %-4d| %-4d| %-3.1f | %-5.1f |n, stui.no,stui.name,stui.score0,stui.score1,stui.score2,stui.score3,stui.sum,stui.aver); printf(tt请输入新的学号:); scanf(%s,stui.no); printf(tt请输入新的姓名:); scanf(%s,stui.name); printf(tt请输入新的语文成绩:); scanf(%d,&st
11、ui.score0); printf(tt请输入新的数学成绩:); scanf(%d,&stui.score1); printf(tt请输入新的英语成绩:); scanf(%d,&stui.score2); printf(tt请输入新的C语言成绩:); scanf(%d,&stui.score3); m-; b=i; while(m); printf(tt该同学修改后的成绩为:n); printf(t-成绩单-n); printf(n); printf(t| 学号 | | 语文 | 数学 | 英语 | C语言 | 总分 | 平均分 |n); printf(t| %-5s | %-6s | %-
12、4d| %-4d| %-4d| %-4d| %-3.1f | %-5.1f |n, stub.no,stub.name,stub.score0,stub.score1,stub.score2,stub.score3,stub.sum,stub.aver); system(pause);void insert(struct student *stu,int *n)/插入成员 /*system(cls); int i,j,a; printf(插入学生成绩!); printf(); scanf(%d,&a); do if(a=1) (*n)+; */void count(struct student
13、 *stu,int n)/成绩详情 system(cls); int a=0,b=0,c=0,d=0; int i; for(i=0;in;i+)/计算语文不及格人数 if(stui.score060) a+; for(i=0;in;i+)/计算数学不及格人数 if(stui.score160) b+; for(i=0;in;i+)/计算英语不及格人数 if(stui.score260) c+; for(i=0;in;i+)/计算C语言不及格人数 if(stui.score360) a+; for(i=0;in;i+)/计算语文不及格人数 if(stui.score160) d+; print
14、f(tt 语文不及格人数为: %d 个n,a); printf(tt 数学不及格人数为: %d 个n,b); printf(tt 英语不及格人数为: %d 个n,c); printf(ttC语言不及格人数为: %d 个n,d); system(pause);void sort(struct student *stu,int n)/成绩排序 system(cls); int a,i,j; struct student k; printf(按学号排序请输入1、按总分高低排序请输入0:); scanf(%d,&a); if(a=1) for(i=0;in-1;i+) for(j=0;j0) k=st
15、uj; stuj=stuj+1; stuj+1=k; printf(tt140705班学生成绩n); printf(-成绩单-n); printf(n); printf(| 学号 | | 语文 | 数学 | 英语 | C语言 | 总分 | 平均分 |n); for(i=0;in;i+) printf(| %-5s | %-6s | %-4d| %-4d| %-4d| %-4d| %-3.1f | %-5.1f |n, stui.no,stui.name,stui.score0,stui.score1,stui.score2,stui.score3,stui.sum,stui.aver); pr
16、intf(n); printf(-n); system(pause); return; if(a=0) for(i=0;in-1;i+) for(j=0;jn-i;j+) if(stuj.sumstuj+1.sum) k=stuj; stuj=stuj+1; stuj+1=k; printf(140705班学生成绩n); printf(-成绩单-n); printf(n); printf(| 学号 | | 语文 | 数学 | 英语 | C语言 | 总分 | 平均分 | 名 次 |n); for(i=0;i打开错误!n); getchar(); return; printf( -%d-,n);
17、system(pause); for(i=0;i0) getchar; printf(nnn=已保存的学生信息的总数为 :%dn,n); getchar(); savingflag=0; else system(cls); printf(当前无保存的学生信息!n); getchar(); fclose(fp); system(pause);void display(struct student *stu,int n)/显示成绩 system(cls); int i; printf(tt140705班学生成绩); printf(n); if(n=0) printf(tt-无成绩!n); syst
18、em(pause); return; printf(t-成绩单-n); printf(n); printf(t| 学号 | | 语文 | 数学 | 英语 | C语言 | 总分 | 平均分 |n); for(i=0;ican not open file!n); exit(0); while(!feof(fp) if(fread(stu+i,sizeof(struct student),1,fp)=1)/一次从文件读取一条学生成绩记录 i+; *n=i; fclose(fp);/关闭文件void main()/登录界面 system(cls); struct student stu100; struct student *p; int n=0; system(color 0B); char a10=140705,b10=123456; char c10,d10; int h=5; read(stu,&n); printf(tt*欢迎进入学生成绩管理系统!*n); printf(n); printf(n); printf(tttt 用户登录n); printf(tt请输入用户
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1