《2022年C++职工信息管理系统 .pdf》由会员分享,可在线阅读,更多相关《2022年C++职工信息管理系统 .pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、课程设计报告课程设计题目:职工信息管理系统学号:1021113127姓名:陈丽金专业:软件学院(国际教育)班级:10211131指导教师:许志文2011 年 12 月 3 日名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 8 页 -课程设计名称:职工信息管理系统1.设计内容:设计的职工信息管理系统,能完成功能:系统以菜单方式工作职工信息录入功能(职工信息用文件保存)职工信息浏览功能输出查询和排序功能:职工信息删除、修改功能(任选项)2.设计目的与要求:2.1 设计目的达到熟练掌握C+语言的基本知识和技能;基本掌握面向对象程序设计的基本思路和方法;能够利用所学的基本知识和技能,解决
2、简单的面向对象程序设计问题。2.2 设计要求要求利用面向对象的方法以及C+的编程思想来完成系统的设计;要求在设计的过程中,建立清晰的类层次;在系统的设计中,至少要用到面向对象的一种机制。3.系统分析与设计3.1 主要知识点利用类的成员函数调用类的数据成员完成系统的工作。3.2 关键技术主要由worker 类中的成员函数来完成对数据成员num(编号),name(姓名),age(年龄)sex(性别),的操作来实现系统的运行。系统以菜单方式运行。成员函数主要如下:(1)void menu();显示菜单函数,提供成员函数的选择。(2)float add(CDetTab a,int&n);/声明增加记录
3、函数职工信息添加函数。(3)float makest(CDetTab det,CSimTab sim,int&n);/声明生成简表函数(4)float printer(CTable*pt,int&n);/声明显示原始记录函数4.源程序代码名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 8 页 -#include#include#include/字符串声明#define MAXNUM 10 using namespace std;/所谓 namespace,是指标识符的各种可见范围。C标准程序库中的所有标识符都被定义于一个名为std 的 namespace中。ofstream fs
4、imtab(SimTale.txt,ios:out);ofstream fdettab(DetTab.txt,ios:out);ifstream fdata(xinxi.txt,ios:in);class CTable/信息表基类 public:string num;string name;char sex;/性别用 f(女)和m(男)表示。int age;virtual void display()/纯虚函数;class CSimTab:public CTable/简表类声明simple Table public:virtual void display();/纯虚函数;class CDet
5、Tab:public CTable/信息表类声明Detail Table public:virtual void display();/纯虚函数;int menu();/声明菜单函数float add(CDetTab a,int&n);/声明增加记录函数float makest(CDetTab det,CSimTab sim,int&n);/声明生成简表函数float printer(CTable*pt,int&n);/声明显示原始记录函数void Read(CDetTab a,int&n)/读出职工信息 ifstream Re(date.txt,ios:in);Ren;for(int i=0
6、;iai.num;Reai.name;Reai.sex;Reai.age;Re.close();名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 8 页 -void Write(CDetTab a,int&n)/写入职工信息 ofstream Re(date.txt,ios:out);Renendl;for(int i=0;in;i+)Reai.numendl;Reai.nameendl;Reai.sexendl;Reai.ageendl;Re.close();int main()CSimTab simtabMAXNUM;/定义简表数组CDetTab dettabMAXNUM;/定
7、义信息表数组int lastnum=0;string hold;system(title 职工信息管理系统);/修改运行窗口标题/system 函数是用于调用dos命令Read(dettab,lastnum);makest(dettab,simtab,lastnum);/简表bool exit=false;/不退出do switch(menu()case 1:/1.增加职工记录if(add(dettab,lastnum)cout 增 加 成功,请 输入 任 意内 容 返回 主 菜 单!endl;else cout添加失败!可能数组已满!请输入任意内容返回主菜单 hold;break;case
8、2:/2.生成信息简表if(makest(dettab,simtab,lastnum)cout生成信息简表成功!请输入任意内容返回主菜单!endl;else cout生成信息简表失败!请输入任意内容返回主菜单!hold;break;case 3:/3.显示原始记录if(printer(dettab,lastnum)cout请输入任意内容返回主菜单!endl;else cout请输入任意内容返回主菜单!hold;break;case 4:/4.显示简表记录cout输入任意返回主菜单!endl;else cout输入任意返回主菜单!hold;break;case 5:/5.结束程序运行exit=t
9、rue;Write(dettab,lastnum);break;while(exit=false);cout 谢谢使用!endl;fsimtab.close();fdettab.close();fdata.close();char f,m;int menu()/菜单函数定义 int a=5;do cout 请在以下操作选项中选择一个:endl;cout endl;/空行cout1.增加职工记录 endl;cout2.生成信息简表 endl;cout3.显示原始记录 endl;cout4.显示简表记录 endl;cout5.结束程序运行 endl;cout endl;/空行couta;while
10、(a5);/限制菜单return a;名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 8 页 -void CSimTab:display()/类中 display 函数的定义(简表的只含编号和姓名)cout 姓名:nameendl;cout 编号:numendl;fsimtab 姓名:nameendl;fsimtab 编号:numendl;fsimtab endl;void CDetTab:display()/类中 display 函数的定义(信息表的)cout 编号:numendl;cout 姓名:nameendl;cout 性别:sexendl;cout 年龄:ageendl
11、;fdettab 编号:numendl;fdettab 姓名:nameendl;fdettab 性别:sexendl;fdettab 年龄:ageendl;fdettab endl;/1.增加职工记录float add(CDetTab a,int&n)if(n10)cout 您选择的是:1.增加职工记录endl;/判断编号是否重复bool c;do c=true;coutan.num;for(int k=0;kn;k+)if(an.num=ak.num)cout你输入的编号重复!endl;c=false;while(c=false);coutan.name;coutan.sex;while(a
12、n.sex!=f&an.sex!=m)cout 性别输入错误;名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 8 页 -coutan.sex;coutan.age;n+;return 1;else return 0;/2.生成信息简表float makest(CDetTab det,CSimTab sim,int&n)if(n10)for(int i=0;i=n;i+)simi.name=deti.name;simi.num=deti.num;return 1;else return 0;/信息输出函数float printer(CTable*pt,int&n)/参数为指向基类的
13、指针,整型n for(int i=0;in;i+)coutdisplay();/对象指针-成员名 cout endl;return 0;5.运行结果选择 1,则显示次级菜单,进入职工信息添加界面,如图所示。名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 8 页 -选择 2 生成信息简表选择 3,显示原始记录。选择 4,显示生成简表。6.设计体会1上机过程中出现的问题及其解决方案上机调试时总会出现细节性的错误,编译时会出错。反复发现错误,修正错误。2程序中可以改进的地方说明职工信息管理系统还应该提供更细节的选择菜单,以方便用户的操作。还有就是提供选择的菜单编号的类型应定义为string 类。现在数字编号是int 类型,用户输入字母时虽然会提示出错,但是有时候会造成死循环。7.参考书目c+语言程序设计(第四版)清华大学出版社c+程序设计简明教程实验报告指导与习题解答王小东主编名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 8 页 -