C++课程设计学生成绩管理系统 第3页
个学生链表中都没有则返回0;(其他几个find函数功能也类似);
◆void Delete(),其功能是删除某学生的信息。提示用户输入要删除的学生的信息,再执行int Find(char *ID,STUDENT **p1,STUDENT **p2),若找到就删除结点,并提示用户:“正确删除!”,并把删除结点的前后两个结点连接起来;没找到就输出:“抱歉,指定的学生没有找到!”;
◆void Modify(),其功能是修改某学生的信息。提示用户输入要修改的学生的信息,再执行int Find(char *ID,STUDENT **p1,STUDENT **p2),或int Findtwo(char *nterm,char*NCLASS,STUDENT **p1,STUDENT **p2)
若找到就先执行OutputT()和Output()输出学生的原信息,再执行Input()函数,提示用户输入学生的新信息;再输出“好的,修改完成了!”;若没找到则输出“抱歉,指定的学生没有找到!”;
◆void Query() ,其功能是查找某一个学生。提示用户输入要查找的学生的信息,再执行int Find(char *ID,STUDENT **p1,STUDENT **p2)或int Findtwo(char *nterm,char*NCLASS,STUDENT **p1,STUDENT **p2) ,若找到就执行OutputT()和Output()输出学生的信息,若没找到则输出:“抱歉,指定的学生没有找到!”;
◆void Print(),其功能是输出同一个班所有学生的所有信息。提示用户输入要查找的信息:term(学期)、class(班级)、然后再做循环 for(p1=SL->next;Findtwo(nterm,NCLASS,&p1,&p2);p1=p1->next);若找到则执行Output()和>OutputT();依次输出同一个班所有学生的所有信息;
◆void Fail() ,其功能是按班查找不及格学生的名单。提示用户输入要查找的信息:term(学期)、class(班级)、然后再做循环for(p1=SL->next;Findtwo(nterm,NCLASS,&p1,&p2);p1=p1->next),设置条件语句 if(p1->english<60||p1->math<60||p1->c<60||p1->wl<60),把同一个班,满足任意一科不及格的学生的信息依次打印出来;
◆void Printtwo(),其功能是打印同班所有人的名单。提示用户输入要输入查找的信息是:班级class,然后再做循环for(p1=SL->next;Findthree(NCLASS,&p1,&p2);p1=p1->next),找到在一个班的所有的学生,执行OutputTtwo()和Outputtwo(),依次打印他们的名单;
◆void ValueS2ToS1(STUDENT &s1,STUDENT &s2),它用在AverSort()中,功能是把s2的所有数据成员(num(学号)、 name(姓名)、 sex (性别)、 cname(班级)、english(英语)math(数学)、 c(c++)、 wl(物理)的值赋给s1;
◆void AverSort(),其功能是以平均分排序。创建两个学生类的指针变量,一个指向头结点,一个指向头结点的下一个结点,从学生链表的头结点开始依次把前后两个学生的平均分进行比较,若前者小于后者,就创建
一个学生类的对象t,再执行三次void ValueS2ToS1(STUDENT &s1,STUDENT &s2),交换前后两者的信息,最终分数高的排在前面,并对结果进行打印输出;
◆void Print1(),其功能是从头结点开始依次打印出所有学生的所有信息;
◆void Save(),其功能是学生数据存盘。创建一个输出流对象,同时创建一个student.txt的文件,遍历学生链表执行Output(f),即将此时学生链表中的所有信息写入到student.txt的文件中;
◆void Load(), 其功能是装入学生数据。执行clear(),清空学生链表。创建一个输入流对象,同时打开student.txt,遍历学生链表执行Input(f), 将文件中的所有信息读到学生链表中。
用户界面设计程序如下所示,其运行界面图如图3—1所示若图片无法显示请联系QQ752018766
********************************
* ┏━━━━━━━━┓ *
*★★ ┃学生成绩管理系统┃★★ *
* ┗━━━━━━━━┛ *
*☆ 版主: 计科0502 马耀兰☆ *
* *
********************************
◆请选择◆→
┏━━━━━━━━━━━━━━━━━━━━┓
§1.—按班插入一个学生的某学期的成绩 §
§2.—按学期、按班删除学生的信息 §
§3.—按班修改一个学生的某学期的成绩 §
§4.—按学期、按班、按姓名查询某学生的成绩 §
§5.—按学期、按班、按学号查询某学生的成绩 §
§6.—输出某班某学期所有学生的成绩 §
§7.—按平均分排序 §
§8.—打印某班级的学生的名单 §
§9.—打印所有学生的信息 §
§K.—按班查找不及格的学生的信息 §
§S-数据存盘 §
§L-数据装入 §
§Q-退出 §
┗━━━━━━━━━━━━━━━━━━━━┛
请选择(1-9,KSLQ):
★ ━━━━━━━★
该程序的系统功能模块图如图4—1所示若图片无法显示请联系QQ752018766
该程序设计的类图如下图5—1所示
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>