2023年C学生成绩管理系统源代码.pdf

上传人:c****1 文档编号:93175808 上传时间:2023-06-29 格式:PDF 页数:20 大小:366.59KB
返回 下载 相关 举报
2023年C学生成绩管理系统源代码.pdf_第1页
第1页 / 共20页
2023年C学生成绩管理系统源代码.pdf_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《2023年C学生成绩管理系统源代码.pdf》由会员分享,可在线阅读,更多相关《2023年C学生成绩管理系统源代码.pdf(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、#i n c l u d e#include#include#include#include class Person public:char name8;class student:public Person/构建学生类 public:friend void Manage(student stud);friend void Input(student stud);friend void Statistic(student stud);friend void Lookup(student stud);friend void Modify(student stud);friend void Ou

2、tput(student stud);friend void Insert(student stud);friend void Write(student stud,int n);friend int Read(student stud);private:int num;char name8;char class_020;float c_program;float english;float math;float average;int order;stud100;class Manage:public student;void Write(student stud,int n)/向文件中写入

3、数据 fstream myFile;myFile.open(score.txt,ios:out|ios:binary);if(!myFile)coutscore.txt cant open!endl;abort();int count=n;myFilecountendlendl;for(int i=0;i=count;i+)平均分继续录入学生成绩输入判断统计学生数据运行前清屏显示学生成绩班级学号姓名平均分查找学生成绩请选择按 级输出该学生信息学号姓名英语数学平均分运行前清屏查找学生成绩请输入查找学生的姓名查找判断班级输出该学生 生的成绩输入失败信息该学生的信息格式头班级学号姓名英语数学平均分请

4、输入要修改的课程号语言英语数学重新输 myFilestudi.class_0 studi.num studi.name studi.c_program studi.english studi.math studi.averageendl;myFile.close();int Read(student stud)/从文件中读数据 fstream myFile;myFile.open(score.txt,ios:in|ios:binary);if(!myFile)coutscore.txt cant open!count;for(int i=0;istudi.class_0studi.numstu

5、di.namestudi.c_program平均分继续录入学生成绩输入判断统计学生数据运行前清屏显示学生成绩班级学号姓名平均分查找学生成绩请选择按 级输出该学生信息学号姓名英语数学平均分运行前清屏查找学生成绩请输入查找学生的姓名查找判断班级输出该学生 生的成绩输入失败信息该学生的信息格式头班级学号姓名英语数学平均分请输入要修改的课程号语言英语数学重新输studi.englishstudi.math studi.average;myFile.close();return count;void Input(student stud)/-输入学生成绩 system(cls);/*运行前清屏*/int

6、 i=0;int flag;char sign;coutendl 请输入学生成绩 nendl;while(sign!=n&sign!=N)/*判断*/coutstudi.class_0;loop:coutstudi.num;int c=0;while(ci)平均分继续录入学生成绩输入判断统计学生数据运行前清屏显示学生成绩班级学号姓名平均分查找学生成绩请选择按 级输出该学生信息学号姓名英语数学平均分运行前清屏查找学生成绩请输入查找学生的姓名查找判断班级输出该学生 生的成绩输入失败信息该学生的信息格式头班级学号姓名英语数学平均分请输入要修改的课程号语言英语数学重新输 c+;if(studi.num

7、=studi-c.num)cout 你输入的学号已经存在!请重新输入!endl;goto loop;coutstudi.name;do flag=0;coutstudi.c_program;if(studi.c_program100|studi.c_program1)cout 请输入 1-100 之间的数字!n;else flag=1;while(flag=0);do flag=0;coutstudi.english;平均分继续录入学生成绩输入判断统计学生数据运行前清屏显示学生成绩班级学号姓名平均分查找学生成绩请选择按 级输出该学生信息学号姓名英语数学平均分运行前清屏查找学生成绩请输入查找学生

8、的姓名查找判断班级输出该学生 生的成绩输入失败信息该学生的信息格式头班级学号姓名英语数学平均分请输入要修改的课程号语言英语数学重新输 if(studi.english100|studi.english1)cout 请输入 1-100 之间的数字!n;else flag=1;while(flag=0);do flag=0;coutstudi.math;if(studi.math100|studi.math1)cout 请输入 1-100 之间的数字!n;else flag=1;while(flag=0);studi.average=(studi.c_program+studi.english+s

9、tudi.math)/3;cout 平均分:studi.averageendl;coutsign;/*输入判断*/i+;Write(stud,i);平均分继续录入学生成绩输入判断统计学生数据运行前清屏显示学生成绩班级学号姓名平均分查找学生成绩请选择按 级输出该学生信息学号姓名英语数学平均分运行前清屏查找学生成绩请输入查找学生的姓名查找判断班级输出该学生 生的成绩输入失败信息该学生的信息格式头班级学号姓名英语数学平均分请输入要修改的课程号语言英语数学重新输void Statistic(student stud)/-统计学生数据 system(cls);/*运行前清屏*/int n=Read(st

10、ud);coutendl 显示学生成绩 nendl;cout 班级 t 学号 t 姓名 t 平均分 endl;for(int i=0;in;i+)coutstudi.class_0tstudi.numtstudi.namet studi.averageendl;system(pause);void Lookup(student stud)/-查找学生成绩 int p;cout 请选择 1.按学号查找 2.按姓名查找 p;if(p=1)system(cls);/*运行前清屏*/int n=Read(stud);int s;int i=0;平均分继续录入学生成绩输入判断统计学生数据运行前清屏显示学

11、生成绩班级学号姓名平均分查找学生成绩请选择按 级输出该学生信息学号姓名英语数学平均分运行前清屏查找学生成绩请输入查找学生的姓名查找判断班级输出该学生 生的成绩输入失败信息该学生的信息格式头班级学号姓名英语数学平均分请输入要修改的课程号语言英语数学重新输 coutendl 查找学生成绩 nendl;cout 请输入查找学生的学号:s;while(studi.num-s)!=0&in)i+;/*查找判断*/if(i=n)cout 没有该学生的信息!endl;/*输入失败信息*/else cout-endl;cout 班级:studi.class_0endl;/*输出该学生信息*/cout 学号:s

12、tudi.numendl;cout 姓名:studi.nameendl;coutC+:studi.c_programendl;cout 英语:studi.englishendl;cout 数学:studi.mathendl;cout 平均分:studi.averageendl;if(p=2)system(cls);/*运行前清屏*/平均分继续录入学生成绩输入判断统计学生数据运行前清屏显示学生成绩班级学号姓名平均分查找学生成绩请选择按 级输出该学生信息学号姓名英语数学平均分运行前清屏查找学生成绩请输入查找学生的姓名查找判断班级输出该学生 生的成绩输入失败信息该学生的信息格式头班级学号姓名英语数学

13、平均分请输入要修改的课程号语言英语数学重新输 int m=Read(stud);char t;int i=0;coutendl 查找学生成绩 nendl;cout 请输入查找学生的姓名:t;while(strcmp(studi.name-t,studi.name)=0&im)i+;/*查找判断*/cout-endl;cout 班级:studi.class_0endl;/*输出该学生信息*/cout 学号:studi.numendl;cout 姓名:studi.nameendl;coutC+:studi.c_programendl;cout 英语:studi.englishendl;cout 数

14、学:studi.mathendl;cout 平均分:studi.averageendl;void Modify(student stud)/-修改学生成绩 system(cls);/*运行前清屏*/平均分继续录入学生成绩输入判断统计学生数据运行前清屏显示学生成绩班级学号姓名平均分查找学生成绩请选择按 级输出该学生信息学号姓名英语数学平均分运行前清屏查找学生成绩请输入查找学生的姓名查找判断班级输出该学生 生的成绩输入失败信息该学生的信息格式头班级学号姓名英语数学平均分请输入要修改的课程号语言英语数学重新输 int n=Read(stud);int s,a;float q;int i=0;cout

15、endl 修改学生成绩 nendl;cout 输入修改成绩学生的学号:s;while(studi.num-s)!=0&in)i+;/*查找判断*/if(i=n)cout 没有该学生的成绩!endl;/*输入失败信息*/else cout-该学生的信息-nendl;/*格式头*/cout 班 级 t 学 号 t 姓 名tc+t 英语 t 数学 t 平均分 endl;cout-endl;coutstudi.class_0tstudi.numtstudi.nametstudi.c_programtstudi.englishtstudi.mathtstudi.averageendl;cout-endl

16、;平均分继续录入学生成绩输入判断统计学生数据运行前清屏显示学生成绩班级学号姓名平均分查找学生成绩请选择按 级输出该学生信息学号姓名英语数学平均分运行前清屏查找学生成绩请输入查找学生的姓名查找判断班级输出该学生 生的成绩输入失败信息该学生的信息格式头班级学号姓名英语数学平均分请输入要修改的课程号语言英语数学重新输 cout 请输入要修改的课程号 endl;cout1.c 语言 2.英语 3.数学 a;cout 重新输入分数 q;if(a=1)studi.c_program=q;if(a=2)studi.english=q;if(a=3)studi.math=q;studi.average=(st

17、udi.c_program+studi.english+studi.math)/3;cout-该学生的信息-nendl;/*格式头*/cout 班 级 t 学 号 t 姓 名tc+t 英语 t 数学 t 平均分 endl;cout-endl;coutstudi.class_0tstudi.numtstudi.nametstudi.c_programtstudi.englishtstudi.mathtstudi.averageendl;char c;cout 是否保存数据?(y/n)c;if(c!=n&c!=N)平均分继续录入学生成绩输入判断统计学生数据运行前清屏显示学生成绩班级学号姓名平均分查

18、找学生成绩请选择按 级输出该学生信息学号姓名英语数学平均分运行前清屏查找学生成绩请输入查找学生的姓名查找判断班级输出该学生 生的成绩输入失败信息该学生的信息格式头班级学号姓名英语数学平均分请输入要修改的课程号语言英语数学重新输 Write(stud,n);void Insert(student stud)/-增加学生成绩 system(cls);/*运行前清屏*/int n=Read(stud);char s;coutendl*插入学生成绩*nendl;while(s!=n&s!=N)cout 班级:studn.class_0;coutstudn.num;coutstudn.name;cout

19、studn.c_program;coutstudn.english;cout 数学成绩:;平均分继续录入学生成绩输入判断统计学生数据运行前清屏显示学生成绩班级学号姓名平均分查找学生成绩请选择按 级输出该学生信息学号姓名英语数学平均分运行前清屏查找学生成绩请输入查找学生的姓名查找判断班级输出该学生 生的成绩输入失败信息该学生的信息格式头班级学号姓名英语数学平均分请输入要修改的课程号语言英语数学重新输 cinstudn.math;studn.average=(studn.c_program+studn.english+studn.math)/3;cout 平均分 studn.average;n+;

20、cout 插入成功!endl;/*返回成功信息*/cout 是否继续输入(y/n)s;Write(stud,n);void Manage(student stud)/-按平均分对学生成绩记录项进行降序排序 system(cls);/*运行前清屏*/int i,j,k;float s;char t20;coutendl*排列管理成绩*nendl;int n=Read(stud);for(i=0;in-1;i+)/*冒泡法排序*/for(j=0;jn-1-i;j+)平均分继续录入学生成绩输入判断统计学生数据运行前清屏显示学生成绩班级学号姓名平均分查找学生成绩请选择按 级输出该学生信息学号姓名英语数

21、学平均分运行前清屏查找学生成绩请输入查找学生的姓名查找判断班级输出该学生 生的成绩输入失败信息该学生的信息格式头班级学号姓名英语数学平均分请输入要修改的课程号语言英语数学重新输 if(studj.averagestudj+1.average)strcpy(t,studj+1.class_0);strcpy(studj+1.class_0,studj.class_0);strcpy(studj.class_0,t);k=studj+1.num;studj+1.num=studj.num;studj.num=k;strcpy(t,studj+1.name);strcpy(studj+1.name,

22、studj.name);strcpy(studj.name,t);s=studj+1.c_program;studj+1.c_program=studj.c_program;studj.c_program=s;s=studj+1.english;studj+1.english=studj.english;studj.english=s;s=studj+1.math;studj+1.math=studj.math;s=studj+1.average;studj+1.average=studj.average;studj.average=s;平均分继续录入学生成绩输入判断统计学生数据运行前清屏显示

23、学生成绩班级学号姓名平均分查找学生成绩请选择按 级输出该学生信息学号姓名英语数学平均分运行前清屏查找学生成绩请输入查找学生的姓名查找判断班级输出该学生 生的成绩输入失败信息该学生的信息格式头班级学号姓名英语数学平均分请输入要修改的课程号语言英语数学重新输 cout-endl;/*格式头*/cout 班 级 t 学 号 t 姓 名tC+t 英语 t 数学 t 平均分 t 名次 endl;for(i=0;in;i+)/*循环输入*/studi.order=i+1;coutstudi.class_0tstudi.numtstudi.nametstudi.c_programtstudi.english

24、tstudi.mathtstudi.averaget studi.orderendl;Write(stud,n);void Output(student stud)/-显示全部学生成绩 system(cls);/*运行前清屏*/int n=Read(stud);cout*显 示 班 级 学 生 成 绩*nendl;if(!stud)cout 没有记录;平均分继续录入学生成绩输入判断统计学生数据运行前清屏显示学生成绩班级学号姓名平均分查找学生成绩请选择按 级输出该学生信息学号姓名英语数学平均分运行前清屏查找学生成绩请输入查找学生的姓名查找判断班级输出该学生 生的成绩输入失败信息该学生的信息格式头

25、班级学号姓名英语数学平均分请输入要修改的课程号语言英语数学重新输 else cout-endl;/*格式头*/cout 班 级 t 学 号 t 姓 名tc+t 英语 t 数学 t 平均分 endl;for(int i=0;in;i+)/*循环输入*/coutstudi.class_0tstudi.numtstudi.nametstudi.c_programt studi.englisht studi.mathtstudi.averageendl;cout-endl;int menu()/*菜单函数*/char c;do 平均分继续录入学生成绩输入判断统计学生数据运行前清屏显示学生成绩班级学号姓

26、名平均分查找学生成绩请选择按 级输出该学生信息学号姓名英语数学平均分运行前清屏查找学生成绩请输入查找学生的姓名查找判断班级输出该学生 生的成绩输入失败信息该学生的信息格式头班级学号姓名英语数学平均分请输入要修改的课程号语言英语数学重新输 system(cls);/*运行前清屏*/cout*nendl;cout-欢 迎 使 用 学 生 成 绩 管 理 系 统-nendl;cout$endl;cout*【1】输入学生成绩*endl;cout*【2】显示学生成绩*endl;cout*【3】查找学生成绩*endl;cout*【4】修改学生成绩*endl;cout*【5】插入学生成绩*endl;cout

27、*【6】排列管理成绩*endl;cout*【7】显示班级学生成绩*平均分继续录入学生成绩输入判断统计学生数据运行前清屏显示学生成绩班级学号姓名平均分查找学生成绩请选择按 级输出该学生信息学号姓名英语数学平均分运行前清屏查找学生成绩请输入查找学生的姓名查找判断班级输出该学生 生的成绩输入失败信息该学生的信息格式头班级学号姓名英语数学平均分请输入要修改的课程号语言英语数学重新输endl;cout*【0】退出本系统*endl;cout$endl;cout 请你选择(0-7):endl;c=getchar();/*读入选择*/while(c8);return(c-0);/*返回选择*/void mai

28、n()/*主函数*/for(;)switch(menu()/*选择判断*/case 1:Input(stud);/*输入学生成绩*/break;case 2:Statistic(stud);/*输出学生统计数据*/平均分继续录入学生成绩输入判断统计学生数据运行前清屏显示学生成绩班级学号姓名平均分查找学生成绩请选择按 级输出该学生信息学号姓名英语数学平均分运行前清屏查找学生成绩请输入查找学生的姓名查找判断班级输出该学生 生的成绩输入失败信息该学生的信息格式头班级学号姓名英语数学平均分请输入要修改的课程号语言英语数学重新输 break;case 3:Lookup(stud);/*查找学生成绩*/c

29、outttt;system(pause);break;case 4:Modify(stud);/*修改学生成绩*/coutttt;system(pause);break;case 5:Insert(stud);/*增加学生成绩*/coutttt;system(pause);break;case 6:Manage(stud);/*按平均分对成绩记录项进行降序排序*/coutttt;system(pause);break;case 7:平均分继续录入学生成绩输入判断统计学生数据运行前清屏显示学生成绩班级学号姓名平均分查找学生成绩请选择按 级输出该学生信息学号姓名英语数学平均分运行前清屏查找学生成绩

30、请输入查找学生的姓名查找判断班级输出该学生 生的成绩输入失败信息该学生的信息格式头班级学号姓名英语数学平均分请输入要修改的课程号语言英语数学重新输 Output(stud);/*显示全部学生成绩*/coutttt;system(pause);break;case 0:coutendl=感谢您使用学生成绩管理系统=nendl;/*结束程序*/coutttt;system(pause);exit(0);平均分继续录入学生成绩输入判断统计学生数据运行前清屏显示学生成绩班级学号姓名平均分查找学生成绩请选择按 级输出该学生信息学号姓名英语数学平均分运行前清屏查找学生成绩请输入查找学生的姓名查找判断班级输出该学生 生的成绩输入失败信息该学生的信息格式头班级学号姓名英语数学平均分请输入要修改的课程号语言英语数学重新输

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁