学生学籍信息管理系统C

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学生学籍信息管理系统

C

集团标准化工作小组 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]

一、学生学籍信息管理系统设计

1、需求分析

学生基本信息、学生成绩基本信息要存入文件当中,因而要提供文件的输入输出操作;查询功能要求提供查找和显示操作;删除功能要求实现删除操作;排序功能要求实现排序操作;另外还应该提供键盘式选择菜单以实现功能选择。

2、总体设计

整个系统可以设计为数据录入模块、数据修改模块、数据查询模块、数据删除模块和数据排序模块。

成绩包括数学、英语、程序设计基础三门课成绩

基本信息存放在一个文件,成绩信息存放在另一个文件。

(1)数据录入模块

学生基本信息文件可以在磁盘建立,采用写文件方式录入学生基本信息、各门课程的成绩单。综合成绩通过平时成绩和卷面成绩获得计算得到(平时30%,卷面70%)。(2)数据修改模块

采用读文件方式读入学生成绩基本信息,进行修改后,以写文件方式写回原文件中。修改时,首先询问要修改信息学生的姓名或学号,然后选择要修改的内容,并输入新的数据进行修改。

(3)查询模块

通过菜单选择查询功能,再选择学生基本情况查询和成绩查询,若选择前者,再通过菜单选择学号、姓名或宿舍号码,然后把查找结果输出。若选择后者,则先查找学号对应的姓名,再查找该学生的课程情况,并统计科目和实得总学分,输出结果。

(3)删除模块

通过菜单选择删除学生的功能,输入要删除学生的学号,则分别在两个文件中查找该生信息,删除之。

(4)排序模块

通过菜单选择排序依据,采用排序算法(冒泡、插入、选择等)对数据进行排序并输出结果,排序标准包括总分、某课成绩、某课卷面成绩等。

(5)追加模块

追加学生信息

#include

#include

#include

#include

#include

#defineN80

structStuInfo

{

intstuNo;//学号

charname[20];//姓名

charsex[3];//性别intdomNum;//宿舍号

chartel[12];//电话号码

};//学生基本信息结构体structStuGraInfo{ charcourseName[10];//课程名称intcourseNo;//课程编号intcreditHour;//学分structscore

{

intstuNo;//学号

floattriGrade;//平时成绩floatexamGrade;//卷面成绩floattotalGrade;//综合总评成绩}score_talbe[N];

};//成绩单基本信息结构体voidcreate();

voidsearch();

voidinsert();

voidrepin();

voiddel();

voidhelp();

voidrecreate();

StuGraInfop[3];

StuInfod[N];

intstuNum=0;

intmain()

{

charch;

do{

cout<

cout<

cout<

"<

cout<

cout<<"请选择(0~7):";

cin>>ch;

while(!(ch<='7'&&ch>='0'))/*输入不在0到5之间无效*/

{

cout<<"数据输入错误,请重新选择(0~7):";

cin>>ch;

}

switch(ch)

{

case'1':create();break;

case'2':search();break;

case'3':insert();break;

case'4':repin();break;

case'5':del();break;

case'6':recreate();break;

case'7':help();

}

}while(ch!='0');

return0;

}

voidcreate()

{//模块一录入学生信息

inti,j,t=0;

charm;

StuGraInfos[3]={{"数学",10,5},{"英语",11,4},{"程序设计",12,4}}; fstreamfile;

for(i=0;i

{

cout<<"请输入学号"<

cin>>d[i].stuNo;

for(intk=0;;k++)

{

for(j=0;j

if(d[i].stuNo==d[j].stuNo)

{

cout<<"此学号已存在,请重新输入!"<

t=1;

cin>>d[i].stuNo;

break;

相关文档
最新文档