学生学籍信息管理系统C++

上传人:s9****2 文档编号:510022476 上传时间:2023-08-31 格式:DOCX 页数:19 大小:25.42KB
返回 下载 相关 举报
学生学籍信息管理系统C++_第1页
第1页 / 共19页
学生学籍信息管理系统C++_第2页
第2页 / 共19页
学生学籍信息管理系统C++_第3页
第3页 / 共19页
学生学籍信息管理系统C++_第4页
第4页 / 共19页
学生学籍信息管理系统C++_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《学生学籍信息管理系统C++》由会员分享,可在线阅读,更多相关《学生学籍信息管理系统C++(19页珍藏版)》请在金锄头文库上搜索。

1、。一、学生学籍信息管理系统设计1、需求分析学生基本信息、学生成绩基本信息要存入文件当中,因而要提供文件的输入输出操作;查询功能要求提供查找和显示操作; 删除功能要求实现删除操作; 排序功能要求实现排序操作;另外还应该提供键盘式选择菜单以实现功能选择。2、总体设计整个系统可以设计为数据录入模块、数据修改模块、数据查询模块、数据删除模块和数据排序模块。成绩包括数学、英语、程序设计基础三门课成绩基本信息存放在一个文件,成绩信息存放在另一个文件。(1)数据录入模块学生基本信息文件可以在磁盘建立,采用写文件方式录入学生基本信息、各门课程的成绩单。综合成绩通过平时成绩和卷面成绩获得计算得到(平时30%,卷

2、面 70%)。(2)数据修改模块采用读文件方式读入学生成绩基本信息,进行修改后, 以写文件方式写回原文件中。修改时, 首先询问要修改信息学生的姓名或学号,然后选择要修改的内容,并输入新的数据进行修改。( 3)查询模块通过菜单选择查询功能,再选择学生基本情况查询和成绩查询,若选择前者,再通过菜单选择学号、 姓名或宿舍号码,然后把查找结果输出。若选择后者, 则先查找学号对应的姓名,再查找该学生的课程情况,并统计科目和实得总学分,输出结果。(3)删除模块通过菜单选择删除学生的功能,输入要删除学生的学号,则分别在两个文件中查找该生信息,删除之。(4)排序模块通过菜单选择排序依据,采用排序算法(冒泡、插

3、入、选择等)对数据进行排序并输出结果,排序标准包括总分、某课成绩、某课卷面成绩等。( 5)追加模块追加学生信息#include#include#include#include#include#define N 80struct StuInfoint stuNo;/学号char name20;/姓名char sex3;/性别int domNum;/宿舍号。1。char tel12;/电话号码;/学生基本信息结构体struct StuGraInfochar courseName10; /课程名称int courseNo; /课程编号int creditHour; /学分struct scorein

4、t stuNo;/学号float triGrade; /平时成绩float examGrade; /卷面成绩float totalGrade; /综合总评成绩score_talbeN; /成绩单基本信息结构体void create();void search();void insert();void repin();void del();void help();void recreate();StuGraInfo p3;StuInfo dN;int stuNum=0;int main( )char ch;docoutsetw(60)endl;coutsetw(60)-欢迎进入系统!-endl;

5、coutsetw(40)1:创建 endlsetw(40)2:查询 endlsetw(40)3:修改 endlsetw(40)4:排序 endlsetw(40)5:删除 endlsetw(40)6:添加 endlsetw(40)7:帮助 endlsetw(40)0:退出 endl;coutsetw(60)-endl;coutch;while(!(ch=0) /*输入不在 0 到 5 之间无效 */coutch;。2。switch(ch)case 1: create();break;case 2: search();break;case 3: insert();break;case 4: rep

6、in();break;case 5: del();break;case 6: recreate(); break;case 7: help();while(ch!=0);return 0;void create() /模块一录入学生信息int i,j,t=0;char m;StuGraInfo s3=数学 ,10,5,英语 ,11,4,程序设计 ,12,4;fstream file;for(i=0;iN;i+)/输入学生基本信息到内存cout 请输入学号 di.stuNo;for(int k=0;k+)for(j=0;ji;j+)if(di.stuNo=dj.stuNo)cout此学号已存在,

7、请重新输入!di.stuNo;break;if(di.stuNo=0)cout学号不能为0,请重新输入!di.stuNo;t=1;break;。3。if(t=0)break;cout 请输入姓名 di.name;cout 请输入性别 di.sex;cout 请输入宿舍号 di.domNum;cout 请输入电话号 di.tel;stuNum+;cout 是否继续?是y,否 nm;if(m!=y)break;/ 输入学生的成绩信息到内存si 中for(i=0;i3;i+)cout 请开始输入 si.courseName 成绩 endl; for(j=0;jstuNum;j+)cout学号 si.

8、 score_talbej.stuNo;coutsi.courseName平时成绩 si. score_talbej. triGrade;coutsi.courseName卷面成绩 si. score_talbej. examGrade;si. score_talbej. totalGrade=si. score_talbej. triGrade*0.3+ si. score_talbej. examGrade*0.7;/ 声明文件流对象ofstream outFile;/ 将基本信息写入文件test。4。outFile.open(D:test.txt,ios:out|ios:binary);

9、if(!outFile) /使用错误流对象输出错误信息cout 文件无法打开 endl;abort();else/ 将内存中从 ai 地址开始的 sizeof(di)的内容写入文件中for(i=0;istuNum;i+)outFile.write(char*)&di,sizeof(StuInfo);outFile.close ();/关闭文件outFile.open(D:data.txt,ios:out|ios:binary);if(!outFile) /使用错误流对象输出错误信息cout 文件无法打开 endl;abort();elsefor(i=0;i3;i+)outFile.write(

10、char*)&si,sizeof(StuGraInfo);outFile.close ();/关闭文件void search()int n,k,i,j,sum=0,t=0;char m,a20;ifstream infile;coutsetw(40)1:查 询 基 本 信 息 endlsetw(40)2:查 询 成 绩endlsetw(40)3:退出 endl;coutsetw(60)-n;while(!(n=1) /*输入不在1 到 3 之间无效 */coutn;infile.open (D:test.txt,ios:in|ios:binary);。5。if(!infile)couttest.txt文件不能打开endl;abort();elsefor( i=0;infile.peek() != EOF;i+) /将文件中的数据读出放在di/ 从文件中读字节到

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

当前位置:首页 > 幼儿/小学教育 > 幼儿教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号