学生信息管理系统82862_第1页
学生信息管理系统82862_第2页
学生信息管理系统82862_第3页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、高级语言程序设计课程设计报告学生信息管理系统的设计与实现学 号:姓 名:彭方林专业班级:计算机科学与技术 1401日 期:2015年11月11日信息科学与工程系1、课程设计目的 .22、课程设计内容 .23、学生信息管理系统的实现 .84、系统测试及系统运行效果 .95、系统设计遇到的问题及解决方案 136、总结与收获 13附录源程序代码 157 、课程设计成绩 351课程设计的目的1.1课程设计题目学生信息管理系统的设计与实现2.1课程设计目的本课程设计是在学习C+基本理论之后的实践教学环节。该实践教学是软件设计的综合 训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。

2、要求学生 在设计中逐步提高程序设计能力,培养科学的软件工作方法。学生通过课程设计在下述各方 面得到锻炼: 能根据实际问题的具体情况,结合 C+啲基本理论和基本技巧,正确分析问题,并 能设计出解决问题的有效算法与程序。 .提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法和程序的正确 性,学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改,进一步提高程序设 计水平。2课程设计的内容2.1题目分析设计一个学生信息管理系统,其中包括:学生基本信息:学号、姓名、性别、成绩(语文、离散数学、英语、毛概、电路基础、 概率论、体育)。因为课程设计时间为大二上学期,所以成绩采用的是这学期本专

3、业的课表。学生信息管理系统功能如表1-1所示,具体功能如下:1. 系统菜单显示2. 学生信息录入功能3. 学生信息浏览功能4. 查询: .学号查询 .姓名查询5. 学生信息的删除与修改6. 系统中学生信息数量统计7. 学生信息排序(冒泡排序)表1-1程序功能学号查询姓名查询添加学生信息删除学生信息修改学生信息查看已添加学生信息统计学生信息数量学生信息排序2.2系统程序模块设计菜单模块绘制菜单(包含学号查询、姓名查询、添加学生信息、删除学生信息、修改学生信息、 查看已存档学生信息、统计学生信息数量、学生信息排序)。根据用户输入的值调用对应的模块函数实现该项功能信息录入模块查找系统中是否已存在该学

4、号对应的信息if (存在)提示信息已存在else向文件中写入各项信息信息读出模块判断系统中是否存在学生信息if(不存在)提示信息不存在else在屏幕上显示该学号对应的信息信息查询模块if(学号查询)判断文件是否为空查找系统中是否有该学号信息if(存在)输出学生信息else提示学生信息不存在if(姓名查询)判断文件是否为空查找系统中是否有该姓名对应信息if(存在)输出学生信息else提示信息不存在225创建系统文件夹模块判断系统文件夹是否存在if(不存在)创建“ 学生信息”文件夹判断系统文件是否存在if(不存在)创建“学生信息 学生信息.txt ”文件226删除学生信息模块查看系统文件是否为空i

5、f(文件为空)提示学生信息不存在else查找系统中是否有该学号信息if(存在)删除该学生信息else提示该学生信息不存在修改学生信息模块查看系统中是否存在该学生信息if( 存在)删除该学生信息添加该学生新信息修改成功228统计学生信息数量模块if(文件存在)读取学号,每读取到一个学号,数量 +1返回信息数量的值学生信息排序模块if(打开成功)读取全部信息存到结构体数组,按照冒泡排序将信息按学号升序排序 之后将数组内容依次存入文件,并覆盖旧文件。模块图各模块之间结构图如图2-1所示学姓号名查查询询浏统学询览计生查图2-1模块图2.3系统主要函数学生信息管理采用结构化程序设计思想,除主函数外共设计

6、了 8个函数,函数原型及功能说明如图2-2所示:图2-2系统主要函数函数原型及功能说明字号函轅原型功能说明1void input_data(int ra, int data_niutiber)学生信息录入2void output_data (int daLtaL_imnib合r)学生倍息输出3void student_number_find(string number.findj. int data_nuniber)学号查按4void studeiit_nanie_find(string name_finds int data_number)姓名査找5void folder 0创建系统立件6i

7、nt student_data_delete (string nw0ber_delete3 int data_nuuiber)唧除学生信息了iut student_data.number()统卄学生信息数量9void student_data_iaodify ()修改学生暗息9void student_data_sorT (int data_nuniber)学生倍息排字f冒泡)2.4程序流程图否显示排序后的信息11结束图2-3程序流程图3学生信息管理系统的实现3.1学号查询程序每次从文件中读取出一位学生的所有信息,将读取到的学号与用户所输入的学号进行比较。如果两个学号相同,表示已找到该学号对应

8、的信息,显示出该学生的全部信息,查 找结束。若两个学号不同,则重新读取下一位学生的信息进行比较,直到文件读取到尾部, 显示未找到该学号对应的信息。3.2姓名查询程序每次从文件中读取出一位学生的所有信息,将读取到的姓名与用户所输入的姓名进 行比较。如果两个姓名相同,表示已找到该姓名对应的信息,显示出该学生的全部信息,查 找结束。若两个姓名不同,则重新读取下一位学生的信息进行比较,直到文件读取到尾部, 显示未找到该姓名对应的信息。3.3添加学生信息根据用户输入的学生信息数量将下列过程循环对应的次数:新建一个标识变量find的值为-1,代表文件中不存在该学生信息。用户输入学生信息 后打开文件读取每个

9、学生信息的信息,比较两个信息的学号是否相同。如果相同则修改find 的值为0,代表文件中已存在该学生的信息,同时提示“此学生信息已存在,请进入菜单选 择修改信息或者删除信息之后再添加!”检查完学生信息是否重复输入后,若 find的值为 -1,则将该学生信息存入到文件中,若 find值为0,则跳过此步骤。3.4删除学生信息新建一个标识变量find的值为-1,代表文件中不存在该学生信息。用户输入学生信息 后打开文件读取每个学生信息的信息,比较两个信息的学号是否相同。如果相同则修改find 的值为0,代表文件中存在该学生的信息。若find的值为0则执行删除功能:新建一个文件“学生信息1.txt ”作

10、为临时文件,用来存储删除后的信息。读取一位学生的全部信息, 如果该信息的学号和想要删除的学号不同,则将该学生信息存到“学生信息1.txt ”中。若两个学号相同,则跳过该学号,不将之存入临时文件中。文件读取到末尾后,删除“学生信 息.txt ”,将“学生信息1.txt重命名为“学生信息.txt ”,则需要删除的信息已从文件中删 除。3.5修改学生信息修改学生信息的功能为删除和添加功能的结合,用户输入需要修改的学生学号后,系 统会先调用删除学生信息功能删除该学号对应的信息,之后再调用添加学生信息功能添加新 的学生信息,修改完毕。3.6查看已添加学生信息该功能是显示文件中所有的学生信息, 根据学生信

11、息数量确定循环次数,依次输出每位 学生的信息3.7统计学生信息数量先新建一个变量d的值为0,代表学生信息数量。While循环的条件为(能读取到学号), 当条件成立时将文件位置指针从当前学号尾部移动到学号之前,否则信息会读取混乱,并将d的值加1。当循环条件不成立时,返回 d (学生信息数量)的值。每次需要用到学生信息 数量的值时都会调用该函数,求出最新的信息数量。3.8学生信息排序排序功能使用的是冒泡排序,将文件中的信息读取到数组中,通过冒泡排序将信息按照 升序排序后存到文件中,再次显示的学生信息就是排序后的信息。4系统测试及系统运行效果4.1系统主界面进入系统后将弹出菜单界面。系统主界面运行效

12、果如图4-1所示图4-1系统主界面4.2添加学生信息首先输入添加信息的数量,然后输入第一位学生的信息,提示“添加信息成功”后再依 次输入其余的学生的信息。添加学生信息的运行效果如图4-2所示丽加学生信息请输入所添加学生信息的数量3二1=1英语,毛概,电路基H C :w i nd owssysTem 3 2c m d,exe请輸入学生的学号.姓名.性别.成绩(成绩顺序依次为语文,离散数学, 础,概率论,体育口若该科成绩无请输入盯(空格键分隔) 11603010122 洪学辰男 S3 59 9T 48 75 8添加信息成功请输入学生的学号,姓名,性别,成绩(成绩顺序依次为语文,离散数学, 础,概率

13、论,体育匚若该科成绩无,请输入盯(空格键分隔IHIGOSOIOHI 彭方林男 98 95 85 H3 75 9斗 89诵加信息成功请输入学生的学号,姓名,性别,成绩(成绩顺序依次为语文,离散数学, 础,概率论,体育。若该科成绩无*谙输入的(空格键分隔H1IM1608910112 李明葭女 96 98 97 94 95 33 97英语英语,毛概,电路基毛概,电路基按癖重新添加信息!图4-2添加学生信息4.3学号查询输入想要查询的学号,如果存在该学生,则显示学生信息,不存在就提示该学生信息不存在。学号查询的运行效果如图4-3、4-4所示图4-3学号查询(不存在)图4-4学号查询(存在)4.4姓名查

14、询输入想要查询的姓名,如果存在该学生,则显示学生信息,不存在就提示该学生信息不 存在。姓名查询的运行效果如图4-5、4-6所示r33 C:win dostem 3Ac rnd -exe姓名查询请输入学生姓名:匚侯浩然卜未找到该姓名对应的信息?按呆键返回菜单.按*1键重新杳找!图4-5姓名查询(不存在)El C :wi n dows&ystem 3 2c m d.exe,=回姓名査询请输入学生姓名:李明霞该学生信息为,学号:14108G1G112姓名:李明霞 性别:女 语文:9G离散数学:羽英语9毛概:汕电路基础:95概率论:98体育:9了按背键返回菜单,按#键重新查找丫图4-6姓名查询(存在)

15、4.5显示全部学生信息显示学生信息的运行效果如图4-7所示函 C wi n dowssystem 3 2c m d exe系统所有学生信总为-41*4160801 0122軽名啾学辰 性别:男 语文:卿离散数学:的英语:59毛概9电路基础汕一 名概率论:閒体育:翳学号姓名;彭方林 性别:男 语文;9警离散数学:盹英语:85毛概:隔电路基础:7 5概率论:日斗体育:89学号;141&08019112姓名:李明霞 性别:女 语文离散数学:鹽英语:穌毛概:9斗电路基础:95概率论:鹽体育了按吠键返回菜单!图4-7显示全部学生信息4.6统计学生信息数量显示学生信息的运行效果如图4-8所示H C :w

16、i n d owssystem 3 2c m d,exe|学生信息数目:已添加的学生信息数目为:3 按狭键返回菜单?图4-8统计学生信息数量4.7学生信息排序学生信息排序采用的冒泡排序,排序成功后会提示返回菜单或者查看排序后的信息。学生信息排序的运行效果如图4-9、4-10所示S C:windowssystem32cnnd.exe回 U2W排序成功!b按妹键返回菜单,按*键显示排序后的信息!图4-9学生信息排序跑 C:windowssystem32crnd.exe(=11系统所有学生信息为:学号= 141608010112姓名:李明霞性别:女 5概率论:98体育:站学号/p>

17、2姓名:洪学辰性别:男 呂慨率论:了5体育:68学号:1斗1 6080101中姓老;彭方林 性别:男 5概率论:9坤体育:89按其键返回菜单*语文总6离散数学a英语:9了毛概创电路基础:9 语文:9&离散数学;朋英语159毛概:9了电路基础:4 语文:犯离散数学:盹英语:;85毛概:48电路基础:7图4-10显示排序后信息4.8修改学生信息输入需要修改的学号,如果不存在,会提示该学生信息不存在。否则删除旧信息,添加 该学生新的信息。修改学生信息的运行效果如图4-11所示H C :w i nd owssysTem 5 2cm d exe條改学生件g . 售输入该学星曲学号,系统会修改该学生所有信

18、息!删除信息成功请输入新的的学号姓名性别成绩(成绩顺序依次为语文,离散数学,英语,毛概,电路基础,概率论”体育口若该科成绩无*请输入叭)1空格键分隔!),系统会自动修改该学生信 I-息,!杆子 男 98 97 96 98 S4 帕 79修改信息成功按賓键返回菜单按#键再次修改f图4-11修改学生信息4.9删除学生信息输入学号,如果学号不是12位,提示学号错误,否则如果存在该学号信息,删除该学 生信息。删除学生信息的运行效果如图4-12所示删除学生信息:*请输入该学生的学号,系统会删除该学生所有信息!-i4uoseiei22删除信息成功按買键返回菜单,按悴键再次删除!H C :w i nd ow

19、ssysTe m 3 2c md exe图4-12删除学生信息删除后的信息如图4-13所示3S C :w i n d owssystem 3 2c m d,exe系统所有学生信息为:学号:mi60G1G112姓名:李明霞 性别:女 语文:沖离散数学上&英语:跖毛概:94电路基础:9 5概率论:98体育:汨学号:姓名:杆子 性别:男 语文:98离散数学:9 了英语:眺毛概:騎电路基础:汕 槪率论:盹体育:为按疏键返回菜单!图4-13删除后的信息5系统设计遇到的问题及解决方案问题1: C+的文件读写不会使用。百度查找C+文件读写的方法,通过不同的帖子学习有关文件操作的各种用法和小技巧。 使用fst

20、ream头文件,定义fin文件输入流,fout文件输出流。通过使用文件流的方式读 取或者写入文件。问题2 :代码没有报错,但是运行结果出错。将出错的函数实现代码注释掉,改成在屏幕上显示一句话。根据这句话是否显示判断程 序是执行到什么地方出错的,再根据具体的情况修改代码直到正确。问题3 :程序运行后闪退,不提示任何错误。使用vs的调试功能,找到程序是执行到那个地方停止运行的,修改此处的代码直到程 序运行无误。问题4:不知道怎样删除文件中的指定数据,无法达到删除学生信息的功能。读取全部信息将不需要删除的信息存到临时的文件中,再将旧文件删除,修改临时文件为旧文件名,则文件中需要删除的信息已经删除。6

21、总结与收获最初想做这个程序的起因是暑假打工夜班太无聊,所以萌生了自己做一个有点实用功能的小程序。因为在大一的时候看了一点 C+啲书籍对C+面向过程的部分还算比较了解,而 且一直觉得C+的语法比C简单,所以本程序的代码都是用 C+写的。打工的时候没带电脑, 当时在网上找到一个手机上能用的编程软件,名字是 c4droid功能非常强大,和VS2013 一 样可以显示出代码中的常见语法错误。最初构想的程序没有那么多的功能, 在实际编写的时候感觉缺了一些功能不够完善再慢慢添加。 在编写的时候遇到过很多问题,主要是C语言的 知识掌握的还不够精通,像结构体和为文件的操作都是当时现学的,而且C和C+的语法出入

22、比较大,当时都是需要使用某种功能的时候在网上查找帖子学习下是怎么用的然后根据自 己的需要写出适合的代码。代码虽然能通过编译但是错误还是很多的,甚至有些时候都不知道错在什么地方,这是最头疼的地方。解决的方法就是把出现错误的函数里的代码注释掉, 让它只显示一句话,慢慢查找是哪个代码段出了错误,最终解决了全部的问题。当时程序的 大致框架用了五晚上的时间编写完成, 后面又陆陆续续的对程序中不理想的地方做了一些更 改最终做出了一个理想的程序。开学后课程设计就直接用的这个程序作为作业,但是又出现了新的问题,因为那时候是在手机上编写的代码,安卓系统使用的linux核心,代码中调用的system ()命令和电

23、脑上windoows系统的system ()命令不同,还有文件操作的路径也 要重新更改。更改完毕后又想添加一些新的功能而且最初的程序没有使用结构体,后来对结构体有了新的了解,就把程序又重新改写了一下。为了把程序做成一个能在其他电脑上也能 使用的软件,又在网上学了 vs中对程序的打包,为了打包出一个理想中的安装包,找了好 多帖子用了一天的时间才打包出了一个正常的安装包,至此程序大功告成通过这次程序的编写加深了我对 C+的理解,在程序的编写过程中又学习了很多新的知识, 明白了自己的短处在哪里,以后需要在哪个方向努力,认识了很多的不足。从中学习了很多, 收获了很多。动手是提升能力的有效方法,就像我在

24、编写这个程序之前可能就比其他同学多 懂一点书上的知识。但在写代码的过程中遇到了很多问题,每解决一个问题,就多学了一些 知识,能力也有所提高。可能很多库函数我们不知道怎么用,比如你想要实现某一个功能, 你可以去网上找一下有关的帖子,多找几个帖子可能就会找到大神的帖子教你怎么用库函数 去实现这些功能。最后总结一下,百度是万能的。附录学生信息管理系统源代码/*程序功能:1. 系统菜单显示2. 学生信息录入功能3. 学生信息浏览功能4. 查询: .学号查询 .姓名查询5. 学生信息的删除与修改6. 系统中学生信息数量统计7. 学生信息排序(冒泡排序)作者:彭方林班级:计算机科学与技术1401学校:河南

25、理工大学万方科技学院日期:2015年11月11日*/#i nclude标准输入输出流头文件#i nclude/system函数头文件#i ncludevstri ng字符串头文件#i nclude文件输入输出流头文件using namespace std;/使用命名空间 stdifstream fin;/定义文件输入流ofstream fout;/定义文件输出流struct stude nt/定义学生信息结构体stri ng nu mber;/ 学号stri ng n ame;/姓名string sex;/ 性另float grade7;/*float grade。;/语文float grad

26、el;/离散数学float grade2;/英语float grade3;/毛概float grade4;/电路基础float grade5;/概率论float grade6;/体育*/;void in put_data(i nt n, i nt data_number)学生完整信息存入文件函数int i, j, k, m;stude nt s, s1;int find = -1;/find初始值为-1,代表未找到相同信息,若文件中已经存在此学生信息,则find为0for (i = 0; in; i+)cout 请输入学生的学号,姓名,性别,成绩(成绩顺序依次为语文,离散数学,英 语,毛概,电

27、路基础,概率论,体育。若该科成绩无,请输入 0)(空格键分隔!) s.nu mber s.n ame s.sex;for (j = 0; j s.gradej;学生信息学生信息.txt);/打开文件if (fin.i s_ope n()/判断文件是否能打开,若能打开,贝U函数返回值-1,否则返回0for (k = 0; k s1. number s1. name sl.sex;/从文件中读取学号,姓名,性 for (m = 0; m s1.gradem;if (s.n umber = s1. nu mber)/比较文件中读取的学号和要输入的学号是否一样find = 0;/文件中存在该学生信息,

28、find的值修改为0system(cls);清空屏幕cout 此学生信息已存在,请进入菜单选择修改信息或者删除信息 之后再添加! endl;if (find != 0)/文件中没有此学生信息fin .close();关闭文件学生信息学生信息.txt, ios:app);if (fout.is_ope n()检查文件能否打开fout s.nu mber s. name s.sex ;for (j = 0; j7; j+)fout s.gradej ;/向文件中写入各项信息,中间以空格分隔,便于下次读取fout.close();/ 关闭文件cout 添加信息成功 endl;elsecout 打开或

29、写入文件失败! endl;elsecout 打开文件失败! ch;/从文件中读取一个字符if (fin. eof()检查字符读取是否成功,若读取失败,eof函数返回-1,说明文件为空cout 没有找到学生信息,请添加信息之后再试! endl;fin .close();elsefin .close();学生信息学生信息.txt);if (fin .is_ope n()cout 系统所有学生信息为: endl;for (i = 0; i s.nu mber s.n ame s.sex;for (j = 0; j s.gradej;cout 性别: s.sex 英语: s.grade2 学号: s.

30、nu mber 语文: s.grade0 毛概: s.grade3 姓名: 离散数学: s.grade1 电路基础: s.grade4 概率论: s.grade5 体育: s.grade6 endl;fin .close();elsecout ch;if (fin .eof()cout 没有找到学生信息,请添加信息之后再试!fin .close();学生信息学生信息.txt);if (fin .is_ope n()for (i = 0; i s.nu mber s.n ame s.sex;for (j = 0; j7; j+) endl;学号查找函数 s.gradej;if (n

31、u mber_fi nd = s.n umber)/文件中读取的学号,和要查找的学号相同find = 0;cout 该学生信息为: endl;cout 性别: s.sex 英语: s.grade2 学号: s.nu mber 语文: s.grade0 毛概: s.grade3 姓名: 离散数学: s.grade1 电路基础: s.grade4 概率论: s.grade5 体育: s.grade6 endl;break;/输出该学生所有信息并跳出循环,查找结束if (find != 0)cout 未找到该学号对应的信息! endl;fin .close();elsecout 系统中

32、还没有此学号的信息! endl;姓名查找函数void stude nt_n ame_fi nd(stri ng n ame_fi nd, int data_ nu mber)/int i, j;int find = -1;stude nt s;学生信息学生信息.txt);if (fin .is_ope n()for (i = 0; i s.nu mber s.n ame s.sex;for (j = 0; j s.gradej;if (n ame_fi nd = s.n ame)find = 0;cout 该学生信息为: endl;cout 性别: s.sex 英语: s.grade2 学号:

33、 s.nu mber 语文: s.grade0 毛概: s.grade3 姓名: 离散数学: s.grade1 电路基础: s.grade4 概率论: s.grade5 体育: s.grade6 endl;break;if (find != 0)cout 未找到该姓名对应的信息! endl;fin .close();elsecout 系统中还没有此姓名的信息! ch;if (fin .eof()cout 没有找到学生信息,请添加信息之后再试! endl;fin .close();学生信息学生信息.txt);if (fin .is_ope n()for (i = 0; i s.nu

34、 mber s.n ame s.sex;for (j = 0; j s.gradej;if (nu mber_delete = s.nu mber)/ 文件中读取的学号,和要查找的学号相同find = 0;elsecout 系统中还没有此学号的信息! ch;if (fin .eof()cout 没有找到学生信息存档! endl;elsefin .close();学生信息学生信息.txt);if (fin .is_ope n()for (i = 0; i s.nu mber s.n ame s.sex;for (j = 0; j s.gradej;if (nu mber_delete != s.

35、nu mber)/如果学号和要删除的学号不同,将该学生信息存入学生信息1中学生信息学生信息1.txt, ios:app);if (fout.is_ope n()fout s.nu mber s.n ame s.sex ;for (j = 0; j 7; j+)fout s.gradej ;elsecout 删除过程出错! endl;fin .close();学生信息学生信息.txt);/删除学生信息.txt学生信学生信息 学生信息1.txt,学生信息息.txt);/将学生信息1.txt重命名为学生信息.txtcout 删除信息成功 endl;elsecout 未找到该学号对应的信息! endl

36、;elsecout 系统中没有此学号信息 ch;if (fin. eof()/如果文件为空,关闭文件elsefin .close();学生信息学生信息.txt);if (fin.i s_ope n()判断文件打开状态函数while (fin s.n umber)/如果能读取到学号fin .seekg(-12, ios:cur);将文件位置指针从当前学号尾部移动到学号之前,否则信息会读取混乱fin s.nu mber s.n ame s.sex;for (j = 0; j s.gradej;d+;,读取成功,学生信息数量加一fin .close();return d;/ 返回学生信息数量void

37、 stude nt_data_modify()学生信息修改int j;stude nt s;cout 请输入新的的学号,姓名,性别,成绩(成绩顺序依次为语文,离散数学,英语, 毛概,电路基础,概率论,体育。若该科成绩无,请输入 00 )(空格键分隔!),系统会自动 修改该学生信息! s.nu mber s.n ame s.sex;for (j = 0; j s.gradej;学生信息学生信息.txt, ios:app);if (fout.is_ope n()判断文件打开状态函数fout s.nu mber s.n ame s.sex s.grade0 s.grade1 s.grade2 s.g

38、rade3 s.grade4 s.grade 5 s.grade 6 ;fout.close();cout 修改信息成功 endl;elsecout 打开或写入文件失败! endl;void stude nt_data_sort(i nt data_number)学生信息排序(冒泡排序)int i, j;stude nt s200, nu mber_max;学生信息学生信息.txt);if (fin .is_ope n()for (i = 0; i si. nu mber si. name si.sex;for (j = 0; j si.gradej;fin .close();nu mber_

39、max .nu mber = s0. nu mber; for (i = 0; i data_ nu mber - 1; i+) for (j = 0; jsj + 1. nu mber)nu mber_max = sj; sj = sj + 1;sj + 1 = nu mber_max;学生信息学生信息.txt);if (fout.is_ope n()for (i = 0; i data_ nu mber; i+)fout si. nu mber si. name si.sex si.grade0 si.grade1 si.grade2 si.grade3 si.grade4 si.grad

40、e 5 si.grade6 ;fout.close();cout 排序成功! endl;elsecout 打开文件失败,无法完成排序! endl;int main()system(color 5F);改变程序窗口颜色为湖蓝色背景黑色文字char menu;stri ng nu mber_fi nd, n ame_fi nd;folder();程序运行前,先创建系统文件夹和文件menu:system(cls);/在屏幕上显示菜单信息cout 欢迎使用信息查询系统,按数字键进入菜单选项。 endl;cout 1.学号查询 endl;cout 2. 姓名查询 endl;cout 3.添加学生信息 e

41、ndl;cout 4.删除学生信息 endl;cout 5.修改学生信息 endl;cout 6.查看已存档的学生信息en dl;cout 7.查看已存档的学生信息数量 endl;cout 8.学生信息排序 menu;while (me nu8)当输入数值不在菜单范围内会提示输入错误cout 输入无效,请输入正确的数字! menu;system(cls);switch (int(menu) - 48)/ 将menu从字符型强制转换为整形case 1:char ch;int data_ nu mber;data_number = stude nt_data_number();求出文件中已存在的信

42、息数量确定查找学号时的循环次数nu mber:cout 学号查询: endl;cout 请输入12位学号: nu mber_fi nd;stude nt_nu mber_fi nd(nu mber_fi nd, data_ nu mber);cout 按*键返回菜单,按#键重新查找! ch;while (ch != *&ch != #)cout 输入错误,请输入*或#! ch;system(cls);if (ch = *)goto me nu;跳转到菜单elsegoto nu mber;break;case 2:char ch;int data_ nu mber;data_ nu mber = stude nt_data_ nu mber();n ame:cout 姓名查询 endl;cout 请输入学生姓名: n ame_fi nd;stude nt_n ame_fi nd(n ame_fi nd, data_ nu mber);cout 按*键返回菜单,按#键重新查找! ch;while (ch != *&ch != #)cout 输入错误,请输入*或#! ch;system(cls);if (ch = *)goto menu;elsegoto n ame;break;case 3:int n;int

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论