C语言课程设计学生成绩管理系统_第1页
C语言课程设计学生成绩管理系统_第2页
C语言课程设计学生成绩管理系统_第3页
C语言课程设计学生成绩管理系统_第4页
C语言课程设计学生成绩管理系统_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、*题目七:学生成绩管理系统设计学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)等。主要功能:(1)能按学期、按班级完成对学生成绩的录入、修改(2)能按班级统计学生的成绩,求学生的总分及平均分(3)能查询学生成绩,不及格科目及学生名单(4)能按班级输出学生的成绩单要求:使用二进制文件方式存储数据,系统以菜单方式工作源代码:#include#include #include #include struct Student int cls;char nam10;char num10;int chinese;int english;int computer;int m

2、ath;stud1100,stud2100;int menu()char a;while(a7|a0)system(cls);欢迎使用学生成绩管理系统n);制作人:章建n);学生成绩管理系统1 .输入学生成绩n);2 .输出学生成绩n);3 .查找并显示学生成绩n);4 .按姓名查找,修改学生资料 n);5 .显示所有学生名单n);6 .查找并删除学生信息n);7 .从文件读取数据n);8 .储存学生资料并退出系统n);printf( printf( printf(*n);printf( printf( printf( printf( printf( printf( printf(printf

3、(I*n);printf(请选择(0-7)n);a=getchar();)return(a-0);)/*/int Input(Student stud,int n)输入数据(第一学期)。int i=0;char sign,x10;for(;sign !=n&sign !=N;)printf(姓名:);scanf(%s,studn+i.nam);printf(班级:);scanf(%d,&studn+i.cls);printf(学号:);scanf(%s,studn+i.num);printf(语文:);scanf(%d,&studn+i.chinese);printf(数学:);scanf(%

4、d,&studn+i.math);printf(英语:);scanf(%d,&studn+i.english);printf(计算机:);scanf(%d,&studn+puter);gets(x);printf(还有要输入的信息吗?(y/n);scanf(%c,&sign);i+;)return(n+i);,*/void Display(Student stud, int n) (int i;printf( 班级 学号 姓名 语文 数学 英语 计算机 总分 平均分n);for(i=1;i1 & i%10=0)(system(pause);system(pause);/*查 找学 生

5、 显示 其 信 息*/*void Query(Student stud,int n)(char nam20;printf(输入其姓名:n);scanf(%s,nam);int i=0;while(strcmp(studi.nam,nam)!=0&in)i+;if(i=n)(printf(ttt没有发现该学生的资料!n);/*return; printf(学号%sn,studi.num);printf(班级%dn,studi.cls);printf(%dn,studi.chinese);printf(英语%dn,studi.english);printf(数学%dn,studi.math);pr

6、intf(计算机:dn,puter);*int Delete(Student stud,int n)(char s20;int i=0,j;printf(请输入要删除的学生的姓名:n);scanf(%s,s);while(strcmp(studi.nam,s)!=0&in) i+;if(i=n)(printf(ttt没有发现该学生资料!n);return(n);for(j=i;jn-1;j+)(strcpy(studj.num,studj+1.num);strcpy(studj.nam,studj+1.nam);studj.cls=studj+1.cls;studj.chin

7、ese=studj+1.chinese;studj.math=studj+1.math;studj.english=studj+1.english;puter=studj+1.computer;printf(当前信息已删除成功!);return(n-1); /* */ int Revise(Student stud,int n)(int i=0;char na10;scanf(%s,na);while(strcmp(studi.nam,na)!=0&in) i+;if(i=n)n);(printf(ttt没有发现该学生的资料!printf(修改班级:n);scanf(%d,&

8、studi.cls);printf(修改学号:n); scanf(%s,studi.num);printf(修改语文成绩:n);scanf(%d,&studi.chinese);printf(修改英语成绩:n);scanf(%d,&studi.english);printf(修改数学成绩:n); scanf(%d,&studi.math);printf(修改计算机成绩:n);scanf(%d,&puter);printf(修改成功 n);return(n);/*显 示 学 生 名 单*/void show(Student stud,int n) for(int i=0;in;

9、i+) printf(system(pause);%sn,studi.nam);/*从 文 件 读 取*/*int AddfromText(Student stud, int n)int i=0,number,x=0,y=0;FILE *fp;char filename20;printf(输入文件名:);scanf(%s,filename);if(fp=fopen(filename,rb)=NULL)printf(无法打开文件);system(pause);return(n);fscanf(fp,%d,&number);for(;inumber;)fscanf(fp,%d%s%s%d%d%d%

10、d%d%dn,&studn+i.cls,&studn+i.num,&studn+i.nam, &studn+i.chinese,&studn+i.math,&studn+i.english,&studn+puter,&x,&y);i+;n+=number;fclose(fp);printf(读入成功!);system(pause);return(n);/*将所有记录写进文件*/*void WritetoText(Student stud,int n) int i=0;FILE *fp;char filename20;printf(将资料输入文件n);printf(输入文件名n);sc

11、anf(%s,filename);if(fp=fopen(filename,w+)=NULL) printf(无法打开文件n);system(pause);return;fprintf(fp,%dn,n);for(;in;) fprintf(fp,%-8d%-8s%-8s%-5d%-5d%-5d%-5d%-5d%-5dn,studi.cls,studi.num,studi. nam,studi.chinese,studi.math,studi.english,puter, studi.chinese+studi.math+studi.english+pute

12、r, (studi.chinese+studi.math+studi.english+puter)/4);i+;fclose(fp);/*/*void main()(int n1=0,n2=0;for(;)(switch(menu()(case 1:int t;printf(输入学生资料n);printf(输入学期);scanf(%d,&t);if(t=1)(n1=Input(stud1,n1);)else if(t=2)(n2=Input(stud2,n2);)break;case 2:printf(输出所有学生资料n);if(n1!=0)(printf(第一学期 n);D

13、isplay(stud1,n1);)if(n2!=0)(printf(第二学期 n);Display(stud2,n2);)break;case 3:int r;printf(查找学生 n);printf(请输入学期n);scanf(%d,&r);if(r=1)Query(stud1,n1);)else if(r=2)(Query(stud2,n2);)system(pause);break;case 4:int p;printf(修改学生资料n);printf(请输入学期n);scanf(%d,&p);if(p=1)(printf(输入你要修改的学生的姓名:);n1=Revise(stud1

14、,n1);)else if(p=2)(printf(输入你要修改的学生的姓名:);n2=Revise(stud2,n2);)system(pause);break;case 5:printf(显示所有学生名单:n);if(n1!=0)(printf(第一学期 n);show(stud1,n1);)if(n2!=0)(printf(第二学期 n);show(stud2,n2);)system(pause);break;case 6:printf(查找并删除学生信息n);int o;printf(请输入学期:);scanf(%d,&o);if(o=1)(printf(第一学期 n);n1=Delete(stud1,n1);)if(o=2)(printf(第二学期 n);n2=Delete(stud2,n2);)system(pause);break;case 7:printf(从文件中读入数据n);printf(读取第一学期的文件n);n1=AddfromText(stud1,n1);printf(读取第二学期的文件n);n2=AddfromText(stud2,n2);break;case 0:printf(将所有资料写入文件n);if(n1!=0)n);n);(printf(存储第

温馨提示

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

评论

0/150

提交评论