C++课程设计实验报告

上传人:美*** 文档编号:108033986 上传时间:2022-06-15 格式:DOC 页数:18 大小:153KB
收藏 版权申诉 举报 下载
C++课程设计实验报告_第1页
第1页 / 共18页
C++课程设计实验报告_第2页
第2页 / 共18页
C++课程设计实验报告_第3页
第3页 / 共18页
资源描述:

《C++课程设计实验报告》由会员分享,可在线阅读,更多相关《C++课程设计实验报告(18页珍藏版)》请在装配图网上搜索。

1、C+课程设计实验报告 班级: 计科1302班 学号: 1308030219 姓名: 王志飞 时间: 2014年7月2日 题目:高校教职工信息表一、课程设计目的通过课程设计,进一步熟悉C中类的概念、类的封装、继承的实现方式。了解系统开发的需求分析、类层次设计、模块分解、编码测试、模块组装与整体调试的全过程,加深对C的理解与Visual C环境的使用;逐步熟悉程序设计的方法,并养成良好的编程习惯。二、课程设计题目:高校教职工信息表设计说明与要求:1、 高校主要有2类职工:教师和工人。要求建立职工信息数据,包括职工编号,姓名,性别,工资,出生时间,参加工作时间和年龄。2、 使用继承的方法构造3个类,

2、(即雇员类-虚基类,教师类和工人类-派生类)使用相应的对象放置10个职工信息。3、 编写同名display()成员函数,用来输出数组的内容。4、 按不同类别输出职工信息,比如按系输出教师信息。(可选功能)5、 计算职工的平均年龄。雇员类6、 类的层次结构大体如下:工人类教师类7、 输入数据要求每类人员不能少于10人,并按以下格式输出:编号姓名性别工资年龄8、 总体设计,要有一个菜单,用于选择各项功能,其中1增加一位教师记录。2增加一位工人记录。3显示全部职工记录。4计算教师平均年龄。5计算工人平均年龄6删除一个教师。7删除一个工人。8按系输出教师信息(可选)。9按姓名检索所有信息。10结束程序

3、运行。三、系统设计总体是设计出一个功能齐全,方便可行的高校教职工信息表,具体功能有增加、删除、显示职工信息,计算平均年龄,按系、名检索信息等。首先用继承的方法构造三个类,虚基类的一个雇员类和同为派生类的教师类和工人类,并使用相应的对象分别放置10个雇员。其次使用相应的函数分别实现相应的功能。四、系统实现#include#includevoid menus();void addteacher(); void addworker();void showall(); void teacherage();void workerage(); void closet();void closew();voi

4、d showxi();void search();void menu();void setstart();void searchxi();int t=0,w=0;using namespace std;class guyuanpublic:guyuan();void getdate();void display();int showage();long number;string name;int birthyear;int birthmonth;int birthday;char sex;int wages;int age;int workage;int guyuan:showage()re

5、turn(age);void guyuan:getdate()cout请输入职工编号number;cout请输入职工姓名name;cout请输入职工出生日期birthyearbirthmonthbirthday;cout请输入职工性别sex;cout请输入职工工资wages;cout请输入职工工龄workage; age=2014-birthyear;void guyuan:display()cout编号: numberendl;cout姓名: nameendl; cout年龄: age岁endl;cout出生年月: birthyear年birthmonth月birthday日endl;cou

6、t性别: sexendl;cout工资: wages元endl;cout工龄: workage年endl;class teacher: virtual public guyuanpublic:string xi;void getdate();void display();teacher jiaoshi50;void teacher:getdate()guyuan:getdate();cout请输入教师所在院系:xi;void teacher:display()cout工作: 教师endl;cout院系:xiendl;guyuan:display();class worker: virtual

7、public guyuanpublic:void display();worker gongren50;void worker:display()cout工作: 工人endl;guyuan:display();void menu()char choice;coutendl;cout 1、增加一位教师记录 endl;cout 2、增加一位工人记录 endl;cout 3、显示全部职工记录 endl;cout 4、计算教师平均年龄 endl;cout 5、计算工人平均年龄 endl;cout 6、删除一个教师 endl;cout 7、删除一个工人 endl;cout 8、按系搜索 endl;cou

8、t 9、按名字检索所有信息 endl;cout 0、结束程序运行 endl;coutchoice;switch(choice)case 1: addteacher(); break;case 2: addworker();break; case 3: showall(); break;case 4: teacherage();break;case 5: workerage(); break;case 6: closet();break; case 7: closew();break;case 8: searchxi();break; case 9: search();break;case 0:

9、 return;default: cout输入错误请重新输入endl; menus();break;void menus()menu();void searchxi()string xiname;int i;cout请输入要查找的系名xiname;for(i=0;it;i+)if(jiaoshii.xi=xiname)jiaoshii.display();menu();void addteacher()jiaoshit.getdate();t=t+1;menu();void addworker()gongrenw.getdate();w=w+1;menu();void showall()int

10、 i,j;for(i=0;it;i+)jiaoshii.display();for(j=0;jw;j+)gongrenj.display();menu();void teacherage()int age=0,i;for(i=0;it;i+)age=age+jiaoshii.showage();age=float(age)/t;cout教师的平均年龄为:age岁endl;menu();void workerage()int age=0,i;for(i=0;iw;i+)age=age+gongreni.showage();age=float(age)/w;cout工人的平均年龄为:age岁end

11、l;menu();void closet()string xm;int i,j=0;cout请输入要删除人员的姓名xm;for(i=0;it;i+)if(jiaoshii.name=xm)cout该人员信息如下:;jiaoshii.display();cout确认要删除该人员信息?0、否1、是j;if(j!=0)jiaoshii=jiaoshit-1;t=t-1;j=0;cout成功删除!endl;menu();void closew()string xm;int i,j=0;cout请输入要删除人员的姓名xm;for(i=0;iw;i+)if(gongreni.name=xm)cout该人员

12、信息如下:;gongreni.display();cout确认要删除该人员信息?0、否1、是j;if(j!=0)gongreni=gongrenw-1;w=w-1;j=0;cout成功删除!endl;menu();void search()string xm;int i;cout请输入要搜索人员的姓名xm;for(i=0;it;i+)if(jiaoshii.name=xm)cout该人员信息如下:;jiaoshii.display();if(gongreni.name=xm)cout该人员信息如下:;gongreni.display();menu();void setstart()int i;

13、cout现在开始初始化程序,请按提示输入endl;for(i=0;i1;i+)jiaoshii.getdate();t=t+1;for(i=0;i1;i+)gongreni.getdate();w=w+1;int main()setstart();menu();return 0;五、 系统测试 初始化程序建立初始成员增加一个教师记录增加一个工人记录显示所有记录计算教师平均年龄计算工人平均年龄删除一个教师删除一个工人按系搜索按名字查找结束六、总结 1个人完成内容: 所有部分2 遇到的问题及解决方案:问题主要是虚基类的构造与实现,因为虚基类的不熟悉,我们花了很大功夫在虚基类的构造与实现上了。查了很

14、多资料。其次,考虑到教师及工人的删除,我们打算用链表实现,但数据结构没有学习给我们造成了很大困扰最后我们换了一种实现方式。3设计体会本次c+上机实际操作对我感触良多,首先认识到自己对课本知识的认识上的不足,以及实际设计的难度是平时学习中遇到常见的问题的集合,各种问题都是以前学习是欠下的债。在实际的操作的过程中我们组员能同心协力的完成任务,让我很高兴,这说明团队合作是一件很重要的事情,特别是在我们遇到大型项目及一些难度特别大的题目是,团队的力量越能显现。一个大型项目的完成现在绝不是一个人厉害就可以解决的,同心协力才是王道。一个好的团队,分工很重要,我们分工不同大家在交流中不断成长,不断学习,一周的时间说长不长说短不短,但是对于一个好的系统来说我们的方案还存在着诸多不足,我们只是完成了基本功能的实现,并没有使这个东西能成为一个产品,我们会在以后继续完善,争取早日做出自己的产品来。王志飞 成绩: 王志飞

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!