第一题实验报告.doc_第1页
第一题实验报告.doc_第2页
第一题实验报告.doc_第3页
第一题实验报告.doc_第4页
第一题实验报告.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

第一题实验报告一 设计题目一使用继承的方法,编写最多能输入10个职工的信息表,再根据这个表产生一个职工信息简表,并利用多态性实现信息的输出。1 基本设计要求设计要求实现如下功能:1) 建立职工信息数据,包括职工编号、姓名、性别和年龄。2) 根据职工信息表,建立只含有姓名和年龄的职工信息简表。3) 使用继承的方法构造2个类,使用相应的对象数组放置10个职工信息。4) 编写同名display()成员函数,用来输出数组的内容。5) 另外编制一个函数printer(),用来根据实际对象输出它们的内容。2 进一步的要求设计菜单,简单界面为:1. 增加职工记录2. 生成信息简表3. 显示原始记录4. 显示简表记录5. 结束程序运行选择1-5:3 涉及到的主要知识点:(1)函数的定义;(2)类的定义;(3)类的继承;(4)对象数组(向量数组)等。二、内容要求 1、设计题目使用继承的方法,编写最多能输入10个职工的信息表,再根据这个表产生一个职工信息简表,并利用多态性实现信息的输出。 2、设计要求设计要求实现如下功能: (1).建立职工信息数据,包括职工编号、姓名,性别和年龄。 (2)据职工信息表,建立只含姓名和年龄的职工信息简表。 (3)使用继承的方法构造2个类,使用相应的对象数组放置10个职工信息。 (4)编写同名display( )成员函数,用来输出数组的内容。(5)编写函数printer( ),用来根据实际对象输出它们的内容。三、设计思想 1、类的结构 这里把简表的内容作为基类worker,由它派生详表类workers。这样,简表可以由赋值兼容规则得到。例如workers的一个对象wks为: 编 号 姓 名 性 别 年 龄 1001 张三 男 25 则worker的对象wk可以通过以下赋值兼容规则得到: wk=wks;这时wk的信息为: 姓名 年龄 张三 25 2、多态性 将worker的display()成员函数设计为虚函数,printer()函数使用基类worker对象的引用作为参数,即可实现多态性。 void printer(worker&s) s.display(); 3、设计主函数 要求编写最多输入10个职工的信息表,这里的意思是可以少于10个职工。使用ch存放读入的字符,当输入0时退出输入,同时将输入个数作为输出语句的循环次数。例如使用整型变量number存放输入个数,则可使用如下方法实现: if(0=w_num)number=i;break; 使用const定义一个常量SIZE=10,这样可以增加程序的灵活性。四、程序代码#include#includeusing namespace std;const int SIZE=10;/职工简表类class Workerprivate:int age;public:char name100;void setname(char n100);char getname();void setage(int a);int getage(); virtual void display();class Workers:public Workerprivate: int num;char sex6;public:void setnum(int n);int getnum();void setsex(char sSIZE);char getsex();void display();void printer(Worker&);void Worker:setname(char n100)strcpy(name,n);char Worker:getname() coutname; return(1);void Worker:setage(int a)age=a;int Worker:getage()return age;void Worker:display()couttnametageendl;void Workers:setnum(int n)num=n;int Workers:getnum()return num;void Workers:setsex(char sSIZE)strcpy(sex,s);char Workers:getsex()coutsex; return(1);void Workers:display()coutnumtnamet getage()tsexendl;/显示职工信息处理函数void printer(Worker&s)s.display();/主函数void main()Workers wksSIZE;Worker wkSIZE;int number;int w_num;char ch10;int w_age;coutendlendlt职工信息表endlendl;cout请输入职工信息,以输入编号为0结束!endl;for(int i=0;iSIZE;i+)coutw_num;if(0=w_num)number=i;break;wksi.setnum(w_num);coutch;wksi.setname(ch);coutch;wksi.setsex(ch);coutw_age;wksi.setage(w_age);coutendl;coutendl;for(i=0;inumber;i+)wki=wksi;coutt职工信息详表endl;cout编 号t姓 名t年 龄t性 别endl;for(i=0;inumber;i+)printer(wksi);coutendl;coutt职工信息简表endl;coutt姓 名t年 龄endl;for(i=0;inumber;i+)printer(wki);int main()int sum=0; /计算职工人数workers worker10; circle: couttt职工信息记录n; /破碎之圆coutt按1后, 增加职工记录n;coutt按2后, 显示职工人数n;coutt按3后, 显示所有职工简表记录n;coutt按4后, 显示所有职工原始记录n;coutt按5后, 显示特定编号的职工n;coutt按6后, 结束程序(数据无法保存)endlendl;cout-选择任一操作后,按enter-endl;cout你要按:select;switch (select)case 2: /显示职工人数coutt职工人数为t:sumendl; goto circle;case 1: /增加职工信息+sum;worker10.write(worker ,sum);goto circle;case 3: /显示职工简表 worker10.displaySim(worker, sum);goto circle;case 4: / 显示所有职工worker10.displayAll

温馨提示

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

评论

0/150

提交评论