收藏 分销(赏)

C++管理系统.doc

上传人:二*** 文档编号:4509467 上传时间:2024-09-26 格式:DOC 页数:14 大小:156KB
下载 相关 举报
C++管理系统.doc_第1页
第1页 / 共14页
本文档共14页,全文阅读请下载到手机保存,查看更方便
资源描述
程序设计实训报告 班级: 学号: 姓名: 2012年1月5日 一、课程设计的目的 1.进一步巩固C++语言理论基础。 2.熟练掌握程序设计的一般技巧和方法。 3.培养解决综合性实际问题的能力。 二、课程设计任务 题目:职工信息管理系统 题目要求:完成一个职工信息管理系统的设计,设计主要实现以下功能: (1)建立职工信息数据,包括职工编号、姓名、性别、工资、出生时间、参加工作时间和年龄。 (2)使用集成的方法构成三个类(雇员类,教师类个工人类,其中雇员类是虚基类,教师类个工人类是派生类),相应的对象防治10个职工信息。 (3)编写成员函数,用来输出数组内容。 (4)按不同的类别输出职工信息,比如按系输出驾驶信息。(可选功能) (5)检索(查找)指定信息(如按名字检索) 题目 职工信息管理系统 一、题目分析 首先构建虚基类employee,定义私有成员和共有成员变量。再定义两个派生类teacher和workers及数据的输入,定义成员函数。然后用输出流活得选择菜单。 在主函数中定义整形choice用switch(choice)......case语句执行选择菜单的功能 二、程序代码 #include <iostream> #include <string> using namespace std; class employee { public: virtual void display()=0; protected: int num; string name; string sex; float income; int birthday; int workday; int age; }; class teacher:virtual public employee { public: void getdata() { cout<<"请输入编号:"<<endl; cin>>num; cout<<"请输入姓名:"<<endl; cin>>name; cout<<"请输入姓别:"<<endl; cin>>sex; cout<<"请输入工资:"<<endl; cin>>income; cout<<"请输入生日:"<<endl; cin>>birthday; cout<<"请输入工作时间:"<<endl; cin>>workday; cout<<"请输入年龄:"<<endl; cin>>age; } void display() { cout<<"编号:"<<num<<endl; cout<<"姓名:"<<name<<endl; cout<<"姓别:"<<sex<<endl; cout<<"工资:"<<income<<endl; cout<<"生日:"<<birthday<<endl; cout<<"参加工作时间:"<<workday<<endl; cout<<"年龄:"<<age<<endl; } int getage() { return age; } int getnum() { return num; } string getname() { return name; } }; class worker:virtual public employee { public: void getdata() { cout<<"请输入编号:"<<endl; cin>>num; cout<<"请输入姓名:"<<endl; cin>>name; cout<<"请输入姓别:"<<endl; cin>>sex; cout<<"请输入工资:"<<endl; cin>>income; cout<<"请输入生日:"<<endl; cin>>birthday; cout<<"请输入参加工作时间:"<<endl; cin>>workday; cout<<"请输入年龄"<<endl; cin>>age; } void display() { cout<<"编号:"<<num<<endl; cout<<"姓名:"<<name<<endl; cout<<"姓别:"<<sex<<endl; cout<<"工资:"<<income<<endl; cout<<"生日:"<<birthday<<endl; cout<<"参加工作时间:"<<workday<<endl; cout<<"年龄:"<<age<<endl; } int getage() { return age; } int getnum() { return num; } string getname() { return name; } }; void menu(int &choice) { cout<<"\t******************************************************"<<endl; cout<<"\t\t\t 职工信息管理系统"<<endl; cout<<"\t******************************************************"<<endl; cout<<"\t\t\t1. 增加一位教师记录"<<endl; cout<<"\t\t\t2. 增加一位工人记录"<<endl; cout<<"\t\t\t3. 显示全部职工记录"<<endl; cout<<"\t\t\t4. 删除一个教师记录"<<endl; cout<<"\t\t\t5. 删除一个工人记录"<<endl; cout<<"\t\t\t6. 按姓名检索所有信息"<<endl; cout<<"\t\t\t7. 退出"<<endl; cout<<"\t******************************************************"<<endl; cout<<"\t 请选择你要执行的功能(请输入你要完成的功能的序号):"<<endl; cin>>choice; } int main() { int choice=0; int indx1=0,indx2=0; bool flag=false; teacher t[10]; worker w[10]; while (1) { int i=0; int temp; string tname; menu(choice); switch (choice) { case 1: t[indx1++].getdata(); break; case 2: w[indx2++].getdata(); break; case 3: cout<<"显示所有教师信息:"<<endl; for (i=0;i!=indx1;++i) { t[i].display(); } cout<<"显示所有工人信息:"<<endl; for (i=0;i!=indx2;++i) { w[i].display(); } break; case 4: cout<<"请输入要删除教师的编号"<<endl; cin>>temp; for (i=0;i!=indx1;++i) { if (temp==t[i].getnum()) { do { t[i]=t[i+1]; ++i; } while (i!=indx1); cout<<"已删除"<<endl; --indx1; break; } } break; case 5: cout<<"请输入要删除工人的编号"<<endl; cin>>temp; for (i=0;i!=indx2;++i) { if (temp==w[i].getnum()) { do { w[i]=w[i+1]; ++i; } while (i!=indx2); cout<<"已删除"<<endl; --indx2; break; } } break; case 6: cout<<"请输入姓名:"<<endl; cin>>tname; for (i=0;i!=indx1;++i) { if (tname==t[i].getname()) { cout<<"这位是教师"<<endl; t[i].display(); } } for (i=0;i!=indx2;++i) { if (tname==w[i].getname()) { cout<<"这位是工人"<<endl; w[i].display(); } } break; case 7: flag=true; break; } if (flag) { break; } } return 0; } 三、运行结果 显示菜单 选择功能1. 选择功能2 选择功能3 选择功能4 功能选择5 选择功能6 选择功能7 四、总结 虽然课程设计只有短短的几天,但是我发现我学到的知识比整整一个学期学到的都多。理论和实践的相结合是学习最有效的方法。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。 回顾起此次课程设计,我感慨颇多,的确,从从拿到题目到完成整个编程,从理论到实践,在整整一个星期的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服