《2022年班级信息管理C++实验报告 .pdf》由会员分享,可在线阅读,更多相关《2022年班级信息管理C++实验报告 .pdf(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 课程设计报告目录1. 设计任务 4 2. 设计要求 4 3. 设计方案 4 4. 设计内容 4 4. 11 软件达到的目的 44. 12 软件功能说明 44. 1.2.1 各项功能说明 55.软件设计环境与原理55.1 设计环境与模块的划分 55.1.1 软件设计环境 55.1.2 软件模块的划分 55.2 软件设计主要原理 65.2.1 采用的主要数据结构类型 65.2.2 各个模块之间的调用关系和数据储存格式说明 76软件的设计过程86.1 各软件模块之间的调用方式86.2 软件中实现各项功能的函数与程序代码87.设计结果与分析148.总结19名师资料总结 - - -精品资料欢迎下载
2、- - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 18 页 - - - - - - - - - 2 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 18 页 - - - - - - - - - 3 1. 设计任务运用 C+语言描述学生类,信息类,每一个类应包含数据成员和成员函数。设计基类和派生类, 并运用多态性和虚函数的知识。注重面向对象程序设计理论知识的理解与实际的动手编程能力,要求学生设计
3、具有继承与派生以及多态性的类,理解面向对象程序设计的核心的概念。本课程设计要实现的主要功能如下:1)建立学生类、2)班级学生信息的初始化4)学生信息的添加、修改、删除、查找、保存5)学生信息的输出2.设计要求【基本要求】1、使用继承减少重复代码;2、使用多态性统一通讯协议,使程序易于维护;3、体现数据抽象和封装;4、体现数据访问属性和继承属性。3.设计方案班级信息管理系统 . 4.设计内容41 软件达到的目的该软件主要是实现对班级学生进行系统化的管理,首先可以对学生基本信息进行输入和存取, 其次可以读取显示学生的相关信息,然后可以删除和插入学生的相关信息,还有就是可按姓名查询此学生的相关信息。
4、由此来系统化管理班级通信,并达到简易操作的目的。42 软件功能说明对班级学生的信息进行整理,输入、输出、保存、删除等功能4.2.1 各项功能说明(1)学生基本信息的录入和保存:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 18 页 - - - - - - - - - 4 这部分的功能主要包括信息的录入和保存,首先按程序提示分别输入有关学生的相关信息包括学号、 姓名、性别以及学生出生年月以及民族和QQ 等。录入完毕后系统将显示全部学生相关信息,信息中已包含对学生基本信息。
5、可以选择是否保存,选择存盘后,系统则自动将学生信息存入(list.dat)电脑。(2)增加学生信息:进入插入界面, 系统将提示输入新学生的相关信息,程序则会将新的信息插入原学生信息清单中。(3)修改学生信息:此功能是将原录入并保存的的学生信息进行修改。(4)删除学生信息:进入该项功能界面后,用户可以通过学生的姓名对某个学生的信息进行删除。(5)按姓名查找学生信息:此项功能可以根据用户输入的学生姓名查出该学生的所有信息。(6)对需要保存的学生信息进行保存。(7)退出系统,结束任务。五.软件设计环境与原理5.1 设计环境与模块的划分5.1.1 软件设计环境Microsoft Visual C+ 6
6、.0 5.1.2 软件模块的划分名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 18 页 - - - - - - - - - 5 该软件主要组成模块和各个模块之间的调用关系如下图:5.2 软件设计主要原理5.2.1 采用的主要数据结构类型该程序采用的是结构体类型来处理学生的所有基本信息,如下所述。包含的库函数有:#include #include #include #include using namespace std; 包含的函数有:struct student ;c
7、lass students ;void add(char num20,char name20,char sex3,char folk20,char birth20,char prof20,char telno20,char QQ20); 菜单添加学生信息修改学生信息删除学生信息查询学生信息学生信息显示保存学生信息退出管理系统保存到 text.txt 文档名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 18 页 - - - - - - - - - 6 void xiugai
8、(char name120); void del(char name220); void find(char name320); void save(); void display() 5.2.2 各个模块之间的调用关系和数据储存格式说明各函数模块之间的调用关系主要是主函数调用所有其它功能函数和菜单函数,并利用循环使各个功能函数运行完毕后都会回到菜单。该程序的数据以二进制储存。六软件的设计过程6.1 各软件模块之间的调用方式程序中各个模块之间的调用方式主要是通过文件的包含和函数的调用实现的,用文件的形式把各个函数分开,再用头文件把它们包含进来,使用主函数进行调用。6.2 软件中实现各项功能的函
9、数与程序代码一、一个包含学生基本信息的类struct student char num20; char name20; char sex3; char folk20; char birth20; char prof30; char telno20; char QQ20; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 18 页 - - - - - - - - - 7 ; class students public : students() void add(char nu
10、m20,char name20,char sex3,char folk20,char birth20,char prof20,char telno20,char QQ20); void xiugai(char name120); void del(char name220); void find(char name320); void save(); void display(); private: student str100; static int count; ; 二、输入学生信息函数void students:add(char num20,char name20,char sex3,c
11、har folk20,char birth20,char prof20,char telno20,char QQ20) int x; x=1; strcpy(strcount.num,num); strcpy(strcount.name,name); strcpy(strcount.sex,sex); strcpy(strcount.folk,folk); strcpy(strcount.birth,birth); strcpy(strcount.prof,prof); strcpy(strcount.telno,telno); strcpy(strcount.QQ,QQ); 名师资料总结 -
12、 - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 18 页 - - - - - - - - - 8 +count; 三、修改学生信息void students:xiugai(char name120) int x=1; for(int i=0;i100;i+) if(!strcmp(stri.name,name1) cout*endl; cout* 请选择修改的类型 *endl; cout1:学号 2:姓名 3:性别 4:民族 5:出生年月6:专业 7:联系方式 8:QQ 号码 9:退出a
13、; switch(a) case 1: cout请输入学号 : num1; strcpy(stri.num,num1); break; case 2: cout请输入姓名 : name3; strcpy(stri.name,name3); break; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 18 页 - - - - - - - - - 9 case 3: cout请输入性别 : sex1; strcpy(stri.sex,sex1); break; case 4
14、: cout请输入民族 : folk1; strcpy(stri.folk,folk1); break; case 5: cout请输入出生年月 :birth1; strcpy(stri.birth,birth1); break; case 6: cout请输入专业 : prof1; strcpy(stri.prof,prof1); break; case 7: cout请输入联系方式 :telno1; strcpy(stri.telno,telno1); break; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整
15、理 - - - - - - - 第 9 页,共 18 页 - - - - - - - - - 10 case 8: cout请输入 QQ 号码 : QQ1; strcpy(stri.QQ,QQ1); break; case 9: goto top; else x=0; if(x=0) cout修改成功 endl; top:; 四、删除学生信息void students:del(char name220) int x=1; for(int i=0;i100;i+) if(!strcmp(stri.name,name2) strcpy(strcount.num,0); strcpy(strcoun
16、t.name,0); strcpy(strcount.sex,0); strcpy(strcount.folk,0); strcpy(strcount.birth,0); strcpy(strcount.prof,0); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 18 页 - - - - - - - - - 11 strcpy(strcount.telno,0); strcpy(strcount.QQ,0); else x=0; if(x=0) cout删除成功
17、endl; void students:find(char name320) int x=1; for(int i=0;i100;i+) if(!strcmp(stri.name,name3) cout- 学号: stri.numendl; cout- 姓名: stri.nameendl; cout- 性别: stri.sexendl; cout- 民族: stri.folkendl; cout- 出生年月: stri.birthendl; cout- 专业: stri.profendl; cout- 联系方式: stri.telnoendl; cout-QQ 号:stri.QQendl; e
18、lse x=0; if(x=0) cout查找成功 endl; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 18 页 - - - - - - - - - 12 五、保存学生信息void students:save() ofstream outfile(text.txt,ios:out); if(!outfile) coutCannot open output file endl; exit(1); cout请输入要保存信息的人的姓名:name4; int x=1;
19、for(int i=0;i100;i+) if(!strcmp(stri.name,name4) outfile 学号: stri.numendl; outfile 姓名: stri.nameendl; outfile 性别: stri.sexendl; outfile 民族: stri.folkendl; outfile 出生年月: stri.birthendl; outfile 专业: stri.profendl; outfile 联系方式: stri.telnoendl; outfileQQ 号: stri.QQendl; else 名师资料总结 - - -精品资料欢迎下载 - - -
20、- - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 18 页 - - - - - - - - - 13 x=0; if(x=0) coutendl; outfile.close(); 六,输出学生信息void students:display() for(int i=0;icount;i+) cout学号: stri.numendl; cout姓名: stri.nameendl; cout性别: stri.sexendl; cout民族: stri.folkendl; cout出生年月: stri.birthendl; cou
21、t专业: stri.profendl; cout联系方式: stri.telnoendl; coutQQ 号:stri.QQendl; coutendl; coutendl; 七.设计结果与分析在此,我们将把软件使用过程写出,并对此程序的一些细节和具体的操作方法加以说明,说明如下:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 18 页 - - - - - - - - - 14 1、 将软件进行初始化。2、 进入程序,界面如图:3.根据菜单选择对应的功能键功能有: 1:
22、添加学生信息2:修改学生信息3:删除学生信息4:查询学生信息5:学生信息显示6:保存学生信息0:退出管理系统4.键入 1,添加学生信息名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 18 页 - - - - - - - - - 15 5.键入 2,修改学生信息6.键入 3,删除学生信息7.键入 4,查询学生信息8.键入 5,显示学生信息名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - -
23、- - - - - 第 15 页,共 18 页 - - - - - - - - - 16 9.键入 6,保存学生信息10.键入 0,退出程序八.总结我们这个小组选择的是班级信息管理系统这个程序,一个非常简单实用的小程序。 经过两个学期的编程语言学习,编写这么一个小程序, 对我们来说, 其实不应该算是一件很困难的事情, 但是在我们小组编写的过程中,我们也的确遇到了很多难题, 但是都通过查阅资料, 小组讨论以及请教同学老师解决了。这次基本编写成功的这个学生成绩信息管理系统,总的对我们小组成员来说,是非常高兴和值得自己肯定的一件事的,它基本满足了界面友好,易于操作的要求, 因此更利于用户操作方便,
24、运行简易, 从而达到对班级信息更加有效系统的管理, 并且速度更快内容更直接地达到用户所想要的效果。在该软件中我们实现了对学生信息的输入和存取、读取,对学生相关信息的删除和插入, 并且可以按名字查询学生的相关信息。虽然这不是一个很出色的程序, 但是确实是我们亲自编写的。当然,程序中还是存在名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 18 页 - - - - - - - - - 17 或大或小的问题, 比如,程序运行界面不是十分简洁清晰,不能做到让人一目了然,还有就是程
25、序功能还不是十分完善等等。但是我相信,我们下一次的任务一定会完成的更好,毕竟,只有通过不断地修改错误, 才能不断地进步! 在此,我们小组五位成员在此衷心感谢在这次课程设计中对我们不吝指导的老师和各位同学。参考文献书名: Visual C+ 程序设计与应用教程题解及课程设计原出版社:作者: 马石安 ; 魏文平出版社:清华大学出版社书号: 9787302202486 出版日期: 2009-7-1 0:00:00 开本: 16 开 页码: 230 版次: 1-1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 18 页 - - - - - - - - - 18 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 18 页 - - - - - - - - -