版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学生成绩管理系统要求:1. 学生的信息用结构体来表示 struct stuintsno;/学号charname8;/姓名charsex3;/性别charinclass8;/班级floatmath;/数学成绩floatEnglish;/英语成绩floatcomputer;/计算机成绩2. 能够按学号、按性别、按班级查询。查询方式可以自己补充。3. 能够统计每个学生的平均成绩、总成绩、并可以按平均成绩和总成绩进行排 序(排序的方法很多, 大家应该上网多查查排序的方法, 并比较各个排序方式的 好坏),并在屏幕上打印排序结果。4. 能够修改、删除、添加学生的信息。5. 系统的各个功能模块要求用函数的形
2、式实现。6. 在主函数里通过菜单来调用各个函数。7. 用链表或数组来存储班级学生。8. 学生的信息能够保存在文件里(思考用二进制文件和文本文件的异同) 。 如果用文本文件存储,则文件格式如下:学号 姓名 性别 班级 数学 英语 计算机0601 王鹏 男 一班 68.5 58 960602 李云 女 二班 68.5 88 980603 赵亚男 女 一班 58.5 48 960604 刘飞 男 三班 68.5 78 589. 能够对文件进行读写、修改、删除。#include#include#include#include#include FILE *fp;struct studentintsno;
3、/学号charname8;/姓名charsex4;/性别charClass4;/班级floatmath;/数学成绩floatEnglish;/英语成绩floatcomputer;/计算机成绩floatzong;/总成绩floatping;/平均成绩stu100,change;void print()/定义界面函数cout*endl;coutsetw(17)*1.创建学生成绩文件setw(5)*endl;coutsetw(17)*2.增加学生信息setw(5)*endl;coutsetw(17)*3.删除学生信息setw(5)*endl;coutsetw(17)*4.修改学生信息setw(5)*
4、endl;coutsetw(17)*5.学生成绩查询信息setw(5)*endl;coutsetw(17)*6.学生成绩排序浏览setw(5)*endl;coutsetw(17)*0.退出系统 setw(13)*endl;coutsetw(15)* 欢进迎入学生成绩管理系统 setw(5)*endl;cout*endl;cout*endl;void cjxscj()/定义 创建学生成绩文件 函数int i;char a;for(i=0;i100;i+)/输入学生信息cout 请输入第 i+1 个学生的信息: endl; coutstui.sno;;coutstui.s
5、ex;coutstui.Class;coutstui.math;coutstui.English;puter; stui.zong=stui.math+stui.English+puter; stui.ping=stui.zong/3;cout 继续输入请按 endl;cout 退出输入,返回主菜单请按 #a;if(a=#)i=100;fp=fopen(fh.dat,wb);/ 打开 fh.dat 文件for(i=0;i100;i+) / 把结构体的信息存入 fh.dat 文件 if(fwrite(&stui,sizeof(student),1,fp)!
6、=1)cout 文件写入出错 endl; fclose(fp); / 关闭文件 print();/打印出主菜单 void zjxsxx() /定义 增加学生信息 函数 int i;char y;if(fp=fopen(fh.dat,rb+)=NULL)/打开 fh.dat 文件cout 不能打开此文件 endl;exit(0);for(i=0;i=0;i-)if(stui.math=0)break;cout 请输入需要添加的学生信息 0) / 输入需要添加的学生信息 coutstui.sno;;coutstui.sex;coutstui.Class;coutstui.
7、math;coutstui.English;puter; stui.zong=stui.math+stui.English+puter; stui.ping=stui.zong/3;cout 继续添加请按 endl;cout 返回主菜单请按 #y;if(y=#)/控制使其停止输入i=0;i-;rewind(fp);/ 移动文件内部位置指针到文件首for(i=0;i100;i+)/ 把结构体的信息存入 fh.dat 文件fwrite(&stui,sizeof(student),1,fp);fclose(fp);/关闭文件print();/打印出主菜单voi
8、d scxsxx()/定义删除学生信息 函数int i,p,k,j;char w;char x8;if(fp=fopen(fh.dat,rb+)=NULL)/ 打开 fh.dat 文件cout 不能打开此文件 endl;exit(0);for(i=0;i100;i+)/把文件中数据付给结构体fread(&stui,sizeof(student),1,fp);loop:cout 请输入你要删除学生信息的姓名或学号 endl;cout 输入姓名请按 1endl;cout 输入学号请按 2p;if(p=1)coutx;elsecoutk;i=0,j=0;while(i100)if(strcmp(x,
9、)=0|k=stui.sno)/ 找出要删除的学生信息,将其输出cout 学生信息情况: endl;cout学号t姓名t性别t班级 t 数学 t 英语 t 计算机 t 总成绩 t 平均成绩 ; t stui.sextstui.Classt stui.mathtstui.Englisht putertstui.zongt stui.pingendl;cout 确定删除请按 #endl;cout 取消删除请按 w;if(w=#)/控制是否删除i=100;i+;j+;if(i=100)/ 控制是否找到要删除学生的信
10、息cout 没有找到你要删除的学生信息 endl;elsefor(i=j-1;i100;i+)/ 从要删除的学生信息开始,将后一个结构体的stui=stui+1; / 信息赋值给前一个cout 继续删除请按 #w; if(w=#)goto loop; rewind(fp); for(i=0;i100;i+)cout 返回主菜单请按 endl;/控制是否继续删除/移动文件内部位置指针到文件首/ 把结构体的信息存入 fh.dat 文件fwrite(&stui,sizeof(student),1,fp);fclose(fp);/关闭文件print();/ 打印出主菜单void xgxsxx()/定义
11、 修改学生信息 函数int i,p,k,j=0;char u,v8;if(fp=fopen(fh.dat,rb+)=NULL)/打开 fh.dat 文件cout 不能打开此文件 endl;exit(0);for(i=0;i100;i+)/把文件中数据付给结构体fread(&stui,sizeof(student),1,fp);hoop:cout 请输入你要修改学生信息的姓名或学号 endl; cout 输入姓名请按 1endl;cout 输入学号请按 2p;/通过输入姓名查找要修改的学生信息/通过输入学号查找要修改的学生信息if(p=1)coutv;elsecoutk;i=0;while(i1
12、00)if(strcmp(v,)=0|k=stui.sno)/ 找出要修改的学生信息,将其输出coutendl 学生信息情况 :endl;cout学号t姓名t性另IJ t班级t数学t英语t计算机 t 总成绩 t 平均成绩 ; t stui.sextstui.Classt stui.mathtstui.Englisht putertstui.zongt stui.pingendl;i=100;i+;j+;if(i=100)/ 控制是否找到要修改学生的信息cout 没有找到你要修改的学生的信息 endl;else
13、cout 下面请开始修改 endl;/开始进行修改coutchange.sno;;coutchange.sex;coutchange.Class;coutchange.math;coutchange.English;puter;change.zong=change.math+change.English+puter; change.ping=change.zong/3;stuj-1=change;cout 继续修改请按 endl;cout 返回主菜单请按 #u; if(u=)goto hoop; rewind(fp)
14、; for(i=0;i100;i+)/控制是否继续修改/移动文件内部位置指针到文件首/ 把结构体的信息存入 fh.dat 文件fwrite(&stui,sizeof(student),1,fp);fclose(fp); print();void cxxsxx()/关闭文件/打印出主菜单/ 定义查询学生信息 函数int b,d,f; bool tf;char z8,x4,g4;if(fp=fopen(fh.dat,rb)=NULL)/打开 fh.dat 文件cout 不能打开该文件 endl;exit(0);cout 选择 1 姓名查询 endl;cout 选择 2 学号查询 endl;cout
15、 选择 3 性别查询 endl;cout 选择 4 班级查询 endl;cout 选择 5 退出查询系统,返回主菜单 d;for(b=0;b100;b+)/把文件中数据付给结构体fread(&stub,sizeof(student),1,fp);while(d5)tf=false;if(d=1)/按姓名查询coutz;b=0;while(b100)if(strcmp(z,)=0)/找到要查询学生的信息,将其输出cout学号t姓名t性另IJ t班级 t 数学 t 英语 t计算机t总成绩t平均成绩”;tstub.sextstub
16、.Clasststub.mathtstub.Eputertstub.zongtstub.ping;tf=true;b+;if(tf=false)/控制是否找到要查询的学生信息cout 没有你要查询的信息 endl;else if(d=2)/ 按学号查询coutf;b=0;while(b100)if(f=stub.sno) /找到要查询学生的信息,将其输出cout学号%姓名%性另IJ t班级 t 数学 t 英语 t 计算机 t 总成绩 t 平均成绩 ; t stub.sextstub.Classt stub.mat
17、htstub.Englisht putertstub.zongt stub.ping;b=100;b+;if(b=100)/ 控制是否找到要查询的学生信息cout 没有你要查询的信息 endl;else if(d=3)/按性另查询coutx;b=0;while(b100)if(strcmp(x,stub.sex)=0)/找到要查询学生的信息,将其输出cout学号t姓名t性另IJ t班级 t 数学 t 英语 t计算机 t 总成绩 t 平均成绩 ;t stub.sextstub.Classt stub.mathtstub.Engl
18、isht putertstub.zongt stub.ping;tf=true;b+;if(tf=false)/ 控制是否找到要查询的学生信息cout 没有你要查询的信息 endl;else/ 按班级查询coutg;b=0;while(b100)if(strcmp(g,stub.Class)=0) / 找到要查询学生的信息,将其输出cout学号t姓名t性另IJ t班级 t 数学 t 英语 t计算机 t 总成绩 t 平均成绩 ;t stub.sextstub.Classt stub.mathtstub.Englisht stub
19、.computertstub.zongt stub.ping;tf=true;b+;if(tf=false) / 控制是否找到要查询的学生信息cout 没有你要查询的信息 endl;coutendl;cout 选择 1 姓名查询 endl;cout 选择 2 学号查询 endl;cout 选择 3 性别查询 endl;cout 选择 4 班级查询 endl;cout 选择 5 退出查询系统,返回主菜单 d;/ 控制 while 循环语句print();/打印出主菜单void px()/定义排序 函数int i,j;if(fp=fopen(fh.dat,r)=NULL)/ 打开 fh.dat 文件cout 不能打开此文件 endl;exit(0);for(i=0;i100;i+)/把文件中数据付给结构体f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 课题申报参考:紧密型城市医疗集团内患者就医行为与卫生资源配置的协同性研究
- 2025年专题讲座心得体会样本(3篇)
- 2025年度木材行业木方材料进出口采购合同范本4篇
- 二零二五版现代农业园区麻石灌溉系统合同4篇
- 二零二五年度知识产权许可使用合同争议处理规则范本4篇
- 二零二五年度城市公交公司驾驶员服务合同标准模板3篇
- 2025年公共安全项目投标失败应急响应与合同条款合同3篇
- 二零二五年度出差安全教育与安全保障合作协议4篇
- 二零二五年度出境游领队导游服务合同4篇
- 二零二五版夹板行业供应链管理合作协议4篇
- 2025贵州贵阳市属事业单位招聘笔试和高频重点提升(共500题)附带答案详解
- 2024年住院医师规范化培训师资培训理论考试试题
- 期末综合测试卷(试题)-2024-2025学年五年级上册数学人教版
- 2024年广东省公务员录用考试《行测》试题及答案解析
- 结构力学本构模型:断裂力学模型:断裂力学实验技术教程
- 无人机技术与遥感
- 中医药适宜培训-刮痧疗法教学课件
- 免疫组化he染色fishish
- 新东方四级词汇-正序版
- 借名购车位协议书借名购车位协议书模板(五篇)
- 同步轮尺寸参数表详表参考范本
评论
0/150
提交评论