




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘 要C+作为一种面向的程序设计语言,在现在的计算机领域上,应用的很广泛,市场对熟练掌握C+语言的人才需求量也在日益的增加。作为一种软件开发的计算机语言,C+拥有简单方便的特点,同时具有信息隐蔽的特点,可以根据自己的意愿对自己设计的信息进行封装,是信息安全。在软件的维护方面,是面向对象进行维护,可以使信息的修改,系统的大体模块清新,使用方便。所以在全国的各个高校,都在开设C+这门课程,可见在计算机方面C+具有很高的地位!本次课设意在培养C+在软件的开发方面的意识,为以后更多的计算机语言的学习做好基础!当前各高校对职工的需求量更大,高校要想对高效的各类职员的信息进行管理,就必须要拥有一个完善的人
2、员信息管理系统,以实现人员信息的方便查找等功能,方便了人与哪的流通等。这次课设的题目正在尝试的解决这个问题。关键词:系统设计 类 信息 信息存储图 数据成员成员函数 查改排序目 录摘要1目录1第1章绪论11.1 课程设计的目的11.2 课程设计的背景和意义1课程设计的背景11.2.2 课程设计的意义21.3 课程设计环境2第2章需求分析32.1 问题描述32.2 功能要求32.3 问题的解决方案3第3章系统设计43.1 数据设计43.1.1 类设计43.1.2 类之间的关系43.1.3 函数设计53.2 结构设计53.2.1 系统流程图53.2.2 界面设计6第4章系统实现74.1 类实现74
3、.2 函数实现104.3 主函数实现17第5章系统测试205.1 模块测试205.2 课程设计过程中遇到的问题25总结25致谢26参考文献28附录29第1章 绪论1.1 课程设计的目的1、巩固所学的C以及C+知识,以达到熟练掌握语法以及编程规范的目的。2、将所学的编程语言与实际问题结合起来,达到学为所用的母的。3、提高独立思考问题的目的,通过对所给问题的分析,来提高分析解决问题的目的。1.2 课程设计的背景和意义1.2.1课程设计的背景1.理论研究基础(1)类代表了某一批对象的共性和特征,类是对象的抽象,而对象是类的一个实例。(2)友元成员函数可以引用类中的所有成员。(3)派生类可以继承基类的
4、所有公用的数据成员,当继承方式是protected方式的时候,派生类可以继承积累中的protected类型的成员,但是不可以继承积累的私有的成员。(4)运用seekg和tellp函数可以计算已知文件的存储的对象的个数。以二进制的方式进行数据的存储的时候便于运用指针进行对数据的操作。(5)运用冒泡法对数据进行排序可以实现对数据按由小到大或者由大到小的方式进行排序。(6)当类的成员函数定义成为友元函数的时候,在main函数中可以直接调用,不需要和一般的成员函数一样需要用对象调用。(7)运用goto进行循环的时候,可以使程序根据自己的意愿进行循环的使用。(8)运用工程的方式进行程序的运行的时候,可以
5、对每个类进行以头文件的形式存储,再添加到工程中,可以使程序的main函数清晰。(9)在程序的开头设置了全局的变量,可以在程序中运用并可以在程序中输出。2.技术层面的支持(1)、经过一年来对Microsoft Visual C+ 6.0软件的使用,在此环境下的兼容了C与C+的语法,可以运用此软件进行C+程序的编写,同时运行。此编译器对数据的内存空间的开辟不能满足自己需要的空间的时候,可以在工程的参数中进行适当的修改。(2)、在Microsoft Visual C+ 6.0的环境下,编译器提供的变量的存储空间有限,但是在工程的设置中,改变参数可以使程序正常的运行。课程设计的意义通过本次课设来检验对
6、所学的编程语言的掌握情况,从而使我们对所学习的知识的掌握,同时提高了自己对问题的分析能力,可以从一个题目中来发掘未知的问题以及功能,提高了做事谨慎的能力,同时也规范了自己的编程规范。1.3 课程设计环境软件环境:在Windows XP系统中, Visual C+ 6.0环境下运行。硬件环境:图书馆五楼计算机系软件一或软三实验室。第2章 需求分析2.1 问题描述某高校有四类员工:教师、实验员、行政人员,教师兼行政人员;共有的信息包括:编号、姓名、性别、年龄等。其中,教师还包含的信息有:所在系部、专业、职称;实验员还包含的信息由:所在实验室、职务;行政人员还包含的信息有:政治面貌、职称等。2.2
7、功能要求(1)基本功能1) 添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。2) 查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。3) 显示功能:可显示当前系统中所有记录,每条记录占据一行。4) 编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。5)删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的
8、编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。6) 统计功能:能根据多种参数进行人员的统计。例如,统计四类人员数量以及总数,或者统计男、女员工的数量,或者统计某年龄段人员的数量等。7)保存功能:可将当前系统中各类人员记录存入文件中,存入方式任意。8)读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。(2)扩展功能在完成以上基本功能的基础上,可自行进行扩展或完善,例如: 1) 添加人员记录时,考虑各种数据的有效性。2)组合查询功能的实现。3)可按人员的某些信息进行排序。4)对文件的读写使用二进制信息。2.3 问题的解决方案根据系统功
9、能要求,可以将问题解决分为以下步骤: 1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;2)分析系统中的各个实体及它们之间的关系; 3)根据问题描述,设计系统的类层次; 4)完成类层次中各个类的描述; 5)完成类中各个成员函数的定义; 6)完成系统的应用模块; 7)功能调试; 8)完成系统总结报告。第3章 系统设计3.1 数据设计3.1.1类设计根据题目的要求的四类人员,本系统中总共定义了四个了类,teacher类(教师类)、experience类(实验员类)、govern类(行政人员类)、tego类(教师兼行政人员类)。在四个类中均有num(编号)、name(姓名)、sex(性
10、别)、age(年龄)四个数据成员,teacher类中还有xi(系部)、zhuan()专业、zhi(职称)三个数据成员,experience类中还有addr(所在实验室)、post(职务)两个数据成员,govern类中还有main(政治面貌)、zhicheng(职称)两个数据成员,tego类中的数据成员是teacher类和govern类的数据成员的总和。在每个类中均有是个友元的成员函数:friend void get1()(添加函数);friend void chaxun1()(按编号查询函数);friend void chaxun11()(按姓名查询函数);friend void xiansh
11、i1()(信息显示函数);friend void shanchu1()(按编号删除函数);friend void shanchu11()(按姓名查询函数);friend void tongji1()(信息统计函数);friend void bianji1()(信息编辑函数);friend void paixu1()(按编号排序函数);friend void paixu11()(按年龄查询函数)(四个类中函数基本形同,不一一列出)。3.1.2类之间的关系由于四类人员均含有编号、姓名、年龄、性别四种信息,同时教师兼行政人员类含有教师类和行政人员类的共育信息,所以,teacher类是基类,exper
12、ience类和govern类是由teacher类派生,tego类是teacher类和govern类共同派生。3.1.3函数设计四个类中都有是个友元的成员函数,main函数中定义了八个函数来实现功能。四分类中的成员函数基本一样(以teacher类为例说明)friend void get1()(添加函数);friend void chaxun1()(按编号查询函数);friend void chaxun11()(按姓名查询函数);friend void xianshi1()(信息显示函数);friend void shanchu1()(按编号删除函数);friend void shanchu11(
13、)(按姓名查询函数);friend void tongji1()(信息统计函数);friend void bianji1()(信息编辑函数);friend void paixu1()(按编号排序函数);friend void paixu11()(按年龄查询函数)。main函数中的函数为void shuru()(添加功能)、void chaxun()(查询功能)、void xianshi()(显示功能)、voidbianji()(编辑功能)、void shanchu()(删除功能)、void tongji()(统计功能)、void paixu()(排序功能)、void tuichu()(退出功能
14、)。在main函数中分别调用各个类中的函数,来实现对各个类的操作。四个类中分别封装了对各自类的数据成员的操作,具体实现可以表示如下main函数-à成员函数-à数据成员。3.2 结构设计3.2.1 系统流程图.1人员类如图 派 生 派 生 派生.2函数关系图:main函数 调 用教师类实验员类行政人员类教师类的成员函数实验员类的成员函数行政人员类的成员函数教师兼行政人员类的成员函数main函数中的功能函数教师兼行政人员类添加,查询,编辑,显示,排序,删除,统计,退出共八类功能函数注释:各类中的成员函数分别与main函数的各个功能函数相对应。.3系统使用流程图:使用界面根据序号
15、选择功能使用,继续按Y,退出按N 继续 使用按N后按 Y继续使用继续使用退出系统3.2.2 界面设计使用时的界面如下:图-1退出时的界面如下:图-2第4章 系统实现4.1 类实现各类均使用友元函数,方便main函数调用/教师类class teacherprotected:char xi20;/系部char zhuan20/;专业char zhi20;/职称int num;/编号char name20;/姓名char sex20;/性别int age;/年龄public:teacher()/构造函数friend void get1();/添加函数friend void chaxun1();/编号
16、查询函数friend void chaxun11();/姓名查询函数friend void xianshi1();/显示函数friend void shanchu1();/按编号删除函数friend void shanchu11();/按姓名删除函数friend void tongji1();/统计函数friend void bianji1();/编辑函数friend void paixu1();/排序函数friend void paixu11();/排序函数;/实验员类class experience : public teacherprotected:char addr20;/所在实验室c
17、har post20;/职务public:experience ()/构造函数friend void get2();/添加函数friend void chaxun2();/编号查询函数friend void chaxun22();/姓名查询函数friend void xianshi2();/显示函数friend void shanchu2();/按编号删除函数friend void shanchu22();/按姓名删除函数friend void tongji2();/统计函数friend void bianji2();/编辑函数friend void paixu2();/按编号排序函数frie
18、nd void paixu22();/按年龄排序函数;/行政人员类class govern :public teacherprotected:char main20;/政治面貌char zhicheng20;/职称public:govern ()friend void get3();/构造函数friend void get3();/添加函数friend void chaxun3();/编号查询函数friend void chaxun33();/姓名查询函数friend void xianshi3();/显示函数friend void shanchu3();/按编号删除函数friend void
19、 shanchu33();/按姓名删除函数friend void tongji3();/统计函数friend void bianji3();/编辑函数friend void paixu3();/按编号排序函数friend void paixu33();/按年龄排序函数;/教师兼行政人员类class tego :public govern :public teacherpublic: tego ()/构造函数friend void get4();/添加函数friend void chaxun4();/编号查询函数friend void chaxun44();/姓名查询函数friend void
20、xianshi4();/显示函数friend void shanchu4();/按编号删除函数friend void shanchu44();/按姓名删除函数friend void tongji4();/统计函数friend void bianji4();/编辑函数friend void paixu4();/按编号排序函数friend void paixu44();/按年龄排序函数;4.2 函数实现一、四个类的成员函数1、添加函数friend void get()(主要运用循环对每个数据成员的添加)cout<<"请输入要输入的教师的人数"cin>>n
21、;cout<<"教师编号"<<"姓名"<<"性别"<<"年龄"<<"系部"<<"专业"<<"职称"<<endl;for(i=aa;i<(n+aa);i+)cout<<"输入第"<<(i-aa+1)<<"个教师的信息:"yy:cin>>ti.num>>ti.n
22、ame>>ti.sex>>ti.age>>ti.xi>>ti.zhuan>>ti.zhi;for( k=1;k<=i;k+)if(ti.num=ti-k.num)cout<<"教师号"<<(i-k+1)<<"存在,重新添加:"goto yy;if(ti.num=-1)break;for(int kk=0;kk+)if(ti.num<0|ti.age<=0|(strcmp(ti.sex,"m")&(strcmp(ti
23、.sex,"f")cout<<"数据有误,重新输入"<<endl;cout<<"输入第"<<(i-aa+1)<<"个教师的信息:"cin>>ti.num>>>>ti.sex>>ti.age>>ti.xi>>ti.zhuan>>ti.zhi;else break;2、查询函数friend void chaxun()(以按编号查询为例,主要运用循环)cout<
24、;<"请输入要查询的教师的编号:"cin>>k;for(i=0;i<aa;i+)if(k=ti.num)cout<<"该教师的信息为:"<<endl;cout<<"该教师的编号为:"<<ti.num<<endl;cout<<"该教师的姓名为:"<<<<endl;cout<<"该教师的性别为:"<<ti.sex<<endl;cou
25、t<<"该教师的年龄为:"<<ti.age<<endl;cout<<"该教师的系部为:"<<ti.xi<<endl;cout<<"该教师的专业为:"<<ti.zhuan<<endl;cout<<"该教师的职称为:"<<ti.zhi<<endl;q=1;break;3、编辑函数friend void bianji()(主要运用循环先查找再编辑)cout<<&quo
26、t;请输入您要编辑的教师的编号:"<<endl;int k,j,ww;cin>>k;for (i=0;i<aa;i+)if(k=ti.num)cout<<"原来教师的信息为:"<<endl;cout<<"教师编号"<<"姓名"<<"性别"<<"年龄"<<"系部"<<"专业"<<"职称"<
27、;<endl;cout<<""<<ti.num<<""<<<<""<<ti.sex<<""<<ti.age<<""<<ti.xi<<""<<ti.zhuan<<""<<ti.zhi<<endl;cout<<"请输入您要修改的信息:&quo
28、t;<<endl;q=1;yy:cin>>ti.num>>>>ti.sex>>ti.age>>ti.xi>>ti.zhuan>>ti.zhi;ww=ti.num;for(j=0;j<i;j+)if(ww=tj.num)cout<<"编号重复,请重新输入!"<<endl;goto yy;else break;for(j=(i+1);j<aa;j+)if(ww=tj.num) cout<<"编号重复,请重新输入!
29、"<<endl;goto yy;else break;4、显示函数friend void xianshi()(主要运用循环来循环输出)cout<<"教师所有信息如下:"<<endl;cout<<"教师编号"<<"姓名"<<"性别"<<"年龄"<<"系部"<<"专业"<<"职称"<<endl;for
30、(i=0;i<aa;i+)cout<<""<<ti.num<<""<<<<""<<ti.sex<<""<<ti.age<<""<<ti.xi<<""<<ti.zhuan<<""<<ti.zhi<<endl;5、删除函数friend void shanchu()
31、(以编号删除为例,运用循环来先查找再覆盖原信息来删除,查找时与查询一样,在此不写出)for(i=aaa;i<(aa-1);i+)ti.num=ti+1.num;strcpy(,ti+1.name);strcpy(ti.sex,ti+1.sex);ti.age=ti+1.age;strcpy(ti.xi,ti+1.xi);strcpy(ti.zhuan,ti+1.zhuan);strcpy(ti.zhi,ti+1.zhi);6、统计函数friend void tongji()(利用循环对人员性别对全局变量自增)for(i=0;i<aa;i+)if (strcmp(ti.
32、sex,"m")=0)a1+;else a2+;cout<<"男女教师总数为: "<<(a1+a2)<<endl;cout<<"男教师数为:"<<a1<<""<<"女教师数为: "<<a2<<endl;cout<<endl;7、排序函数friend vioid paixu()(主要运用起泡法排序,以按编号排序为例)for(j=0;j<(aa-1);j+)for(i=0;i
33、<(aa-j-1);i+)if(ti.age>ti+1.age)z1=ti.num;ti.num=ti+1.num;ti+1.num=z1;z2=ti.age;ti.age=ti+1.age;ti+1.age=z2;strcpy(z3,ti.sex);strcpy(ti.sex,ti+1.sex);strcpy(ti+1.sex,z3);strcpy(z4,ti.xi);strcpy(ti.xi,ti+1.xi);strcpy(ti+1.xi,z4);strcpy(z5,);strcpy(,ti+1.name);strcpy(ti+1.name,z5);
34、strcpy(z6,ti.zhuan);strcpy(ti.zhuan,ti+1.zhuan);strcpy(ti+1.zhuan,z6);strcpy(z7,ti.zhi);strcpy(ti.zhi,ti+1.zhi);strcpy(ti+1.zhi,z7);二、main函数中调用的的功能函数主要运用ifelse语句实现选择性的调用类中的函数,以及goto语句实现循环以及switchcase语句实现选择性分支。/输入功能void shuru()cout<<"请选择您要输入的人员类型的代号:"<<endl;cout<<"1、教
35、师"<<" "<<"2、实验员"<<" "<<"3、行政人员"<<" "<<"4、教师兼行政人员"<<endl;int g;cin>>g;switch (g)case 1:get1();break;case 2:get2();break;case 3:get3();break;case 4:get4();break;default: cout<<"无
36、此选项"<<endl;/查询功能void chaxun()cout<<"请选择您要查询的人员类型的代号:"<<endl;cout<<"1、教师"<<" "<<"2、实验员"<<" "<<"3、行政人员"<<" "<<"4、教师兼行政人员"<<endl;int g;cin>>g;swit
37、ch (g)case 1:cout<<"请选择查询方法:1、按编号查询;2、按姓名查询!"int gg;cin>>gg;if (gg=1)chaxun1();if (gg=2)chaxun11();break;case 2:cout<<"请选择查询方法:1、按编号查询;2、按姓名查询!"int gg;cin>>gg;if (gg=1)chaxun2();if (gg=2)chaxun22();break;case 3:cout<<"请选择查询方法:1、按编号查询;2、按姓名查询!&qu
38、ot;int gg;cin>>gg;if (gg=1)chaxun3();if (gg=2)chaxun33();break;case 4:cout<<"请选择查询方法:1、按编号查询;2、按姓名查询!"int gg;cin>>gg;if (gg=1)chaxun4();if (gg=2)chaxun44();break;default: cout<<"无此选项"<<endl;/删除功能void shanchu()cout<<"请选择您要删除的人员类型的代号:"&
39、lt;<endl;cout<<"1、教师"<<" "<<"2、实验员"<<" "<<"3、行政人员"<<" "<<"4、教师兼行政人员"<<endl;int g;cin>>g;witch (g)case 1:cout<<"请选择删除方法:1、按编号删除;2、按姓名删除!"int gg;cin>>gg;
40、if (gg=1)shanchu1();if (gg=2)shanchu11();break;case 2:cout<<"请选择删除方法:1、按编号删除;2、按姓名删除!"int gg;cin>>gg;if (gg=1)shanchu2();if (gg=2)shanchu22();break;case 3:cout<<"请选择删除方法:1、按编号删除;2、按姓名删除!"int gg;cin>>gg;if (gg=1)shanchu3();if (gg=2)shanchu33();break;case 4:
41、cout<<"请选择删除方法:1、按编号删除;2、按姓名删除!"int gg;cin>>gg;if (gg=1)shanchu4();if (gg=2)shanchu44();break;default: cout<<"无此选项"<<endl;/编辑功能void bianji()cout<<"请选择您要编辑的人员类型的代号:"<<endl;cout<<"1、教师"<<" "<<"
42、2、实验员"<<" "<<"3、行政人员"<<" "<<"4、教师兼行政人员"<<endl;int g;cin>>g;switch (g)case 1:bianji1();break;case 2:bianji2();break;case 3:bianji3();break;case 4:bianji4();break;default: cout<<"无此选项"<<endl;/显示功能voi
43、d xianshi()cout<<"请选择您要显示的人员类型的代号:"<<endlcout<<"1、教师"<<" "<<"2、实验员"<<" "<<"3、行政人员"<<" "<<"4、教师兼行政人员"<<endl;int g;cin>>g;switch (g)case 1:xianshi1();break;
44、case 2:xianshi2();break;case 3:xianshi3();break;case 4:xianshi4();break;default: cout<<"无此选项"<<endl;/排序功能void paixu()cout<<"请选择您要排序的人员类型的代号:"<<endl;cout<<"1、教师"<<" "<<"2、实验员"<<" "<<"
45、;3、行政人员"<<" "<<"4、教师兼行政人员"<<endl;int g;cin>>g;switch (g)case 1:cout<<"请选择排序方法:1、按编号由小到大排序;2、按年龄由小到大排序!"int gg;cin>>gg;if (gg=1)paixu1();if (gg=2)paixu11();break;case 2:cout<<"请选择排序方法:1、按编号由小到大排序;2、按年龄由小到大排序!"int g
46、g;cin>>gg;if (gg=1)paixu2();if (gg=2)paixu22();break;case 3:cout<<"请选择排序方法:1、按编号由小到大排序;2、按年龄由小到大排序!"int gg;cin>>gg;if (gg=1)paixu3();if (gg=2)paixu33();break;case 4:cout<<"请选择排序方法:1、按编号由小到大排序;2、按年龄由小到大排序!"int gg;cin>>gg;if (gg=1)paixu4();if (gg=2)pai
47、xu44();break;default: cout<<"无此选项"<<endl;/统计功能void tongji()cout<<"请选择您要统计的人员类型的代号:"<<endl;cout<<"1、教师"<<" "<<"2、实验员"<<" "<<"3、行政人员"<<" "<<"4、教师兼行政人员&
48、quot;<<" "<<"5、四类人员总数"<<endl;int g;cin>>g;switch (g)case 1:cout<<"统计结果如下:"<<endl;tongji1();break;case 2:cout<<"统计结果如下:"<<endl;tongji2();break;case 3:cout<<"统计结果如下:"<<endl;tongji3();break;cas
49、e 4:cout<<"统计结果如下:"<<endl;cout<<"统计结果如下:"<<endl;tongji4();break;case 5:cout<<"统计结果如下:"<<endl;cout<<"四类人员的总数为:"<<(a1+a2+b1+b2+c1+c2+d1+d2)<<endl;cout<<"四类人员中男职工总数为: "<<(a1+b1+c1+d1)<
50、<endl;cout<<"四类人员中男职工总数为: "<<(a2+b2+c2+d2)<<endl;break;default: cout<<"无此选项"<<endl;/退出功能void tuichu()cout<<"*"<<endl;cout<<" * *"<<endl;cout<<" * 谢谢本次使用,欢迎您下次使用!"<<endl;cout<<
51、" * *"<<endl;cout<<" * 北华航天工业学院 *"<<endl;cout<<"*"<<endl;cout<<endl;4.3 主函数实现在main函数中,首先对登录的界面进行了设定,其次运用switchelse分支语句进行选择性的分支调用各个功能函数以实现各个功能,同时运用了goto语句来实现每一个功能实现后都可以见到界面。int main()cout<<" *"<<endl;cout<<&
52、quot; * *"<<endl;cout<<" * 【欢迎使用北华航天工业学院人员信息查询系统】 *"<<endl;cout<<" * *"<<endl;cout<<" *"<<endl;y:cout<<endl;cout<<" 该系统的的功能有:"<<endl;cout<<endl;cout<<" *"<<endl;cout&l
53、t;<" * 1、信息添加功能"<< " "<<" 2、信息查询功能 *"<<endl;cout<<" * *"<<endl;cout<<" * 3、信息显示功能"<<" "<<" 4、信息编辑功能 *"<<endl;cout<<" * *"<<endl;cout<<" * 5、
54、信息删除功能"<<" "<<" 6、信息统计功能 *"<<endl;cout<<" * *"<<endl;cout<<" * 7、信息排序功能"<<" "<<" 8、退 出 *"<<endl; cout<<" *"<<endl;cout<<"请输入您需要的功能代号: "int m;ci
55、n>>m;if (m=1)y1:shuru();string f1;cout<<"是否继续此功能,是请按Y,否请按N!"cin>>f1;if(f1="N")goto y;else goto y1;if(m=2)y2:chaxun();string f2;cout<<"是否继续此功能,是请按Y,否请按N!"cin>>f2;if(f2="N")goto y;else goto y2;if(m=3)y3:xianshi();string f3;cout<&
56、lt;"是否继续此功能,是请按Y,否请按N!"cin>>f3;if(f3="N")goto y;else goto y3;if(m=4)y4:bianji();cout<<"是否继续此功能,是请按Y,否请按N!"string f4;cin>>f4;if(f4="N")goto y;else goto y4;if(m=5)y5:shanchu();string f5;cout<<"是否继续此功能,是请按Y,否请按N!"cin>>f5;if
57、(f5="N")goto y;else goto y5;if(m=6)y6:tongji();string f6;cout<<"是否继续此功能,是请按Y,否请按N!"cin>>f6;if(f6="N")goto y;else goto y6;if(m=7)y7:paixu();string f7;cout<<"是否继续此功能,是请按Y,否请按N!"cin>>f7;if(f7="N")goto y;else goto y7;if(m=8)tuichu
58、();return 0;第5章 系统测试5.1 模块测试1、系统第一次使用时的界面,主要运用cout输出语句,并对对输出内容进行了排版来实现。是登录是美观!图5.1-12、这是每一个功能使用完之后,都会自动的跳回这个界面。主要在main函数中运用了goto循环语句来实现。图5.1-23、输入功能的使用界面,在使用的时候选择输入人员的类别,同时输入要输入的人数,当输入重复的编号的时候,提示重复,当输入年龄小于0或性别不规范时,提示错误,重新输入。主要运用for循环和goto寻循环实现。退出后返回主界面。图5.1-34、显示功能使用界面,主要运用for循环。退出后返回主界面。图5.1-45、统计功
59、能使用,主要运用for循环和全局变量。退出后返回主界面。图5.1-56、(上面两个图为排序,两种排序方法,主要运用了起泡法排序,退出后返回主界面。)图5.1-6 图5.1-77、下图是查询功能使用,两种查询方法,运用for循环实现,退出后返回主界面。图5.1-88、(上面两个图为编辑功能图,编辑后显示信息,编辑实现,退出后返回主界面。)图5.1-9 图5.1-109、删除功能,删除后又显示信息,发现已删除。退出后返回主界面。图5.1-11图5.1-1210、退出功能,程序结束。图5.1-135.2 课程设计过程中遇到的问题在本次课设过程中,我遇到的问题以及解决方法如下:1、二进制存储数据的时候
60、无法计算已存对象的个数。通过老师的讲解和课下自己看书,以解决上述问题。2、存储字符类型的数据的时候,无法在文件中读出。通过老师的讲解和课下与同学的讨论,将字符型数据由string定义改为char定义,解决上述问题。3、在程序编译的时候总是编译不过去,出现系统的错误。通过向老师请教,问题出在了自己定义的变量过多,是编译器分配的空间不足,通过老师的讲解,问题已解决。总结本次课设共计用时九天,本系统总体上对题目要求的基本功能都已实现,同时拓展了排序,信息等数据要求有效的功能,同时排序,删除,查询三种功能都包含两种方法。在可是期间出现的错误,经过老师的细心和耐心的帮助,已经解决,但是同时因为自己的能力
61、有限,不能继续拓展更大的功能。排序,退出,添加,显示,编辑这几个功能应该比较完善,特别添加可以对任意的信息添加,同时避免了重复和数据的有效性问题。排序,显示两种功能都可以正常的运行,同时输出正确的结果。统计同时可以统计所有的人员的信息,但是,一直都是按性别进行统计的,由于时间有限,没有完成按年龄段等统计。删除的时候也只是一个个的删除,没有实现多个删除。这是遗憾。查询也是没有实现多个查询。这次课设最大的缺点就是代码过长,同时变量使用过多,造成编译器分配的内存不足,同时使用静态的数组,造成内存空间浪费,应该为动态的数组!致 谢课设期间,仅仅凭借自己一个人的力量是不够的,在本次课设过程中,老师给了我
62、很大的帮助,特别是在自己根本不知道哪里存在问题的时候,老师伸出了援助之手,在此我向老师表示深深的感谢!同时,同学的一些提醒,是自己的思路更加的宽广,在此也向同学表示感谢!最后,我再次对老师和同学的帮助表示深深的感谢!参考文献1C+面向对象程序设计,谭浩强编著,清华大学出版社;2C+大学教程(第二版),Paul James Deitel著,邱仲藩等译,北京电子工业出版社。3C+程序设计(第三版),Jack W.Davidson著,刘瑞挺等译,北京电子工业出版社。4C程序设计(第三版),谭浩强著,清华大学出版社。5C/C+程序设计,Decoder著,北京:中国铁道出版社。6C+语言命令详解(第二版),Brian Overland著,董梁等译,北京电子工业出版社。7C/C+程序设计大全,P.J.Deitel著,薛万鹏等译,北京机械工业出版社。8标准
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届江苏省苏州市张家港市梁丰初级中学七下数学期末质量跟踪监视试题含解析
- 行政判例的重要性研究试题及答案
- 信息技术的未来与数据驱动之路试题及答案
- 2025届江苏省泰州市泰兴市七年级数学第二学期期末经典试题含解析
- 组织变革中的风险管理实践试题及答案
- 提升学生自信心的有效途径计划
- 预算编制审批流程计划
- 云南省保山市2025年七年级数学第二学期期末调研试题含解析
- 2024年浙江省交通运输厅下属事业单位真题
- 2024年上海财经大学辅导员考试真题
- 比亚迪晋级述职报告
- SJG 74-2020 安装工程消耗量定额
- 3.2让素材富有感染力-粤教版B《信息技术》七年级下册教学课件
- 炼油化工建设项目后评价报告 -
- 控制在护理管理中的应用
- 绿色制造与金属冶炼产业转型
- 《仓储物流管理》课件:优化仓储与物流效率
- 健康教育在校园的多元化实践案例
- 育婴师三级(高级)技能考核题答案
- 民法典与医疗损害
- DB51T 2615-2019 机关周转房管理服务规范
评论
0/150
提交评论