c公司人员标准管理系统_第1页
c公司人员标准管理系统_第2页
c公司人员标准管理系统_第3页
c公司人员标准管理系统_第4页
c公司人员标准管理系统_第5页
已阅读5页,还剩58页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

C++面向对象程序设计课程设计报告课程名称C++面向对象程序设计课题名称企业人员信息管理系统专业班级学号姓名指导老师12月25日

(一)、课程设计题目企业人员信息管理系统、目标和要求:1、目标:(1)要求学生达成熟练掌握C++语言基础知识和技能;(2)基础掌握面向对象程序设计基础思绪和方法;(3)能够利用所学基础知识和技能,处理简单面向对象程序设计问题。2、基础要求:(1)要求利用面向对象方法和C++编程思想来完成系统设计;(2)要求在设计过程中,建立清楚类层次;(3)在系统中最少要定义四个类,每个类中要有各自属性和方法;(4)在系统设计中,最少要用到面向对象一个机制。3、创新要求:在基础要求达成后,可进行创新设计,如依据查找结果进行修改功效。(三)、设计方法和基础原理:1.功效要求(1)添加功效程序能够任意添加上述四类人员统计,可提供选择界面供用户选择所要添加人员类别,要求人员编号要唯一,假如添加了反复编号统计时,则提醒用户数据添加反复并取消添加。(2)查询功效可依据编号、姓名等信息对已添加统计进行查询。假如未找到,给出对应提醒信息,假如找到,则显示对应统计信息。(3)显示功效可显示目前系统中全部统计。(4)修改功效可依据查询结果对对应统计进行修改,修改时注意编号唯一性。(5)删除功效对已添加人员统计进行删除。假如目前系统中没有对应人员统计,则提醒“统计为空!”并返回操作;不然输入要删除人员编号或姓名,依据所输入信息删除该人员统计,假如没有找到该人员信息,则提醒对应统计不存在。(6)统计功效能依据多个参数进行人员统计。比如:统计四类人员数量和总数,统计男、女职员数量,统计平均工资、最高工资、最低工资等。(7)保留功效将目前系统中各类人员统计存入文件中。(8)读取功效将保留在文件中人员信息读入到目前系统中,以供用户使用。在完成以上基础功效基础上,可自行进行扩展或完善。2、问题处理方案:依据系统功效要求,能够将问题处理分为以下步骤:1)应用系统分析,建立该系统功效模块框图和界面组织和设计;2)分析系统中各个实体和它们之间关系;3)依据问题描述,设计系统类层次;4)完成类层次中各个类描述;5)完成类中各个组员函数定义;6)完成系统应用模块;7)功效调试;8)完成系统总结汇报。目录TOC\o"1-2"\h\z\u1. 系统需求分析 12. 总体设计 23. 具体设计及实现 34. 系统调试 65. 结论 86. 心得体会 97. 参考书目 10系统需求分析1.1系统设计目标和意义:现在企业越做越大,企业人员数量越来越多,所以需要一个企业人员管理系统来对企业人员进行管理。1.2系统功效需求:本系统有五个类:Stuff类、Manager类、Salesman类、SalesManager类、Technicist类,存放基础信息、经理信息、销售人员信息、销售经理信息及技术人员信息。1.基础信息添加功效程序能够任意添加经理信息、销售信息、销售经理信息和技术人员信息。2.修改功效对已添加统计(经理信息、销售信息、销售经理信息和技术人员信息)进行修改。3.删除功效对已添加统计(经理信息、销售信息、销售经理信息和技术人员信息)进行删除。假如目前系统中没有对应统计,则提醒“统计为空!”并返回操作;不然输入要删除编号对该统计进行删除,假如没有找到,则提醒对应统计不存在。4.查询功效①可依据职位编号查询某职位全部职员信息。②可依据职员编号查询某职员全部信息。假如未找到,给出对应提醒信息,假如找到,则显示对应统计信息。5.保留功效将目前系统中各类统计存入文件中。6.读取功效将保留在文件中信息读入到目前系统中,以供用户使用。总体设计2.1系统功效分析:系统经过调用函数来实现信息录入、信息修改、信息删除、信息查询和数据保留文件等功效。add()函数用于录入信息;modify()函数用来修改信息;del()函数用来修改信息;look()函数用来搜索职员信息;read()函数用于将文件中数据读取到内存中;save()函数用于将内存中信息存入文件内;count用于统计职员总数;show()显示职员信息;主函数main()用于调用这些函数。2.2系统功效模块划分和设计:系统定义了Stuff类、Manager类、Salesman类、SalseManager类这五个类,定义了add()、modify()、del()、read()、save()、look()、count()、show()、等函数来实现系统所需功效。2.3系统功效模块图:企业人员信息管理系统企业人员信息管理系统技术人员信息添加技术人员信息查询技术人员信息显示技术人员信息修改技术人员信息删除技术人员信息统计技术人员信息保留技术人员信息读取技术人员信息管理销售经理信息添加销售经理信息查询销售经理信息显示销售经理信息修改销售经理信息删除销售经理信息统计销售经理信息保留销售经理信息读取销售经理信息管理销售人员信息添加销售人员信息查询销售人员信息显示销售人员信息修改销售人员信息删除销售人员信息统计销售人员信息保留销售人员信息读取销售人员信息管理经理信息添加经理信息查询经理信息显示经理信息修改经理信息删除经理信息统计经理信息保留经理信息读取经理信息管理2.4类设计(1)Stuff类(抽象类)设计:StuffStuffvirtualvoidread()=0;virtualvoidadd()=0; virtualvoidmodify(int)=0;virtualvoiddel(int)=0;virtualvoidsave()=0;Virtualvoidlook()=0;Virtualvoidcount()=0;Virtualvoidshow()=0;VirtualvoidInput()=0;VirtualvoidOutput()=0;(2)经理类设计:ManagerManagerfloatpay;voidread();voidadd();voidlook();voidshow();voidmodify(int);voiddel(int);voidcount();voidsave();voidInput()(3)销售人员类设计:SalesmanSalesmanfloatmarket;floatrate;voidread(); voidadd(); voidlook(); voidshow(); voidmodify(int);voiddel(int);voidcount();voidsave();voidInput()(4)销售经理类设计:SalesManagerSalesManagerfloatpay1,market1,rate1;voidread();voidadd(); voidlook(); voidshow(); voidmodify(int);voiddel(int);voidcount();voidsave();voidInput();(5)技术人员类设计:TechnicistTechnicistfloathour;voidread(); voidadd(); voidlook(); voidshow(); voidmodify(int);voiddel(int);voidcount(); voidsave();voidInput()Technicistfloathour;voidread();Technicistfloathour;voidread();voidadd();voidlook();voidshow();voidmodify(int);voiddel(int);voidcount();voidsave();voidInput()Stuffvirtualvoidread()=0;virtualvoidadd()=0; virtualvoidmodify(int)=0;virtualvoiddel(int)=0;virtualvoidsave()=0;Virtualvoidlook()=0;Virtualvoidcount()=0;Virtualvoidshow()=0;VirtualvoidInput()=0;VirtualvoidOutput()=0;Managerfloatpay;voidread();voidadd();voidlook();voidshow();Voidmodify(int);voiddel(int);voidcount();voidsave();voidInput();voidInput()Salesmanfloatmarket;floatrate;voidread();voidadd();voidlook();voidshow();voidmodify(int);voiddel(int);voidcount();voidsave();voidInput()SalesManagerfloatpay1,market1,rate1;voidread();voidadd();voidlook();voidshow();voidmodify(int);voiddel(int);voidcount();voidsave();voidInput();Salesmanfloatmarket;floatrate;voidread();voidadd();voidlook();voidshow();voidmodify(int);voiddel(int);voidcount();voidsave();voidInput()ManagerfloatpayManagerfloatpay;voidread();voidadd();voidlook();voidshow();Voidmodify(int);voiddel(int);voidcount();voidsave();voidInput();voidInput()SalesManagerfloatpay1,market1,rate1;voidread();voidadd();voidlook();SalesManagerfloatpay1,market1,rate1;voidread();voidadd();voidlook();voidshow();voidmodify(int);voiddel(int);voidcount();voidsave();voidInput();Stuffvirtualvoidread()=0;virtualvoidadd()=0; virtualvoidmodify(int)=0;virtualvoiddel(int)=0;virtualvoidsave()=0;Virtualvoidlook()=0;Virtualvoidcount()=0;Virtualvoidshow()=0;VirtualvoidInput()=0;VirtualvoidOutput()=0;具体设计及实现3.1Stuff类(抽象类)实现classStuff{public: virtualvoidread()=0; virtualvoidadd()=0; virtualvoidlook()=0; virtualvoidshow()=0; virtualvoidmodify(int)=0; virtualvoiddel(int)=0;virtualvoidcount()=0; virtualvoidsave()=0;virtualvoidInput()=0;virtualvoidOutput()=0;intnumber; charname[100];charsex[10]; chardepartment[10]; charrank[10];floatmonpay;};3.2经理类实现#include"Stuff.h"classManager:publicStuff{public: voidread(); voidadd(); voidlook(); voidshow(); voidmodify(int);voiddel(int);voidcount(); voidsave();voidInput() {cout<<"请输入经理编号:\n"; cin>>number; cout<<"姓名:\n"; cin>>name; cout<<"性别:\n"; cin>>sex; cout<<"所在部门:\n"; cin>>department; cout<<"等级:\n"; cin>>rank; cout<<"固定工资:\n"; cin>>pay; monpay=pay; } voidOutput() {cout<<setw(10)<<"经理信息"<<setw(10)<<"编号"<<setw(10)<<"姓名"<<setw(10)<<"性别"<<setw(10)<<"所在部门"<<setw(10)<<"等级"<<setw(10)<<"月薪"<<endl; cout<<setw(10)<<"经理信息"<<setw(10)<<number<<setw(10)<<name<<setw(10)<<sex<<setw(10)<<department<<setw(10)<<rank<<setw(10)<<monpay<<endl;}protected:floatpay;};Manager.cppvoidManager::read(){fstreammanagerfile("经理信息管理.dat",ios::in|ios::out);managerfile>>m1[count_Manager].number>>m1[count_Manager].name>>m1[count_Manager].sex>>m1[count_Manager].department>>m1[count_Manager].rank>>m1[count_Manager].monpay; while(!managerfile.eof()) {managerfile>>m1[count_Manager].number>>m1[count_Manager].name>>m1[count_Manager].sex>>m1[count_Manager].department>>m1[count_Manager].rank>>m1[count_Manager].monpay;count_Manager++; } managerfile.close();}voidManager::add(){ m1[count_Manager].number=number;strcpy(m1[count_Manager].name,name);strcpy(m1[count_Manager].sex,sex);strcpy(m1[count_Manager].department,department);strcpy(m1[count_Manager].rank,rank);m1[count_Manager].monpay=monpay;m1[count_Manager].number=number;count_Manager++;}voidManager::look(){if(count_Manager==0){cout<<"对不起,没有相关统计!"<<endl;return;}intchoice;cout<<"请选择查找方法:1、编号查找2、姓名查找"<<endl;cin>>choice;while(choice!=1&&choice!=2) {cout<<"请输入正确选择:";cin>>choice;}switch(choice){ case1: { cout<<"请输入要查找经理编号:"; intnumber; cin>>number; for(inti=0;i<count_Manager;i++) {if(m1[i].number==number) { m1[i].Output(); return; } } cout<<"没有相关人员!"<<endl; break; } case2: { cout<<"请输入要查找经理姓名:";charname[100]; cin>>name; for(inti=0;i<count_Manager;i++) { if(strcmp(m1[i].name,name)==0) { m1[i].Output(); return; } } cout<<"没有相关人员!"<<endl; break; } default:cout<<"无此选项,请重试!"<<endl;break; }}voidManager::show(){for(inti=0;i<=count_Manager-1;i++) m1[i].Output(); }voidManager::modify(intindex){m1[index-1].number=number;strcpy(m1[index-1].name,name);strcpy(m1[index-1].sex,sex); strcpy(m1[index-1].department,department); strcpy(m1[index-1].rank,rank);m1[index-1].monpay=monpay;}voidManager::del(intindex){for(inti=index;i<=count_Manager-1;i++) { m1[i-1].number=m1[i].number; strcpy(m1[i-1].name,m1[i].name);strcpy(m1[i-1].sex,m1[i].sex); strcpy(m1[i-1].department,m1[i].department); strcpy(m1[i-1].rank,m1[i].rank);m1[i-1].monpay=m1[i].monpay; } count_Manager--;}voidManager::count(){intsum=0; intmale=0,female=0; for(inti=0;i<count_Manager;i++) { if(!strcmp(m1[i].sex,"男")) male++; if(!strcmp(m1[i].sex,"女")) female++; sum++; } cout<<"总人数是: "<<sum<<endl; cout<<"男人数是: "<<male<<endl; cout<<"女人数是: "<<female<<endl;}voidManager::save(){ ofstreammanagerfile; managerfile.open("经理信息管理.dat"); for(inti=0;i<=count_Manager-1;i++) managerfile<<m1[i].number<<""<<m1[i].name<<""<<m1[i].sex<<""<<m1[i].department<<""<<m1[i].rank<<""<<m1[i].monpay<<endl;managerfile.close();}3.3销售人员类实现#include"Stuff.h"classSalesman:publicStuff{public: voidread(); voidadd(); voidlook();voidshow(); voidmodify(int);voiddel(int);voidcount(); voidsave();voidInput() { cout<<"请输入销售人员编号:\n"; cin>>number; cout<<"姓名:\n"; cin>>name; cout<<"性别:\n"; cin>>sex; cout<<"所在部门:\n"; cin>>department; cout<<"等级:\n"; cin>>rank; cout<<"销售额和分成百分比:\n"; cin>>market>>rate; monpay=market*rate; } voidOutput() { cout<<setw(10)<<"销售人员信息"<<setw(10)<<"编号"<<setw(10)<<"姓名"<<setw(10)<<"性别"<<setw(10)<<"所在部门"<<setw(10)<<"等级"<<setw(10)<<"月薪"<<endl; cout<<setw(10)<<"经理信息"<<setw(10)<<number<<setw(10)<<name<<setw(10)<<sex<<setw(10)<<department<<setw(10)<<rank<<setw(10)<<monpay<<endl; }protected:floatmarket;floatrate;};Salesman.cppvoidSalesman::read(){fstreamSalesmanfile("销售人员信息管理.dat",ios::in|ios::out);Salesmanfile>>s1[count_Salesman].number>>s1[count_Salesman].name>>s1[count_Salesman].sex>>s1[count_Salesman].department>>s1[count_Salesman].rank>>s1[count_Salesman].monpay;while(!Salesmanfile.eof()){Salesmanfile>>s1[count_Salesman].number>>s1[count_Salesman].name>>s1[count_Salesman].sex>>s1[count_Salesman].department>>s1[count_Salesman].rank>>s1[count_Salesman].monpay; count_Salesman++; } Salesmanfile.close();}voidSalesman::add(){ s1[count_Salesman].number=number;strcpy(s1[count_Salesman].name,name);strcpy(s1[count_Salesman].sex,sex); strcpy(s1[count_Salesman].department,department); strcpy(s1[count_Salesman].rank,rank);s1[count_Salesman].monpay=monpay;count_Salesman++;}voidSalesman::look(){if(count_Salesman==0){cout<<"对不起,没有相关统计!"<<endl;return;}intchoice;cout<<"请选择查找方法:1、编号查找2、姓名查找"<<endl;cin>>choice;while(choice!=1&&choice!=2) {cout<<"请输入正确选择:";cin>>choice;}switch(choice){ case1: { cout<<"请输入要查找销售人员编号:"; intnumber; cin>>number; for(inti=0;i<count_Salesman;i++) {if(s1[i].number==number) { s1[i].Output(); return; } } cout<<"没有相关人员!"<<endl; break; } case2: { cout<<"请输入要查找销售人员姓名:";charname[100]; cin>>name; for(inti=0;i<count_Salesman;i++) { if(strcmp(s1[i].name,name)==0) { s1[i].Output(); return; } } cout<<"没有相关人员!"<<endl; break; } default:cout<<"无此选项,请重试!"<<endl;break; }}voidSalesman::show(){for(inti=0;i<=count_Salesman-1;i++) s1[i].Output(); }voidSalesman::modify(intindex){s1[index-1].number=number;strcpy(s1[index-1].name,name);strcpy(s1[index-1].sex,sex); strcpy(s1[index-1].department,department); strcpy(s1[index-1].rank,rank);s1[index-1].monpay=monpay;}voidSalesman::del(intindex){for(inti=index;i<=count_Salesman-1;i++) { s1[i-1].number=s1[i].number; strcpy(s1[i-1].name,s1[i].name);strcpy(s1[i-1].sex,s1[i].sex); strcpy(s1[i-1].department,s1[i].department); strcpy(s1[i-1].rank,s1[i].rank);s1[i-1].monpay=s1[i].monpay; } count_Salesman--;}voidSalesman::count(){intsum2=0; intmale2=0,female2=0; for(inti=0;i<count_Salesman;i++) { if(!strcmp(s1[i].sex,"男")) male2++; if(!strcmp(s1[i].sex,"女")) female2++; sum2++; } cout<<"总人数是: "<<sum2<<endl; cout<<"男人数是: "<<male2<<endl; cout<<"女人数是: "<<female2<<endl;}voidSalesman::save(){ ofstreamSalesmanfile; Salesmanfile.open("销售人员信息管理.dat"); for(inti=0;i<=count_Salesman-1;i++) Salesmanfile<<s1[i].number<<""<<s1[i].name<<""<<s1[i].sex<<""<<s1[i].department<<""<<s1[i].rank<<""<<s1[i].monpay<<endl;Salesmanfile.close();}3.4销售经理类实现Salesmanager.hclassSalesmanager:publicStuff{public:floatpay1,market1,rate1;voidread(); voidadd(); voidlook(); voidshow(); voidmodify(int);voiddel(int);voidcount(); voidsave();voidInput() { cout<<"请输入销售经理编号:\n"; cin>>number; cout<<"姓名:\n"; cin>>name; cout<<"性别:\n"; cin>>sex; cout<<"所在部门:\n"; cin>>department; cout<<"等级:\n"; cin>>rank;cout<<"固定工资、销售额和分成率:\n"; cin>>pay1>>"">>market1>>"">>rate1; monpay=market1*rate1+pay1; } voidOutput() { cout<<setw(10)<<"销售经理信息"<<setw(10)<<"编号"<<setw(10)<<"姓名"<<setw(10)<<"性别"<<setw(10)<<"所在部门"<<setw(10)<<"等级"<<setw(10)<<"月薪"<<endl; cout<<setw(10)<<"经理信息"<<setw(10)<<number<<setw(10)<<name<<setw(10)<<sex<<setw(10)<<department<<setw(10)<<rank<<setw(10)<<monpay<<endl; }};Sslesmanager.cppvoidSalesmanager::read(){fstreamSalesmanagerfile("销售经理信息管理.dat",ios::in|ios::out);Salesmanagerfile>>ss1[count_Salesmanager].number>>ss1[count_Salesmanager].name>>ss1[count_Salesmanager].sex>>ss1[count_Salesmanager].department>>ss1[count_Salesmanager].rank>>ss1[count_Salesmanager].monpay;while(!Salesmanagerfile.eof()){Salesmanagerfile>>ss1[count_Salesmanager].number>>ss1[count_Salesmanager].name>>ss1[count_Salesmanager].sex>>ss1[count_Salesmanager].department>>ss1[count_Salesmanager].rank>>ss1[count_Salesmanager].monpay;count_Salesmanager++;}Salesmanagerfile.close();}voidSalesmanager::add(){ss1[count_Salesmanager].number=number;strcpy(ss1[count_Salesmanager].name,name);strcpy(ss1[count_Salesmanager].sex,sex); strcpy(ss1[count_Salesmanager].department,department); strcpy(ss1[count_Salesmanager].rank,rank);ss1[count_Salesmanager].monpay=monpay;count_Salesmanager++;}voidSalesmanager::look(){if(count_Salesmanager==0){cout<<"对不起,没有相关统计!"<<endl;return;}intchoice;cout<<"请选择查找方法:1、编号查找2、姓名查找"<<endl;cin>>choice;while(choice!=1&&choice!=2) {cout<<"请输入正确选择:";cin>>choice;}{ case1: { cout<<"请输入要查找销售经理编号:"; intnumber; cin>>number; for(inti=0;i<count_Salesmanager;i++) {if(ss1[i].number==number) { ss1[i].Output(); return; } } cout<<"没有相关人员!"<<endl; break; } case2: { cout<<"请输入要查找销售经理姓名:";charname[100]; cin>>name; for(inti=0;i<count_Salesmanager;i++) { if(strcmp(ss1[i].name,name)==0) { ss1[i].Output(); return; } } cout<<"没有相关人员!"<<endl; break; } default:cout<<"无此选项,请重试!"<<endl;break; }}voidSalesmanager::show(){for(inti=0;i<=count_Salesmanager-1;i++) ss1[i].Output(); }voidSalesmanager::modify(intindex){ss1[index-1].number=number;strcpy(ss1[index-1].name,name);strcpy(ss1[index-1].sex,sex); strcpy(ss1[index-1].department,department); strcpy(ss1[index-1].rank,rank);ss1[index-1].monpay=monpay;}voidSalesmanager::del(intindex){for(inti=index;i<=count_Salesmanager-1;i++) { ss1[i-1].number=ss1[i].number; strcpy(ss1[i-1].name,ss1[i].name);strcpy(ss1[i-1].sex,ss1[i].sex); strcpy(ss1[i-1].department,ss1[i].department); strcpy(ss1[i-1].rank,ss1[i].rank);ss1[i-1].monpay=ss1[i].monpay; } count_Salesmanager--;}voidSalesmanager::count(){intsum2=0; intmale2=0,female2=0; for(inti=0;i<count_Salesmanager;i++) { if(!strcmp(ss1[i].sex,"男")) male2++; if(!strcmp(ss1[i].sex,"女")) female2++; sum2++; } cout<<"总人数是: "<<sum2<<endl; cout<<"男人数是: "<<male2<<endl; cout<<"女人数是: "<<female2<<endl;}voidSalesmanager::save(){ ofstreamSalesmanagerfile; Salesmanagerfile.open("销售经理信息管理.dat"); for(inti=0;i<=count_Salesmanager-1;i++) Salesmanagerfile<<ss1[i].number<<""<<ss1[i].name<<""<<ss1[i].sex<<""<<ss1[i].department<<""<<ss1[i].rank<<""<<ss1[i].monpay<<endl;Salesmanagerfile.close();}3.5技术人员类实现Technicist.hclassTechnicist:publicStuff{public:voidread();voidadd();voidlook();voidshow();voidmodify(int);voiddel(int);voidcount();voidsave();voidInput() { cout<<"请输入技术人员编号:\n"; cin>>number; cout<<"姓名:\n"; cin>>name; cout<<"性别:\n"; cin>>sex; cout<<"所在部门:\n"; cin>>department; cout<<"等级:\n"; cin>>rank; cout<<"工作时数:\n"; cin>>hour; monpay=100*hour; } voidOutput() { cout<<setw(10)<<"技术人员信息"<<setw(10)<<"编号"<<setw(10)<<"姓名"<<setw(10)<<"性别"<<setw(10)<<"所在部门"<<setw(10)<<"等级"<<setw(10)<<"月薪"<<endl; cout<<setw(10)<<"技术人员信息"<<setw(10)<<number<<setw(10)<<name<<setw(10)<<sex<<setw(10)<<department<<setw(10)<<rank<<setw(10)<<monpay<<endl; }protected:floathour;};Technicist.cppvoidTechnicist::read(){fstreamTechnicistfile("技术人员信息管理.dat",ios::in|ios::out);Technicistfile>>t1[count_Technicist].number>>t1[count_Technicist].name>>t1[count_Technicist].sex>>t1[count_Technicist].department>>t1[count_Technicist].rank>>t1[count_Technicist].monpay; while(!Technicistfile.eof()) { Technicistfile>>t1[count_Technicist].number>>t1[count_Technicist].name>>t1[count_Technicist].sex>>t1[count_Technicist].department>>t1[count_Technicist].rank>>t1[count_Technicist].monpay; count_Technicist++; } Technicistfile.close();}voidTechnicist::add(){ t1[count_Technicist].number=number;strcpy(t1[count_Technicist].name,name);strcpy(t1[count_Technicist].sex,sex); strcpy(t1[count_Technicist].department,department); strcpy(t1[count_Technicist].rank,rank);t1[count_Technicist].monpay=monpay;count_Technicist++;}voidTechnicist::look(){if(count_Technicist==0){cout<<"对不起,没有相关统计!"<<endl;return;}intchoice;cout<<"请选择查找方法:1、编号查找2、姓名查找"<<endl;cin>>choice;while(choice!=1&&choice!=2) {cout<<"请输入正确选择:";cin>>choice;}switch(choice){ case1: { cout<<"请输入要查找技术人员编号:"; intnumber; cin>>number; for(inti=0;i<count_Technicist;i++) {if(t1[i].number==number) { t1[i].Output(); return; } } cout<<"没有相关人员!"<<endl; break; } case2: { cout<<"请输入要查找技术人员姓名:";charname[100]; cin>>name; for(inti=0;i<count_Technicist;i++) { if(strcmp(t1[i].name,name)==0) { t1[i].Output(); return; } } cout<<"没有相关人员!"<<endl; break; } default:cout<<"无此选项,请重试!"<<endl;break; }}voidTechnicist::show(){for(inti=0;i<=count_Technicist-1;i++) t1[i].Output(); }voidTechnicist::modify(intindex){t1[index-1].number=number;strcpy(t1[index-1].name,name);strcpy(t1[index-1].sex,sex); strcpy(t1[index-1].department,department); strcpy(t1[index-1].rank,rank);t1[index-1].monpay=monpay;}voidTechnicist::del(intindex){for(inti=index;i<=count_Technicist-1;i++) { t1[i-1].number=t1[i].number; strcpy(t1[i-1].name,t1[i].name);strcpy(t1[i-1].sex,t1[i].sex); strcpy(t1[i-1].department,t1[i].department); strcpy(t1[i-1].rank,t1[i].rank);t1[i-1].monpay=t1[i].monpay; } count_Technicist--;}voidTechnicist::count(){intsum1=0; intmale1=0,female1=0; for(inti=0;i<count_Technicist;i++) { if(!strcmp(t1[i].sex,"男")) male1++; if(!strcmp(t1[i].sex,"女")) female1++; sum1++; } cout<<"总人数是: "<<sum1<<endl; cout<<"男人数是: "<<male1<<endl; cout<<"女人数是: "<<female1<<endl;}voidTechnicist::save(){ ofstreamTechnicistfile; Technicistfile.open("技术人员信息管理.dat"); for(inti=0;i<=count_Technicist-1;i++) Technicistfile<<t1[i].number<<""<<t1[i].name<<""<<t1[i].sex<<""<<t1[i].department<<""<<t1[i].rank<<""<<t1[i].monpay<<endl;Technicistfile.close();}3.6main.cpp#include<iostream.h>#include<fstream.h>#include<string.h>#include<stdlib.h>#include<iomanip.h>#include"Stuff.h"#include"Manager.h"#include"Technicist.h"#include"Salesman.h"#include"Salesmanager.h"constintMAXMANAGER=100;constintMAXTECHNICIST=100;constintMAXSALESMAN=100;constintMAXSALESMANager=100;Managerm1[MAXMANAGER];Technicistt1[MAXTECHNICIST];Salesmans1[MAXSALESMAN];Salesmanagerss1[MAXSALESMANager];intcount_Manager=0;intcount_Technicist=0;intcount_Salesman=0;intcount_Salesmanager=0;Stuff*p=NULL;charout;//经理管理子菜单voidManager_manage(){intchoice,i=0;boolquit=false;while(1){ system("cls");cout<<"***********经理管理子菜单***********"<<endl;cout<<"1.添加经理信息"<<endl;cout<<"2.查询经理信息"<<endl;cout<<"3.显示经理信息"<<endl;cout<<"4.修改经理信息"<<endl;cout<<"5.删除经理信息"<<endl;cout<<"6.统计经理人数"<<endl;cout<<"0.退出"<<endl;cout<<"**********************************"<<endl;cout<<"请输入所要操作编号:";cin>>choice;switch(choice) {case1: { Managerm2; p=&m2; cout<<"请输入要添加经理信息\n";m2.Input();for(inti=0;i<count_Manager;i++) if(m1[i].number==m2.number){cout<<"该编号经理已存在!"<<endl;break;} if(m2.number>=MAXMANAGER) {cout<<"经理库已满,无法添加!"<<endl;return;} else cout<<"是否保留经理信息?(y/n)\n"; cin>>out; if(out=='y') { p->add(); p->save(); }break; }case2: { Managerm3; p=&m3; p->look(); system("pause"); break;} case3: { Managerm4; p=&m4;p->show();if(count_Manager==0) {cout<<"系统中无存放统计!"<<endl;} system("pause"); break; } case4: { Managerm5; p=&m5; if(count_Manager==0) {cout<<"系统中无存放统计!"<<endl;return;} intindex; p->show();cout<<"请选择经理编号:\n"; cin>>index; for(inti=0;i<count_Manager;i++) if(m1[i].number==index) { cout<<"请对经理信息进行修改:"<<endl; p->Input();cout<<"是否保留经理信息?(y/n)\n"; cin>>out; if(out=='y') { p->modify(index); p->save(); } return; } elsecout<<"无此经理信息!"<<endl; system("pause"); break; } case5: { Managerm6; p=&m6; intindex; if(count_Manager==0) cout<<"经理库为空!"<<endl; else for(inti=0;i<=count_Manager-1;i++) cout<<m1[i].number<<""<<m1[i].name<<""<<m1[i].sex<<""<<m1[i].department<<""<<m1[i].rank<<""<<m1[i].monpay<<endl;cout<<"请选择要删除经理编号:\n"; cin>>index; for(inti=0;i<count_Manager;i++) { if(m1[i].number==index) { cout<<"继续"<<endl; cout<<"是否保留经理信息?(y/n)\n"; cin>>out; if(out=='y') { p->del(index); p->save(); } return; } } cout<<"该编号经理信息不存在!"<<endl; system("pause"); break; } case6: { Managerm7; p=&m7; p->count();system("pause"); break; } case0: quit=true; break; default: cout<<"请输入0~6之间数字!"<<endl; break; } if(quit==true) break; }system("cls");return;}//技术人员管理子菜单voidTechnicist_manage(){intchoice,i=0;boolquit=false;while(1){ system("cls");cout<<"*************技术人员信息管理子菜单*************"<<endl;cout<<"1.添加技术人员信息"<<endl;cout<<"2.查询技术人员信息"<<endl;cout<<"3.显示技术人员信息"<<endl;cout<<"4.修改技术人员信息"<<endl;cout<<"5.删除技术人员信息"<<endl;cout<<"6.统计技术人员人数"<<endl;cout<<"0.退出"<<endl;cout<<"************************************************"<<endl;cout<<"请输入所要操作编号:";cin>>choice;switch(choice) {case1: { Technicistt2; p=&t2; cout<<"请输入要添加技术人员信息\n";t2.Input();for(inti=0;i<count_Technicist;i++) if(t1[i].number==t2.number){cout<<"该编号技术人员已存在!"<<endl;break;} if(t2.number>=MAXTECHNICIST) {cout<<"技术人员库已满,无法添加!"<<endl;return;} else cout<<"是否保留技术人员信息?(y/n)\n"; cin>>out; if(out=='y') { p->add(); p->save(); }break; }case2: { Technicistt3; p=&t3; p->look(); system("pause"); break;} case3: { Technicistt4; p=&t4;p->show(); if(count_Technicist==0) {cout<<"系统中无存放统计!"<<endl;}system("pause"); break; }case4: { Technicistt5; p=&t5; if(count_Technicist==0) {cout<<"系统中无存放统计!"<<endl;return;} intindex; p->show();cout<<"请选择技术人员编号:\n"; cin>>index; for(inti=0;i<count_Technicist;i++) if(t1[i].number==index) { cout<<"请对技术人员信息进行修改:"<<endl; p->Input();cout<<"是否保留技术人员信息?(y/n)\n"; cin>>out; if(out=='y') { p->modify(index); p->save(); } return; } cout<<"无此技术人员信息!"<<endl;system("pause"); break; } case5: { Technicistt6; p=&t6; intindex; if(count_Technicist==0) cout<<"技术人员库为空!"<<endl; else for(inti=0;i<=count_Technicist-1;i++) cout<<t1[i].number<<""<<t1[i].name<<""<<t1[i].sex<<""<<t1[i].department<<""<<t1[i].rank<<""<<t1[i].monpay<<endl;cout<<"请选择要删除技术人员编号:\n"; cin>>index; for(inti=0;i<count_Technicist;i++) { if(t1[i].number==index) { cout<<"继续"<<endl; cout<<"是否保留技术人员信息?(y/n)\n"; cin>>out; if(out=='y') {

温馨提示

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

评论

0/150

提交评论