1、C语言大作业封面模板 C语言大作业 班级:10物理 学号:2010061251 姓名:崔文明 2013年6月20日#include #include #include #define M 3 typedef struct students char name20; char num15; float scoreM; float average; float total;MESSA; MESSA stu20;int S; void menu(void); void choose(void); void input(void); void savescore(void); void loadsco
2、re(void); void choosec(void); void average(void); void total(void); void name(void); void number(void); void show(void); void excellent(void); void passing(void); void personal(void); void Exit(); void main() menu(); choose(); void menu(void) system(CLS); printf(t * n); printf(t * 欢迎使用这个成绩管理系统 * n);
3、 printf(t * n); printf(t n); printf(t 请输入学生的分数.请按.1 n); printf(t 搜索学生分数 .请按.2 n); printf(t 搜索学生的优秀通过率.请按.3 n); printf(t 搜索学生的通过状况.请按.4 n); printf(t 搜索个人各门成绩分数.请按.5 n); printf(t 退出.请按.6 n); printf(nt请选择:n); void choose(void) int x,flag=0; while(flag=0) fflush(stdin); scanf(%d,&x); getchar(); switch(x
4、) case 1:input();savescore();loadscore();menu();choose();flag=1;break; case 2:choosec();flag=1;break; case 3:excellent();flag=1;break; case 4:passing();flag=1;break; case 5:personal();flag=1;break; case 6:Exit();flag=1; default:printf(tSorry,your choose doesnt exist! please choose again!n); void inp
5、ut(void) int flag=1,j,i;char k;float pp=0; for(i=0;flag=1;i+) printf(t请输入第N.%hd个学生的成绩信息:n,i+1); puts(姓名:); fflush(stdin); gets(stui.name); fflush(stdin); puts(学号:); fflush(stdin); gets(stui.num); puts(t分数:t语文t数学t英语); for(j=0;jM;j+) scanf(%f,&stui.scorej); puts(t你想要继续么?(Y/N); while(1) puts(t请选择.); ff
6、lush(stdin); scanf(%c,&k); if(k!=N&k!=Y) puts(t出错了,哈哈,再输一次吧!); else if(k=N) flag=0;S=i;break; else break; for(i=0;i=S;i+) for(j=0,stui.total=0.0;jM;j+) stui.total+=stui.scorej; stui.average=stui.total/M; void savescore(void) int i,flag=1;FILE *fp;char m; puts(t你想要保存这些数据么?(Y/N); while(1) fflush(stdin
7、); scanf(%c,&m); if(m=Y) if(fp=fopen(D:score.txt,w)=NULL) printf(t对不起哦,无法打开这个表单.n); exit(0); for(i=0;i=S;i+) if(fwrite(&stui,sizeof(struct students),1,fp)!=1) puts(t对不起,表单书写错误了!); flag=0; if(flag=1) for(i=0;i=S;i+) printf(t好了,第N.%d个学生的数据已经被保存了哦!n,i+1); fclose(fp); break; else if(m!=N&m!=Y) puts(t对不起
8、,你输入错误,请重新输入一次吧!); else break; void loadscore(void) FILE *fp;char n;MESSA restu20;int i,j,flag=0; char read510=学号,姓名,语文,数学,英语; puts(t你想要立刻读取这些数据么?(Y/N); while(1) fflush(stdin); scanf(%c,&n); if(n=Y) if(fp=fopen(D:score.txt,r)=NULL) fprintf(stderr,tOpen %s error!n,score.txt); exit(0); for(i=0;i=S;i+)
9、 fread(&restui,sizeof(struct students),1,fp); system(CLS); puts(t成绩信息读取中.); printf(n); printf(t$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$n); printf(t$*$ $*$nt); printf($*$ ); for(i=0;i5;i+) printf(%-10s,readi); printf( $*$); printf(n); for(i=0;i=S;i+) printf(t$*$ ); printf(%-10s%-10s,restui.num,res
10、tui.name); for(j=0;j3;j+) printf(%-10.2f,restui.scorej); printf( $*$n); printf(t$*$ $*$); printf(nt$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$n); fclose(fp); break; else if(n=N) break; else printf(t对不起,出现错误了,再来一次吧,相信你会成功的!n); puts(t输入任意键回到主菜单.n); getchar(); getchar(); void choosec(void) int biao,i,f
11、lag=0;FILE *fp; if(fp=fopen(D:score.txt,r)=NULL) printf(t对不起,你无法输入任何成绩信息! 无法打开这个表单!nnn); printf(t输入任意键回到主菜单!n); getchar(); getchar(); menu(); choose(); for(i=0;i=S;i+) fread(&stui,sizeof(struct students),1,fp); fclose(fp); system(CLS); printf(t以下是第二个菜单:n); printf(n); printf(t%$%$%$%$%$%$%$%$%$%$%$%$
12、%$%$%$%$%$%$%$%$%$%$%$n); printf(t%$ 按平均分由高到低.请按.1 %$n); printf(t%$ 按总分由高到低.请按.2 %$n); printf(t%$ 按学号降序.请按.3 %$n); printf(t%$ 按姓名降序.请按.4 %$n); printf(t%$ 回到主菜单.请按.5 %$n); printf(t%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$%$n); printf(nt请选择输入方式:n); while(flag=0) fflush(stdin); scanf(%d,&biao); getc
13、har(); switch(biao) case 1:flag=1;average();show();break; case 2:flag=1;total();show();break; case 3:flag=1;number();show();break; case 4:flag=1;name();show();break; case 5:flag=1;menu();choose();break; default:printf(t对不起,你的操作无法进行! 请重新做出正确操作!n); void show(void) int i,j,n,flag=0; char head710=学号,姓名,
14、语文,数学,英语,总分,平均分; system(CLS); puts(t读取信息中.); printf(n); printf(t$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$nnt); for(i=0;i7;i+) printf(%-10s,headi); printf(nt); for(i=0;i=S;i+) printf(%-10s%-10s,stui.num,stui.name); for(j=0;j3;j+) printf(%-10.2f,stui.scorej); printf(%-10.2f,stui.total); printf(%
15、-10.2f,stui.average); printf(nt); printf(nt$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$*$n); printf(nYou want :(1 or 2)n); puts(t1.回到第二个菜单!n); puts(t2.回到主菜单!n); while(flag=0) fflush(stdin); scanf(%d,&n); getchar(); switch(n) case 1:flag=1;choosec();break; case 2:flag=1;menu();choose();break; defaul
16、t:printf(t出错了,请再次输入!n); void average(void) int i,j,k;MESSA t; for(i=0;iS;i+) k=i; for(j=i+1;j=S;j+) if(stuk.averagestuj.average) k=j; if(k!=i) t=stuk; stuk=stui; stui=t; void total(void) int i,j,k;MESSA t; for(i=0;iS;i+) k=i; for(j=i+1;j=S;j+) if(stuk.totalstuj.total) k=j; if(k!=i) t=stuk; stuk=stui
17、; stui=t; void number(void) int i,j,k;MESSA t; for(i=0;iS;i+) k=i; for(j=i+1;j=S;j+) if(strcmp(stuk.num,stuj.num)0) k=j; if(k!=i) t=stuk; stuk=stui; stui=t; void name(void) int i,j,k;MESSA t; for(i=0;iS;i+) k=i; for(j=i+1;j=S;j+) if(strcmp(stuk.name,stuj.name)0) k=j; if(k!=i) t=stuk; stuk=stui; stui
18、=t; void excellent(void) int i,j,k,w,flag=0;float m;FILE *fp; char head2310=数学,语文,英语; if(fp=fopen(D:score.txt,r)=NULL) printf(t对不起,你无法输入任何信息! 找不到该表单!nnn); printf(t输入任意键回到主菜单!n); getchar(); getchar(); menu(); choose(); for(i=0;i=S;i+) fread(&stui,sizeof(struct students),1,fp); fclose(fp); system(CLS)
19、; for(i=0;iM;i+) printf(tThe excellent students in %s is following:n,head2i); for(j=0,k=0;j=85.00) k+; printf(t%st%s,stuj.num,stuj.name); printf(t%.2fn,stuj.scorei); m=(k*1.0/(S+1)*100; printf(tThe excellent rate is %.2f%n,m); printf(nn); puts(t你想要继续操作么?n); printf(t1.离开系统!n); printf(t2.回到主菜单!n); pri
20、ntf(t3.回到第二个菜单!n); puts(t请选择:n); while(flag=0) fflush(stdin); scanf(%d,&w); getchar(); switch(w) case 1:Exit();flag=1; case 2:menu();choose();flag=1;break; case 3:choosec();flag=1;break; default:printf(t对不起,操作无法进行! 请重新选择!n); void passing(void) int i,j,k,w,flag=0;float m;FILE *fp; char head2310=数学,语文
21、,英语; if(fp=fopen(D:score.txt,r)=NULL) printf(t对不起,你不能输入任何信息! 无法找到该表单!nnn); printf(t输入任意键回到主菜单!n); getchar(); getchar(); menu(); choose(); for(i=0;i=S;i+)fread(&stui,sizeof(struct students),1,fp); fclose(fp); system(CLS); for(i=0;iM;i+) printf(tThe passing students in %s is following:n,head2i); for(j
22、=0,k=0;j=60.0) k+; printf(t%st%s,stuj.num,stuj.name); printf(t%.2fn,stuj.scorei); m=(k*1.0/(S+1)*100; printf(tThe passing rate is %.2f%n,m); printf(nn); puts(t是否继续操作?n); printf(t1.离开系统!n); printf(t2.回到主菜单!n); printf(t3.回到第二个菜单!n); puts(t请选择:n); while(flag=0) fflush(stdin); scanf(%d,&w); getchar(); s
23、witch(w) case 1:Exit();flag=1; case 2:menu();choose();flag=1;break; case 3:choosec();flag=1;break; default:printf(t对不起,你的操作无法进行! 请重新选择!n); void personal(void) int i,j,f,w,flag=0;char b10,a;FILE *fp; char head3710=学号,姓名,语文,数学,英语,总分,平均分; if(fp=fopen(D:score.txt,r)=NULL) printf(t对不起,无法输入任何信息! 无法找到该表单!nnn); printf(t输入任意键回到主菜单!n); getchar(); getchar(); menu(); choose(); for(i=0;i=S;i+) fread(&stui,sizeof(struct students),1,fp); fclose(fp); puts(t请输入你想要搜索的学生成绩信息:n); puts(t学生成绩信息如下.n); for(i=0;i=S;i+) printf(t%s,stui.name); puts(tnYour choose is
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1