学生成绩管理系统源代码.doc_第1页
学生成绩管理系统源代码.doc_第2页
学生成绩管理系统源代码.doc_第3页
学生成绩管理系统源代码.doc_第4页
学生成绩管理系统源代码.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include#include#define M 50struct student char name15; char num10; char sex3; int score6;sM;/录入基本信息void inputBas() int i,n; FILE *f; printf(请输入待录入的学生个数:); scanf(%d,&n); f=fopen(BasicInformation.txt,w+); for (i=0;in;i+) printf(请输入第%d个学生的姓名:,i+1); scanf(%s,); printf(请输入第%d个学生的学号:,i+1); scanf(%s,si.num); printf(请输入第%d个学生的性别:,i+1); scanf(%s,si.sex); if(fwrite(&si,sizeof(struct student),1,f)!=1) printf(File BasicInformation.txt write errorn); return; fclose(f);/修改基本信息void modifyBas() int m=-1,k; char na15,nu10,se3,n10; FILE *fp,*f; fp=fopen(BasicInformation.txt,r); if(fp=fopen(BasicInformation.txt,r)=NULL) printf(找不到文件!n); exit(0); printf(请输入要修改的学生学号:); scanf(%s,n); for(int i=0;iM;i+) fscanf(fp,%s%s%s,,si.num,si.sex); if(strcmp(si.num,n)=0) m=i; fclose(fp); if(m=-1) printf(n该学号不存在!n); return; printf(1:修改姓名n); printf(2:修改学号n); printf(3:修改性别n);d printf(4:退出修改n); printf(n请选择菜单编号:); scanf(%d,&k); f=fopen(BasicInformation.txt,w); switch(k) case 1: printf(请输入新姓名:); scanf(%s,na); strcpy(,na);break; case 2: printf(请输入新学号:); scanf(%s,nu); strcpy(sm.num,nu);break; case 3: printf(请输入新性别:); scanf(%s,se); strcpy(sm.sex,se);break; case 4:break; default:printf(请在1-4中选择!);break; for(i=0;iM;i+) if(fwrite(&si,sizeof(struct student),1,f)!=1) printf(File BasicInformation.txt write errorn); return; fclose(f);/删除函数void delstudent() int i,m=-1,k=0; char n10; FILE *fp,*f,*f1,*p1; fp=fopen(BasicInformation.txt,r); if(fp=fopen(BasicInformation.txt,r)=NULL) printf(找不到文件!n); exit(0); printf(请输入要删除学生的学号:); scanf(%s,n); for(i=0;iM;i+) fscanf(fp,%s%s%s,,si.num,si.sex); if(strcmp(,0)=0) break; if(strcmp(si.num,n)=0) m=i; k+; if(m=-1) printf(n该学号不存在,删除失败!n);return; fclose(fp); f=fopen(BasicInformation.txt,w); for(i=m;iM;i+) strcpy(,si+1.name); strcpy(si.num,si+1.num); strcpy(si.sex,si+1.sex); for(i=0;iM;i+) if(fwrite(&si,sizeof(struct student),1,f)!=1) printf(文件写入错误!n); return; fclose(f); f1=fopen(score.txt,r); for(i=0;iM;i+) fscanf(f1,%d%d%d%d%d%d,&si.score0,&si.score1,&si.score2,&si.score3,&si.score4,&si.score5); fclose(f1); p1=fopen(score.txt,w); for(i=m;iM;i+) for(int j=0;j6;j+) si.scorej=si+1.scorej; for(i=0;ik-1;i+) fprintf(p1,%d %d %d %d %d %d ,si.score0,si.score1,si.score2,si.score3,si.score4,si.score5); fclose(p1); printf(n删除成功!n);/成绩录入函数void inputScore() int i,k=0; FILE *fp,*f; fp=fopen(BasicInformation.txt,r); for(i=0;iM;i+) fscanf(fp,%s%s%s,,si.num,si.sex); if(strcmp(,0)=0) break; k+; f=fopen(score.txt,w); for(i=0;ik;i+) fscanf(fp,%s%s%s,,si.num,si.sex); printf(请输入学号为%s同学的语文、数学、英语、物理、化学、生物成绩,并以空格键隔开n,si.num); scanf(%d%d%d%d%d%d,&si.score0,&si.score1,&si.score2,&si.score3,&si.score4,&si.score5); fprintf(f,%d %d %d %d %d %d ,si.score0,si.score1,si.score2,si.score3,si.score4,si.score5); fclose(fp); fclose(f);/修改成绩函数void modifyScore() int i,m=-1,k=0; char n10; FILE *fp,*f,*f1; printf(请输入要修改的学生的学号:); scanf(%s,n); f=fopen(BasicInformation.txt,r); for(i=0;iM;i+) fscanf(f,%s%s%s,,si.num,si.sex); if(strcmp(si.num,n)=0) m=i; if(strcmp(,0)!=0) k+; fclose(f); if(m=-1)printf(n该学号不存在!n);return; fp=fopen(score.txt,r); for(i=0;ik;i+) fscanf(fp,%d%d%d%d%d%d,&si.score0,&si.score1,&si.score2,&si.score3,&si.score4,&si.score5); fclose(fp); printf(请输入该生的语文、数学、英语、物理、化学、生物成绩,并以空格键隔开n); scanf(%d%d%d%d%d%d,&sm.score0,&sm.score1,&sm.score2,&sm.score3,&sm.score4,&sm.score5); f1=fopen(score.txt,w); for(i=0;ik;i+) fprintf(f,%d %d %d %d %d %d ,si.score0,si.score1,si.score2,si.score3,si.score4,si.score5); fclose(f1);/按某科目排名输出函数void subjectsort() int i,m,t,k=0; char na15; FILE *f1,*f2; printf(n=按某科目排名输出=n); printf( 1:按语文成绩排名输出n); printf( 2:按数学成绩排名输出n); printf( 3:按英语成绩排名输出n); printf( 4:按物理成绩排名输出n); printf( 5:按化学成绩排名输出n); printf( 6:按生物成绩排名输出n); printf( 请选择菜单编号:); scanf(%d,&m); f2=fopen(BasicInformation.txt,r); for(i=0;iM;i+) fscanf(f2,%s%s%s,,si.num,si.sex); if(strcmp(,0)=0) break; k+; f1=fopen(score.txt,r); for (i=0;ik;i+) fscanf(f1,%d%d%d%d%d%d,&si.score0,&si.score1,&si.score2,&si.score3,&si.score4,&si.score5); printf(n 姓名 该科成绩n); for(i=0;ik;i+) for(int j=i+1;jM;j+) if(si.scorem-1sj.scorem-1) t=si.scorem-1; si.scorem-1=sj.scorem-1; sj.scorem-1=t; strcpy(na,); strcpy(,); strcpy(,na); for(i=0;ik;i+) printf( %s %dn,,si.scorem-1); fclose(f1); fclose(f2);/统计总分输出函数void totalscore() int i,k=0; FILE *f1,*f2; f1=fopen(BasicInformation.txt,r); for(i=0;iM;i+) fscanf(f1,%s%s%s,,si.num,si.sex); if(strcmp(,0)=0) break; k+; f2=fopen(score.txt,r); printf(n姓名 学号 性别 总分n); for (i=0;ik;i+) fscanf(f2,%d%d%d%d%d%d,&si.score0,&si.score1,&si.score2,&si.score3,&si.score4,&si.score5); printf(%s %s %s %dn,,si.num,si.sex,(si.score0+si.score1+si.score2+si.score3+si.score4+si.score5); fclose(f2);/查询某生的基本信息void searchstudentinformation() int i,m=-1; FILE *f; char n10; printf(n请输入要查询的学生学号:); scanf(%s,n); printf(n 姓名 学号 性别n); f=fopen(BasicInformation.txt,r); for(i=0;iM;i+) fscanf(f,%s%s%s,,si.num,si.sex); if(strcmp(si.num,n)=0) m=i; if(m=-1) printf(n该学号不存在!n); else printf( %s %s %sn,,sm.num,sm.sex); fclose(f);/查询某生的成绩void searchstudentscore() int i,m=-1,k=0; FILE *f1,*f2; char n10; printf(n请输入要查询的学生学号:); scanf(%s,n); printf(n 姓名 语文 数学 英语 物理 化学 生物n); f1=fopen(BasicInformation.txt,r); for(i=0;iM;i+) fscanf(f1,%s%s%s,,si.num,si.sex); if(strcmp(si.num,n)=0) m=i; if(strcmp(,0)=0) break; k+; if(m=-1) printf(n该学号不存在!n); else f2=fopen(score.txt,r); for(i=0;ik;i+) fscanf(f2,%d%d%d%d%d%d,&si.score0,&si.score1,&si.score2,&si.score3,&si.score4,&si.score5); printf( %s %d %d %d %d %d %dn,,sm.score0,sm.score1,sm.score2,sm.score3,sm.score4,sm.score5); fclose(f1); fclose(f2);/查询某科目前十名名单void subjecttop() int i,m,t,k=0; char na15; FILE *f1,*f2; printf(n=查询科目前十名名单=n); printf( 1:语文成绩前十名n); printf( 2:数学成绩前十名n); printf( 3:英语成绩前十名n); printf( 4:物理成绩前十名n); printf( 5:化学成绩前十名n); printf( 6:生物成绩前十名n); printf( 请选择菜单编号:); scanf(%d,&m); f2=fopen(BasicInformation.txt,r); for(i=0;iM;i+) fscanf(f2,%s%s%s,,si.num,si.sex); if(strcmp(,0)=0) break; k+; f1=fopen(score.txt,r); for (i=0;ik;i+) fscanf(f1,%d%d%d%d%d%d,&si.score0,&si.score1,&si.score2,&si.score3,&si.score4,&si.score5); printf(n 姓名 该科成绩n); for(i=0;ik;i+) for(int j=i+1;jM;j+) if(si.scorem-1sj.scorem-1) t=si.scorem-1; si.scorem-1=sj.scorem-1; sj.scorem-1=t; strcpy(na,); strcpy(,); strcpy(,na); for(i=0;ik&i10;i+) printf( %s %dn,,si.scorem-1); fclose(f1); fclose(f2);/基本信息管理模块void BasicInformationManagement() int N; printf(nn*学生基本信息管理*n); printf(-n); printf(1:录入学生基本信息n); printf(2:修改学生基本信息n); printf(3:删除学生基本信息n); printf(4:返回主菜单n); printf(-n); printf(请选择子菜单编号:); scanf(%d,&N); switch (N) case 1:inputBas();break; case 2:modifyBas();break; case 3:delstudent();break; case 4:return; default:printf(请在1-4中选择); /成绩管理模块void ResultManage() int N; printf(nn*学生成绩管理*n); printf(-n); printf(1:录入学生成绩n); printf(2:修改学生成绩n); printf(3:返回主菜单n); printf(-n); printf(请选择子菜单编号:); scanf(%d,&N); switch (N) case 1:inputScore();break; case 2:modifyScore();break; case 3:return; default:printf(请在1-3中选择n); /统计及查询模块void StatisticalInformation() int k; printf

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论