1、C+学生信息管理系统实验报告-示例C+学生信息管理系统实验报告-示例 编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(C+学生信息管理系统实验报告-示例)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为C+学生信息管理系统实验报告-示例的全部内容。 22 / 22课程设计报告课程设计题目: 学生信息管理系统 学生姓名: 张鹏
2、专 业: 软件工程(嵌入式)班 级: 1621806指导教师: 高 永 平 2017年 6 月 9 日目录一、需求分析:2二、总体设计:2三、详细设计。3四、测试结果.12五、软件操作使用说明书。17六、总结.17七、代码:17一、需求分析:根据对学生信息管理的需要,建立一个“学生信息管理系统”,以方便对学生信息数据的录入、修改、删除和查询功能。、要求完:1。有菜单界面可以对功能进行选择;2。能录入姓名、性别、学号、班级和电话号码等学生信息并保存到文件中;3.能根据学生的学号进行排序;4.能根据学生的学号对学生的信息进行修改;5。能根据学生的学号对学生的信息进行删除;6.能根据学生的学号、姓名
3、和班级等对学生信息进行查询;7。能根据班级对学生人数进统计。二、总体设计:根据以上分析,本系统主要包括:1.从键盘录入学生个人信息,并保存到文件中;2.按学号对学生信息进行排序3.按学号对学生信息进行修改;4.按学号对学生信息进行删除;5.按学号对学生信息进行查询;6.按姓名对学生信息进行查询;7.按班级对学生信息进行查询;8.结束当前程序; 等8大功能,系统主要定义了1个类和16个函数以实现各个功能:(1)主函数main():调用录入、查找、修改、排序、统计、删除等函数对学生成员信息进行处理.(2)定义类class student:用于定义成员结构体数组.(3)类中构造函数student()
4、:对类中各项私有成员进行传值。(4)类中输入运算符重载函数operator ():方便对类的对象输入。(5)类中输出运算符重载函数operator ():方便对类的对象输出。(6)获取函数getnum():方便在类外对类中的私有成员num的数据进行调用。(7)获取函数getname():方便在类外对类中的私有成员name的数据进行调用.(8)获取函数getban():方便在类外对类中的私有成员ban的数据进行调用。(9)录入函数 enter():从键盘输入学生个人信息,并保存到文件中。(10)查找函数 search_num():按学号查找学生个人信息。(11)查找函数 search_name(
5、):按姓名查找学生个人信息。(12)查找函数 search_ban():按班级查找学生个人信息。(13)修改函数 changr():按学号修改学生个人信息,保存的文件中。(14)删除函数 del():按学号删除学生个人信息,保存到文件中.(15)排序函数sort():按学号对学生个人信息进行排序.(16)统计函数count():按班级对学生人数进行统计.程序功能结构图如图1所示:图1程序功能结构图如图三、详细设计。本系统有一个主函数,8个功能模块,每个功能模块函数都是由主函数调用,分别说明如下:(1)主函数main():调用录入、查找、修改、排序、统计、删除等函数对学生成员信息进行处理。主函数
6、流程图如图2所示:图2主函数流程图(2)键盘输入函数流程图:从键盘输入学生个人信息,并保存到文件中.流程图如图3所示:图3键盘输入函数流程图(3)排序函数流程图:按学号对学生个人信息进行排序。流程图如图4所示:图4排序函数流程图(4)信息修改函数流程图:由用户输入需要修改的成员的学号,在现有的学生信息中查询是否有此学生信息的存在,查到输出该学生的全部信息,没查到则输出“学号为XX的学生不存在!信息。流程图如图5所示:图5信息修改函数流程图(5)信息删除函数流程图:由用户输入需要删除的成员的学号,在现有的学生信息中查询是否有此学生信息的存在,查到删除该学生的全部信息,没查到则输出“学号为XX的学
7、生不存在!信息。流程图如图6所示:图6信息删除函数流程图(6)学号查询函数流程图:由用户输入需要查询的成员的学号,在现有的学生信息中查询是否有此学生信息的存在,查到输出该学生的全部信息,没查到则输出“学号为XX的学生不存在!”信息。流程图如图7所示:图7学号查询函数流程图(7)姓名查询函数流程图:由用户输入需要查询的成员的姓名,在现有的学生信息中查询是否有此学生信息的存在,查到输出该学生的全部信息,没查到则输出“姓名为XX的学生不存在!”信息。流程图如图8所示:图8姓名查询函数流程图(8)班级查询函数流程图:由用户输入需要查询的成员的班级,在现有的学生信息中查询是否有此学生信息的存在,查到输出
8、该学生的全部信息,没查到则输出“班级为XX的学生不存在!”信息.流程图如图9所示:图9班级查询函数流程图(9)按班级统计函数流程图:由用户输入需要查询的成员的班级,在现有的学生信息中查询是否有此学生信息的存在,查到即对该班级人数进行统计,没查到则输出“班级为XX的学生不存在!信息。流程图如图10所示:图10按班级统计函数流程图四、测试结果。(1)程序运行主菜单如图11所示:图11(2)从键盘上输入学生人数和学生信息如图12所示:图12(3)按学号修改如图13所示:图13(4)按学号删除如图14:图14(5)按学号查找如图15:图15(6)按姓名查找如图16:图16(7)按班级查找如图17:图1
9、7(8)按班级统计人数如图18:图18(9)按学号进行排序如图19:如图19五、软件操作使用说明书。本软件采用命令行对话方式进行操作,运行后出现主界面如上图所示,然后按菜单提示操作即可。六、总结。经过一个星期的不断上机实践练习,我对c+有了更进一步的认识和了解,学好它重在实践,要通过不断的上机操作不断的进行操作和试运行才能更好地掌握它,通过这次实践,我发现了自己的许多不足:我对各种循环的理解深度还不够,对字符成员调用还不是很熟练,对指针的理解还是不透彻,以及对解决问题的想法不够全面。这些不足,在这次实践中都有所提高,并且对这些不足我都会在后续的学习中努力补足。七、代码: includeincl
10、ude#includecstringdefine M 5000using namespace std;class studentpublic:student()student(char na10,char se10,int n,int b,char t12):num(n),ban(b)strcpy(sex,se);strcpy(name,na);strcpy(tel,t);friend istream operator (istream is,student s)iss。names.sexs.nums.bans.tel;return is;friend ostream & operator (
11、ostream os,student & s)oss。name” s.sex ”s.num” s。ban” s。telendl;return os;int getnum()return num;int getban()return ban;char *getsex()char s=new charstrlen(sex);s=sex;return s;char *getname()char p=new charstrlen(name);p=name;return p;char *gettel()char *t=new charstrlen(tel);t=tel;return t;private:
12、char name10;char sex10;int num,ban;char tel12;;int menu()char s80;int c;cout”* 主 菜 单 *endlendl;cout | 0。退出当前程序 nendl;cout” 1。输入学生信息 n”endl;cout 2。根据学号查询 | nendl;cout” 3.根据姓名查询 nendl;cout | 4。根据班级查询 | nendl;cout | 5。根据学号排序 | nendl;cout” | 6。按班级计人数 n”endl;cout” | 7。根据学号删除 n”endl;cout | 8.根据学号修改 nendl;
13、cout-”endl;cout 输入您的菜单选项编号(0-8):”endl;cout” Designed by Peng”8)cout”输入错误,请重新输入!:;elsebreak;return c;int enter(student t)int i,n;system(”cls”);cout” 请输入学生信息条数”endl;cinn;cout 请输入学生信息n”endl;cout姓名 性别 学号 班级 联系电话”endl;fstream fs;fs。open(c:item。txt,ios:out);for(i=0;iti;fsti;fs.close();getchar();return n;v
14、oid search_num(student t,int n)int i,nu,temp=-1000;system(cls);cout请输入查找学生的学号:endl;cinnu;for(i=0;in;i+)if(nu=ti.getnum())cout”该学生信息为:endl”姓名 性别 学号 班级 联系电话endl;coutti;temp=i;if(temp=1000)coutendlendl”学号为 ”nu” 的学生不存在!endl;getchar();void search_ban(student t,int n)int i,ba,temp=1000;system(cls);cout请输入
15、查找学生的班级号:”endl;cinba;cout该学生信息为:endl姓名 性别 学号 班级 联系电话endl;for(i=0;in;i+)if(ba=ti。getban())coutti;temp=i;if(temp=-1000)coutendlendl班级为 ba” 的学生不存在!”endl;getchar();void search_name(student t,int n)int i,temp=-1000;char na20;system(cls);coutna;for(i=0;in;i+)if(strcmp(na,ti.getname()=0)cout”该学生信息为:”endl”姓
16、名 性别 学号 班级 联系电话endl;coutti;temp=i;if(temp=-1000)coutendlendl姓名为 ”na 的学生不存在!endl;getchar();void sort(student t,int n)student p;int s;system(”cls”);cout”请选择升序或降序(1或2):s;if(s=1)cout按学号排序(升序)完成如下:endl;for(int i=0;in-1;i+)for(int j=0;jtj+1.getnum())p=tj;tj=tj+1;tj+1=p;cout姓名 性别 学号 班级 联系电话endl;for(int a=0
17、;an;a+)coutta;if(s=2)cout”按学号排序(降序)完成如下:endl;for(int i=0;in-1;i+)for(int j=0;jn1i;j+)if(tj.getnum()tj+1。getnum())p=tj;tj=tj+1;tj+1=p;cout姓名 性别 学号 班级 联系电话endl;for(int a=0;an;a+)coutta;getchar();void count(student t,int n)int i,c,temp=1000;system(”cls”);fstream fs;fs.open(”c:item.txt,ios:in);cout请输入想统
18、计人数的班级:”c;int s=0;for(i=0;in;i+)fsti;if(c=ti.getban()s+;temp=i;cout该班级人数为:”sendl;fs。close();if(temp=1000)coutendlendl”班级为 c” 的学生不存在!endl;getchar();void change(student t,int n)int id,i,temp=1000,run=0;system(”cls);coutid;fstream fs;fs。open(c:item。txt”,ios:inios:out);for(i=0;in;i+)if(id=ti.getnum()cou
19、t”修改前该学生信息为:endl姓名 性别 学号 班级 联系电话endl;coutti;temp=i;run=2000;fs.close();if(run=2000)fs.open(”c:item。txt”,ios::in|ios:out);cout”请输入你修改该学生的信息为:”endl姓名 性别 学号 班级 联系电话”endl;cinti;fsti;fs。close();cout修改成功!”endl;if(temp=-1000)coutendlendl姓名为 ”id” 的学生不存在!endl;getchar();int del(student t,int n)int ber,temp=-1
20、000,run=0;int i,j,nu;system(”cls”);coutber;for(i=0;in;i+)if(ber=ti。getnum())temp=i;run=2000;if(run=2000)cout删除中.。.”endl;cout”删除后数据为:”endl姓名 性别 学号 班级 联系电话endl;fstream fs;fs。open(”c:item。txt”,ios::out);for(int x=0;xn;x+)if(ber=tx.getnum()for(j=0;jn;j+)if(j=x)continue;elsefstj;couttj;nu=n1;fs.close();i
21、f(temp=-1000)coutendlendl学号为 ”ber” 的学生不存在!”endl;getchar();return nu;void main()student sM;int length;for(;)system(”cls);switch(menu())case 0:exit(0);break;case 1:length=enter(s);break;case 5:sort(s,length);break;case 8:change(s,length);break;case 7:length=del(s,length);break;case 2:search_num(s,length);break;case 3:search_name(s,length);break;case 4:search_ban(s,length);break;case 6:count(s,length);break;cout”按回车返回主菜单。.endl;getchar();return;