当前位置: 首页 > news >正文

海口 网站开发企业宣传片模板免费

海口 网站开发,企业宣传片模板免费,找公司制作app多少钱,潍坊制作网站的公司项目要求#xff1a; 编写一个程序实现小型公司的人员信息管理系统。该公司雇员#xff08;employee#xff09;包括经理#xff08;manager#xff09;#xff0c;技术人员#xff08;technician#xff09;、销售员#xff08;salesman#xff09;和销售部经理 编写一个程序实现小型公司的人员信息管理系统。该公司雇员employee包括经理manager技术人员technician、销售员salesman和销售部经理salesmanager。要求存储这些人员的姓名、编号、级别、当月薪水计算月薪并显示全部信息。 程序要对所有人员有提升级别的功能。为简单起见所有人员的初始级别均为1然后进行升级经理升为4级技术人员和销售部经理升为3级销售员仍为1级。 月薪计算办法是经理拿固定月薪8000元技术人员按每小时100元领取月薪销售员按该当月销售额4%提成销售经理既拿固定月工资也领取销售提成固定月工资为5000元销售提成为所管辖部门当月销售额的5‰。 写在前面 很清楚自己的这个小小的管理系统还存在很多漏洞功能上还有很多地方没有实现例如销售经理手下的人员变动销售部门和其他部门的人员变动每个月销售员销售额都会不同在设置销售员销售额的过程中需要改变对应的销售经理的薪水等等。但是那些虽然能想到却没有实现主要是我这只是一个简单的C课程实验没有精力做的尽善尽美。但是我觉得我在这个过程中已经体会到了面向对象编程的思想魅力觉得数据开始有灵魂了。 这是我第一次真正接触面向对象编程在没有什么指导没怎么设计的情况下做出的这个肯定显得很稚嫩。但是我相信千里之行始于足下我会一直进步下去。 实现过程 很容易想到雇员作为基类其他成员作为派生类。 关键在于如何让销售经理管理手下的人并且能够方便的对销售员进行升级。 我的想法是创建一个销售部门的类所有关于销售的事务都通过销售部门进行管理。销售部门那里有所有销售经理和销售员的详细信息两个对象数组销售经理也有自己管理的销售员的名单。 为了防止存在多个销售部门我使用了单例模式详见博客单例模式简单实现。 同时我们需要对所有的人员进行管理我又创建了一个公司类所有人员都记录在公司中。 类图如下 因为程序比较小我又懒得写cpp文件所以简单起见我就将所有的实现都放在头文件中。虽然这样做不太合适但是在这种自己写的小程序上问题不大。 代码 首先是雇员 #ifndef _EMPLOYEE_H_ #define _EMPLOYEE_H_#includestring #includeiostream #includevector #includewindows.husing namespace std;class employee { protected:string name, id;int grade; double salary; public:employee(){grade 1; salary 0;}string GetName(){return name;}string GetId(){return id;}double GetSalary(){return salary;} };#endif经理 #ifndef _MANAGER_H_ #define _MANAGER_H_#includeemployee.hclass manager :public employee { public:manager(){cout 请输入经理的姓名; cin name;cout 请输入经理的编号; cin id;grade 4; salary 8000;}manager(string _name, string _id){name _name; id _id; grade 4; salary 8000;}void DisInform(){cout 经理 name endl;cout 编号 id endl;cout 薪水 salary endl;} };#endif 技术人员 #ifndef _TECHNICIAN_H_ #define _TECHNICiAN_H_#includeemployee.hclass technician :public employee {double worktime; public:technician(){cout 请输入技术人员的姓名; cin name;cout 请输入技术人员的编号; cin id;cout 请输入工作人员每月的工作时间; cin worktime;grade 3; salary 100 * worktime;}technician(string _name,string _id,double t0){name _name; id _id; worktime t; salary t * 100; grade 3;}void SetTime(double t) { worktime t; salary 100 * t; }void DisInform(){cout 技术人员 name endl;cout 编号 id endl;cout 薪水 salary endl;} };#endif 销售经理 #ifndef _SALEMANAGER_H_ #define _SALEMANAGER_H_#includeemployee.hclass salemanager :public employee {double sale; public:vectorint MSlist;//销售经理管理销售员的名单int MSNum;salemanager(){cout 请输入销售经理的姓名; cin name;cout 请输入销售经理的编号; cin id;grade 3; salary 5000; sale 0; MSNum 0;}salemanager(string _name, string _id){name _name; id _id;grade 3; salary 5000; sale 0; MSNum 0;}salemanager(const salemanager x){name x.name; grade 3; id x.id; salary x.salary; sale x.sale; MSNum x.MSNum;MSlist.assign(x.MSlist.begin(), x.MSlist.end());}void DisInform(){cout 销售经理 name endl;cout 编号 id endl;cout 薪水 salary endl;}void SetSale(double t){sale t; salary t * 0.005;}void AddSale(double t){sale t; salary 0.005 * t;} };#endif销售员 #ifndef _SALESMAN_H_ #define _SALESMAN_H_#includeemployee.hclass salesman :public employee {double sale; public:int M;//该销售员受管辖的销售经理salesman(){cout 请输入销售员的姓名; cin name;cout 请输入销售员的编号; cin id;cout 请输入销售员的销售额; cin sale;grade 1; salary 0.04 * sale;//cout 薪水 salary endl;M -1;}salesman(string _name,string _id,double _sale0){name _name; id _id; sale _sale; grade 1; salary 0.04 * sale; M -1;}salesman(const salesman x) //拷贝构造函数{name x.name; id x.id; M x.M; salary x.salary; sale x.sale; grade 1; }void DisInform(){cout 销售员 name endl;cout 编号 id endl;cout 薪水 salary endl;}void SetSale(double _sale){sale _sale; salary 0.04 * sale;}double GetSale(){return sale;}};#endif销售部门 #ifndef _SALESDEPARTMENTS_H_ #define _SALESDEPARTMENTS_H_#includesalesman.h #includesalemanager.hclass depart {depart(){SNum 0; MNum 0; sale 0;}depart(depart ) delete;depart operator(const depart) delete;static depart* p; public:vectorsalesman Slist; //销售部门所有销售员的名单 int SNum;vectorsalemanager Mlist; //销售部门所有销售经理的名单int MNum;double sale;//总的销售额static depart* GetDepart(){if (p nullptr) p new depart;return p;}static void DelDepart(){delete p; p nullptr;}void AddSaleForManager(salemanager x){cout 请输入该销售经理管理的销售员ID[ESC退出输入] endl;//cin.clear();string _ID;while (1){cin _ID;if (_ID ESC) break;bool flag false;//标记是否存在该销售员for (int i 0; i SNum; i) //在部门销售员列表中查询{if (p-Slist[i].GetId() _ID)//找到该销售员{p-Mlist[MNum - 1].MSlist.push_back(i);//将该销售员加入到销售经理的名单中 p-Mlist[MNum - 1].MSNum;p-Mlist[MNum - 1].AddSale(p-Slist[i].GetSale());//改变销售经理当月的销售额 p-Slist[i].M MNum - 1;//记录该销售员对应的销售经理flag true; break;//标记找到了并退出查找}}if (!flag)//没有找到{cout 对不起该销售员没有登记请先到管理部门登记 endl;}//cin.clear();}}void CreatNewManager(){p-Mlist.push_back(salemanager()); MNum;AddSaleForManager(p-Mlist[MNum - 1]); //为该销售经理添加销售员}void UpgradeManger(string _name,string _Id){p-Mlist.push_back(salemanager(_name, _Id)); MNum;AddSaleForManager(p-Mlist[MNum - 1]); //为该销售经理添加销售员}void CreatNewManager(int x){while (x--){p-Mlist.push_back(salemanager()); MNum;AddSaleForManager(p-Mlist[MNum - 1]); //为该销售经理添加销售员}}void CreatNewSales(){p-Slist.push_back(salesman()); SNum;}void CreatNewSales(int x){while (x--){p-Slist.push_back(salesman()); SNum;}}};depart* depart::p nullptr; #endif公司的类 #ifndef _COMPANY_H_ #define _COMPANY_H_#includemanager.h #includesalemanager.h #includesalemanager.h #includesalesdepartment.h #includesalesman.h #includetechnician.hclass company {int num 0;//公司人数 public:vectormanager MMList; int MMNum;vectortechnician TList; int TNum;int t;company(){system(cls);cout 创建公司 endl;cout 请输入经理人数; cin MMNum; num MMNum;for (int i 0; i MMNum; i){MMList.push_back(manager());}system(cls);cout 创建公司 endl;cout 请输入技术人员人数; cin TNum; num TNum;for (int i 0; i TNum; i){TList.push_back(technician());}system(cls);cout 创建公司 endl;depart* Dpdepart::GetDepart(); //创建销售部门cout 请输入销售员人数; cin t; num t; Dp-CreatNewSales(t);system(cls);cout 创建公司 endl;cout 请输入销售经理的人数; cin t; num t; Dp-CreatNewManager(t);}void DisplayManager(){system(cls);cout 公司经理信息endl;for (int i 0; i MMNum; i){MMList[i].DisInform();}system(pause);}void DisplayTechnician(){system(cls);cout 公司技术人员信息 endl;for (int i 0; i TNum; i){TList[i].DisInform();}system(pause);}void DisplaySale(){system(cls);cout 公司销售员信息 endl;depart* Dp depart::GetDepart();for (int i 0; i Dp-SNum; i){Dp-Slist[i].DisInform();cout 上司姓名 ((Dp-Slist[i].M -1) ? 无 : Dp-Mlist[Dp-Slist[i].M].GetName()) endl;cout 上司编号 ((Dp-Slist[i].M -1) ? 无 : Dp-Mlist[Dp-Slist[i].M].GetId()) endl;}system(pause);}void DisplaySaleManager(){system(cls);cout 公司销售经理信息 endl;depart* Dp depart::GetDepart();for (int i 0; i Dp-MNum; i){Dp-Mlist[i].DisInform();cout 管理销售员名单 endl;for (int j 0; j Dp-Mlist[i].MSNum; j){cout 销售员编号 Dp-Slist[Dp-Mlist[i].MSlist[j]].GetId() \t 销售员姓名 Dp-Slist[Dp-Mlist[i].MSlist[j]].GetName() endl;}}system(pause);}void SalesmanUpgrade()//将销售员升级为销售经理{cout 请输入需要升级的销售员ID[ESC退出输入] endl;cin.clear();string _ID; depart* Dp depart::GetDepart();while (1){cin _ID;if (_ID ESC) break;//cout ok!! endl;bool flag false;salesman* tmp nullptr;int index;for (int i 0; i Dp-SNum; i){if (Dp-Slist[i].GetId() _ID){tmp new salesman(Dp-Slist[i]);index i;flag true; break;}}if (!flag){cout 不存在该销售员! endl;continue;}//删除在销售管理部门和销售经理的名单if (tmp-M ! -1){int num Dp-Mlist[tmp-M].MSNum;for (int i 0; i num; i){if (Dp-Slist[Dp-Mlist[tmp-M].MSlist[i]].GetId() tmp-GetId()){Dp-Mlist[tmp-M].MSlist.erase(Dp-Mlist[tmp-M].MSlist.begin() i);Dp-Mlist[tmp-M].MSNum--;break;}}}Dp-Slist.erase(Dp-Slist.begin() index); Dp-SNum--;//printf(test\n);//将销售员升级为销售经理Dp-UpgradeManger(tmp-GetName(), tmp-GetId());delete tmp;}//cin.clear();system(pause);}~company(){depart::DelDepart();} };#endif 测试程序 #includecompany.hint main() {company A;A.DisplayManager();A.DisplayTechnician();A.DisplaySaleManager();A.DisplaySale();A.SalesmanUpgrade();A.DisplaySaleManager();A.DisplaySale();}运行结果 总结 在实现过程中遇到了一些问题主要就是我刚开始读入的时候用的是while(cinx)然后发现后面的读入就会发生异常然后调试了一会发现是cin的问题我上网查到这种输入方式当输入CtrlZ以后会使得cin失效需要用cin.clear()我嫌弃太麻烦就换了一种写法。 还有一个就是我在写对销售员升级的时候总会出错观察代码才发现是在写删去销售员所在销售经理那里它的名字的时候没有判断这个销售员是否有销售经理在管他如果没有的话访问销售经理就会出错。
http://www.zqtcl.cn/news/184560/

相关文章:

  • wordpress网站导航模板杭州建设网站的公司
  • 如何做视频解析网站wordpress 关闭评论
  • 安福网站建设微信开发者工具怎么下载
  • 网罗设计网站威海网页设计制作公司
  • 网站用cmswordpress插件怎么做
  • 如何办好公司网站元器件网站搭建
  • 建设领域行政处罚查询网站wordpress数据库发文章
  • 怎么做网页的多开器宿迁seo优化
  • 别人帮做的网站怎么修改病句店铺引流的30种方法
  • 网站备案幕布怎么申请绍兴cms建站模板
  • 做网站熊掌号软件设计公司排名
  • 深圳 做网站学做西点的网站
  • 静态网站安全性百度服务平台
  • 网站vi设计公司网站建设app
  • 书店网站建设策划书总结每天看七个广告赚40元的app
  • 做网站的属于什么专业成都广告制作安装公司
  • 天津市网站建设公司网站制作费用
  • 网站制作公司 郑州wordpress图片中文不显示解决
  • 网站建设模式有哪些方面jquery做的装修网站
  • 佛山手机建网站企业网站公司单位有哪些
  • 给企业做网站的平台有没有专门做衣服搭配的网站
  • 青岛本地网站最近军事新闻大事
  • 潍坊哪里有做360网站的成都官微最新发布
  • 还有哪些网站可以做淘宝活动企业建设网站的方式
  • 上海技术公司做网站2022引流人脉推广软件
  • 网站排名优化技术安徽省城乡和建设厅网站
  • 平阴县建设工程网站英文网站模板制作
  • 网站制作超链接怎么做厦门公司建站
  • 阿里云做的网站怎么备份建筑设计网站issuu
  • 网上做设计网站广西做网站找谁