一个简单的学生成绩管理系统(附运行结果)_第1页
一个简单的学生成绩管理系统(附运行结果)_第2页
一个简单的学生成绩管理系统(附运行结果)_第3页
一个简单的学生成绩管理系统(附运行结果)_第4页
一个简单的学生成绩管理系统(附运行结果)_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、#include #include #include #define n 100 int inumofstu=0; struct score float math; float english; float computer; ; struct student int number; char name20; struct score sco; float average; ; struct student stun; void print_menu(void);/ 输出菜单void choosemenu(void);/ 菜单选择void input_student1(int);/ 输入学生信

2、息void input_student2(void);/ 输入总函数void input_student3(int &,int);/判断学号是否重复void input_student4(int,int);/ 覆盖原信息void sort_student3(student s,int);/ 按照英语成绩排序void sort_student4(student s,int);/ 按照计算机成绩排序void sort_student2(student s,int);/ 按照数学成绩排序void sort_student5(student s,int);/ 按照平均成绩排序float inp

3、ut_score2(int);/ 计算学生平均成绩void print_student2(void);/ 显示表头void print_student3(int);/ 显示学生信息void print_student1(int);/ 显示全部学生资料void sort_student1(void);/ 排序总函数void menu(void);/ 菜单调度总函数int search_student2(int);/ 按学号查询学生信息并输出void search_student3(int);/ 按平均分最高查询并输出void search_student1(void);/ 查询总函数void d

4、elete_student2(int,int);/ 删除学生信息void delete_student1(void);/ 删除总函数void change_student2(int);/ 修改学生资料void change_student1(void);/ 修改总函数void input_score3(int);/ 统计成绩void input_score1(void);/ 统计成绩总函数void print_help(void);/ 输出帮助信息void exit_student(void);/ 退出系统void save_student(student *,int);/ 保存学生信息voi

5、d main() menu(); void save_student(student *s,int a)/ 保存学生信息 file *fp; 学生信息 .txt,wb)=null) printf( 不能打开文件!n); else printf( 保存信息到d 盘n); fprintf(fp, 本班所有学生具体信息如下:rn); fprintf(fp, 学号姓名数学成绩英语成绩计算机成绩平均成绩 rn); for(int i=0;ia;i+) fprintf(fp,%8d%12s%14.2f%14.2f%14.2f%14.2fn,stui.number,,stui.sco.ma

6、th,stui.sco.english,puter,stui.average); fprintf(fp,rn); fclose(fp); printf( 信息保存成功!n); void exit_student(void)/ 退出系统 exit(1); void print_help(void)/ 输出帮助信息 printf( 本系统所能容纳的最大学生数为%d 人n 学生信息保存在d 盘根目录下, 保存文件为“学生信息 .txt” 。n 感谢使用! n,n); void input_score1(void)/ 统计成绩总函数 int c; c=search_student2(inumofstu

7、); printf( 学号: %dn,stuc.number); printf( 姓名: %sn,); input_score3(c); printf( 新成绩录入成功!n); stuc.average=input_score2(c); void input_score3(int a)/ 统计成绩 printf( 数学新成绩:); scanf(%f,&stua.sco.math); printf( 英语新成绩:); scanf(%f,&stua.sco.english); printf( 计算机新成绩:); scanf(%f,&puter); void

8、 change_student2(int a)/ 修改学生资料 printf( 学号: %d- 修改为: ,stua.number); scanf(%d,&stua.number); getchar(); printf( 姓名: %s-修改为: ,); gets(); printf( 数学成绩: %.2f- 修改为: ,stua.sco.math); scanf(%f,&stua.sco.math); printf( 英语成绩: %.2f- 修改为: ,stua.sco.english); scanf(%f,&stua.sco.eng

9、lish); printf( 计算机成绩:%.2f- 修改为: ,puter); scanf(%f,&puter); void change_student1(void)/ 修改总函数 int c; c=search_student2(inumofstu); getchar(); printf( 是否要修改此学生信息?(“y”代表是) ); char d; scanf(%c,&d); if(d=y|d=y) change_student2(c); stuc.average=input_score2(c); printf( 信息修改成功!n); void delete_stude

10、nt1(void)/ 删除总函数 int c; c=search_student2(inumofstu); getchar(); printf( 是否删除此条记录?( “y”代表是) ); char d; scanf(%c,&d); if(d=y|d=y) delete_student2(c,inumofstu); printf( 记录已删除! n); void delete_student2(int a,int b)/ 删除学生信息 for(int i=a;ib-1;i+) stui=stui+1; -inumofstu; void search_student1(void)/ 查询

11、总函数 printf(1 、按学号查询n2、按平均分最高查询n 请选择: ); int c; scanf(%d,&c); switch(c) case 1: search_student2(inumofstu); break; case 2: search_student3(inumofstu); break; default: break; void menu(void)/ 菜单调度总函数 print_menu(); choosemenu(); void sort_student1(void)/ 排序总函数 printf(1 、按数学成绩排序n2、按英语成绩排序n3、按计算机成绩排序

12、n4、按平均成绩排序 n 请选择: ); int c; scanf(%d,&c); switch(c) case 1: sort_student2(stu,inumofstu); break; case 2: sort_student3(stu,inumofstu); break; case 3: sort_student4(stu,inumofstu); break; case 4: sort_student5(stu,inumofstu); break; default: break; void print_student1(int a)/ 显示全部学生资料 printf( 本班所

13、有学生具体信息如下n); print_student2(); for(int i=0;ia;i+) print_student3(i); void print_student3(int a)/ 显示学生信息 printf(%8d%12s%14.2f%14.2f%14.2f%14.2fn,stua.number,,stua.sco.math,stua.sco.english,puter,stua.average); void print_student2(void)/ 显示表头 printf( 学号姓名数学成绩英语成绩计算机成绩平均成绩 n); void input_stude

14、nt4(int a,int b)/ 覆盖原信息 stua=stub-1; -inumofstu; void input_student3(int &a,int b)/判断学号是否重复 if(a!=0) int i=0; do if(stua.number=stui.number) printf( 此学号代表的学生已录入n1、覆盖原信息 n2、重新输入 n 请选择: ); int c; scanf(%d,&c); switch(c) case 1: input_student4(i,inumofstu); a=inumofstu-1; printf( 信息已替换! n); bre

15、ak; case 2: printf( 请重新输入学生信息:n); input_student1(inumofstu-1); break; default: break; break; +i; while(ib-1); void print_menu(void)/ 输出菜单 printf(= 欢迎来到学生信息管理系统=n); printf( 1、输入学生资料n); printf( 2、删除学生资料n); printf( 3、查询学生资料n); printf( 4、修改学生资料n); printf( 5、显示学生资料n); printf( 6、统计学生成绩n); printf( 7、排序学生成绩

16、n); printf( 8、保存学生资料n); printf( 9、获取帮助信息n); printf( 10、退出系统 n); printf(=n); printf( 请选择: ); void input_student2(void)/ 输入总函数 char end; printf( 请输入学生信息(在最后一个学生信息录入完成后以“/”结束录入):n); for(int i=0;(end=getchar()!=/;i+) input_student1(i); +inumofstu; input_student3(i,inumofstu); for(int j=0;jinumofstu;j+)

17、stuj.average=input_score2(j); void input_student1(int a)/ 输入学生信息 printf( 学号: ); scanf(%d,&stua.number); getchar(); printf( 姓名: ); gets(); printf( 数学成绩: ); scanf(%f,&stua.sco.math); printf( 英语成绩: ); scanf(%f,&stua.sco.english); printf( 计算机成绩:); scanf(%f,&puter); float input_s

18、core2(int a)/ 计算学生平均成绩 return (stua.sco.math+stua.sco.english+puter)/3; void search_student3(int a)/ 按平均分最高查询并输出 int max=0; for(int i=0;ia;i+) if(stumax.averagestui.average) max=i; print_student2(); print_student3(max); void sort_student2(student s,int a)/ 按照数学成绩排序 struct student temp; for(int i=0;i

19、a-1;i+) int max=i; for(int j=i+1;jstumax.sco.math) max=j; if(max!=i) temp=stumax; stumax=stui; stui=temp; print_student2(); for(int k=0;ka;k+) print_student3(k); void sort_student3(student s,int a)/ 按照英语成绩排序 struct student temp; for(int i=0;ia-1;i+) int max=i; for(int j=i+1;jstumax.sco.english) max=

20、j; if(max!=i) temp=stumax; stumax=stui; stui=temp; print_student2(); for(int k=0;ka;k+) print_student3(k); void sort_student4(student s,int a)/ 按照计算机成绩排序 struct student temp; for(int i=0;ia-1;i+) int max=i; for(int j=i+1;puter) max=j; if(max!=i) temp=stumax; stumax=stui; stui=temp; print_student2();

21、 for(int k=0;ka;k+) print_student3(k); void sort_student5(student s,int a)/ 按照平均成绩排序 struct student temp; for(int i=0;ia-1;i+) int max=i; for(int j=i+1;jstumax.average) max=j; if(max!=i) temp=stumax; stumax=stui; stui=temp; print_student2(); for(int k=0;ka;k+) print_student3(k); int search_student2(

22、int a)/ 按照学号查找学生并输出 int num; int c; printf( 请输入要查询的学号:); scanf(%d,&num); for(int i=0;ia;i+) if(num=stui.number) c=i; printf( 此学生的信息是:n); print_student2(); print_student3(c); return c; void choosemenu(void)/ 菜单选择 int i; scanf(%d,&i); switch(i) case 1: input_student2(); printf( 按回车键返回主菜单); getchar(); getchar(); menu(); break; case 2: delete_student1(); printf(

温馨提示

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

评论

0/150

提交评论