销售员工管理系统
Mercuri销售管理系统

知识与技能评估(EKS)
发展领域
客户情况了解 市场了解 基本财务知识 产品知识(一般性、功能性) 技术知识(AF,AS) 技术知识(AF,AS)
区平台分析表
BP 客户
月用量
更新日期
Ja用量
Ja占有率
围墙得分
客户
月用量
Ja用量
Ja占有率
围墙得分
客户
月用量
Ja用量
Ja占有率
围墙得分
Total WP 客户
月用量
MP
月用量
Ja用量
Ja占有率
客户
Ja用量
Ja占有率
客户
月用量
Ja用量
客户
月用量
Ja用量
Total
Total
二、防御措施(围墙准则)
防御措施主要针对购买平台的BP客户进行检讨,通过下表评估打分,制订目标得分。 防御措施主要针对购买平台的BP客户进行检讨,通过下表评估打分,制订目标得分。 既有客户销售防禦检讨表 (圍牆準則)
我方积极参与客 户商业计划的推 进
重要性
得分
交货及时率 樣品準確率及時效性 服务效率(客诉) 社交应酬(針對決策者) 嘉明爱粤占有率 公司与客户上游厂商或貿易商的接触
在技术及服务等方面给客户所能带来的价值 的介绍 **列举实例并将对客户产生的价值 进行量化
完全滿足 客戶很滿意 12小时内 每月一次 >95% 常往來且共同 開發新產品 >两次/年
分数1 分数1-9 今天 明天
行动及日期
销售管理系统使用制度

销售管理系统使用制度1. 前言销售管理系统是企业中紧要的工具之一,它能够帮忙企业实现销售业绩的监控、数据分析和业务协同等功能。
为了保证销售管理系统的正常运行,提高销售业绩和管理效率,订立本《销售管理系统使用制度》。
2. 适用范围本制度适用于本企业全部销售人员和管理人员,在使用销售管理系统过程中必需严格遵守。
3. 销售管理系统的基本规定3.1 账号管理1.每位销售人员在入职时,将由系统管理员为其创建唯一的账号,并供应相应的登录密码。
2.销售人员不得共享账号和密码,不得将个人账号授权给他人使用。
3.2 数据录入与更新1.销售人员在使用销售管理系统时,应依照系统设定的规范和要求进行数据录入和更新。
2.销售人员应准确无误地录入销售业绩、客户信息等相关数据,确保数据的完整性和真实性。
3.销售人员应及时更新客户信息、销售进展等数据,保持数据的实时性。
3.3 数据安全与保密1.销售人员在使用销售管理系统时,应加强对账号和密码的保护,确保系统的安全性。
2.销售人员不得将销售管理系统中的数据外泄或用于其他非工作目的。
3.销售人员不得擅自更改销售管理系统中的数据,如有需求应经过上级主管或经理的批准。
4.销售人员应定期备份销售管理系统中的数据,以防数据丢失或系统故障。
3.4 系统使用培训与技术支持1.新入职的销售人员应接受销售管理系统的使用培训,熟识系统的功能和操作流程。
2.销售管理系统管理员将为销售人员供应必需的技术支持和系统操作引导。
3.5 违规处理与责任追究1.对于有意窜改数据、泄露数据或违反销售管理系统使用制度的行为,将视情况进行违规处理,包含口头警告、书面警告、禁止使用系统、停职、辞退等惩罚。
2.对于因销售人员违规行为导致公司损失的,将依法追究其法律责任。
4. 文件管理本制度为销售管理系统的使用制度文件,由企业管理负责人进行编写和审批,并以文件形式进行存档和管理。
制度的修改和更新应经企业管理负责人同意并进行相应的备案。
《销售管理系统使用说明》

《销售管理系统使用说明》销售管理系统使用说明一、前言销售管理是现代企业管理的重要组成部分,合理有效地管理销售工作对企业的发展至关重要。
销售管理系统是为了提高销售工作效率和精细化管理而设计的软件工具,包括销售任务分配、客户信息管理、销售数据分析等功能。
本文将从使用说明的角度,介绍销售管理系统的基本功能和操作方法。
二、系统登录1.打开销售管理系统,输入正确的用户名和密码,点击登录按钮,即可进入系统主界面。
2.如果忘记密码,点击“忘记密码”,按照系统提示的步骤进行账户找回或密码重置。
三、销售任务分配1.在系统主界面,点击“销售任务”选项卡,在弹出的页面中,点击“新建任务”按钮。
2.输入任务名称、销售人员、任务开始日期和结束日期等信息,点击“确定”按钮保存任务。
四、客户信息管理1.在系统主界面,点击“客户管理”选项卡,在弹出的页面中,点击“新建客户”按钮。
五、销售数据分析1.在系统主界面,点击“销售数据”选项卡,可以查看销售数据分析的相关功能。
2.点击“销售额统计”按钮,系统将自动计算销售额最高的产品和销售额最低的产品,并以图表的形式展示。
3.点击“销售排名”按钮,系统将展示销售额最高的销售人员和销售额最低的销售人员,并以图表的形式展示。
4.点击“销售趋势”按钮,系统将展示销售额随时间的变化趋势,并以图表的形式展示。
六、系统设置1.在系统主界面,点击右上角的“设置”按钮,可以进入系统设置页面。
2.在系统设置页面,可以进行用户管理、权限管理、系统参数设置等操作。
3.点击“用户管理”,可以添加、修改和删除系统用户,并设置用户权限。
4.点击“权限管理”,可以设置不同角色的用户可以访问和操作的功能模块。
5.点击“系统参数设置”,可以设置系统的基本参数,如日期格式、货币符号等。
七、系统帮助1.在系统主界面,点击右上角的“帮助”按钮,可以查看系统使用帮助。
2.点击“常见问题”,可以查看系统的常见问题和解答。
八、系统退出1.在系统主界面,点击右上角的“退出”按钮,即可退出系统。
销售管理软件系统的四大功能模块

销售管理软件系统的四大功能模块销售管理软件系统在企业实际的运营过程中包括销售管理、客户管理、目标行动与服务管理四大功能模块,现在我们就来说说这四大功能模块的各自功能与特色。
一、销售管理1.销售自动化分析,可以自动分析客户的各种资料和数据、为企业和销售人员在销售的过程中提供精准的数据。
2.销售跟单及时跟踪和自动提醒,及时提醒销售人员业务的进程以及实时情况,让其更好的开展业务。
3.销售任务整体分析,给企业管理者提供精准的销售实时情况,使其更好地做出决策。
4.部门成交分析,部门员工业绩检视。
二、客户管理1.把目标客户转化为意向客户,最后转化为成交客户,然后把成交客户进行统一管理,有利于企业客户资源的管理和保护。
2.实时记录客户售前以及售中和售后完整记录,了解客户的需求以及客户的各个阶段的需求,及时调整销售策略。
3.强大的关联性,有利于挖掘潜在客户。
三、目标行动1.做好计划,抓好落实,实时监控销售人员的销售计划和日常工作计划是否落实到位。
2.搭建良好的工作模式,保证工作中的高效率。
3.制定《企业销售管理基本规则》,有效规范员工在销售过程中的各种行为规范。
4.让执行100%落实到位,不让辛辛苦苦做好的计划仅仅只是一纸空文而已。
四、服务管理1.提供完善的售后服务系统,从接单到派工到反馈,各个环节形成服务的闭环,为客户提供高效率高质量的服务。
2.企业可以自定义服务表单,方式更加灵活多样。
3.及时跟踪服务状态,保证服务的质量以及效率。
4.根据员工提供服务的效率以及客户的评价对员工排名分析,并与绩效考核挂钩。
从销售管理软件以上四大模块我们可以看出,从企业的日常工作到销售的过程以及售后服务的整个过程中,销售管理软件可以为企业制定详细的计划,并且为之提供可靠的数据,是企业运营过程中不可缺少的帮手之一。
销售管理系统案例

销售人员的基本工作就是将客户发来的订单进行记录,填写相关信息,并更新到数据库中,处理客户的退单以及开发销售票据等。
3、主管处理产品的基本信息:
主管可以通过本系统,实现对产品进行制定售价,制定折扣范围,分配佣金提成以及查询产品信息等。
4、主管对销售人员管理的基本信息:
主管可以通过本系统,实现对销售人员的销售业绩进行查询,并对其分配佣金提成。
private JTextField jTextField4 = new JTextField();
private JLabel jLabel5 = new JLabel();
private JTextField jTextField5 = new JTextField();
private JButton jButton1 = new JButton();
四.系统功能的设计与划分
根据如上得到的用户需求,我们将本系统按照所完成的功能分成以下几部分:
4.1销售人员管理部分
1、销售订单
2、销售记录
3、退单处理
4、开发票据
4.2主管管理部分
1、制定售价
2、制定折扣范围
3、分配佣金、提成
4、查询各类信息
5、对销售人员进行管理
五.非功能性需求分析
1.实用、易用原则。做到操作简单,维护方便。
public class AddOrderForm extends JDialog {
private JPanel panel1 = new JPanel();
private BorderLayout borderLayout1 = new BorderLayout();
private JPanel jPanel1 = new JPanel();
销售体系的业绩管理系统

对未来发展的展望
智能化:通过AI技术实现销售预测、客户画像等智能化功能 移动化:支持移动设备访问,提高销售效率和客户满意度 集成化:与CRM、ERP等系统集成,实现数据共享和流程协同 定制化:根据企业需求提供定制化服务,满足不同企业的个性化需求
感谢您的观看
跟踪销售进度:定期跟踪 销售进度,及时发现和解 决销售过程中遇到的问题, 确保销售目标的实现。
优化销售流程:根据销售数 据和反馈,不断优化销售流 程,提高销售效率和成功率。
强化销售团队的培训与沟通
定期进行销售 技能培训,提 高团队销售能
力
建立有效的沟 通机制,确保 信息传递准确
及时
鼓励团队成员 分享经验,互 相学习,共同
建立完善的销售流程
明确销售目标:设定明确的 销售目标和计划,确保销售 团队有明确的方向和动力。
建立销售团队:组建一支有 经验、有能力的销售团队, 确保销售目标的实现。
制定销售策略:根据市场情 况和客户需求,制定合适的 销售策略,提高销售成功率。
建立客户关系:与客户建 立良好的关系,提高客户 满意度和忠诚度,促进销 售业绩的提升。
优化销售流程
提高销售效率:通过优化销售流程,可以减少不必要的环节,提高销售效率。
提高客户满意度:优化销售流程可以提高客户满意度,从而提高客户忠诚度。
提高销售业绩:通过优化销售流程,可以提高销售业绩,从而提高公司的盈利能力。
提高销售团队的协作能力:优化销售流程可以提高销售团队的协作能力,从而提高销售团队 的整体效率。
定期检查系统版本,确保使用最新版本 及时更新系统补丁,修复已知漏洞 定期备份数据,防止数据丢失 定期进行系统测试,确保系统稳定运行 定期进行系统培训,提高员工操作技能 定期收集用户反馈,优化系统功能
销售管理子系统

销售管理子系统销售管理子系统是一个用于帮助企业管理销售过程的计算机软件系统。
它包括了各种功能和模块,可以协助销售团队进行销售流程的跟踪和管理,提高销售效率和销售业绩。
销售管理子系统的主要功能包括客户管理、销售机会管理、销售订单管理、销售报表分析等。
首先,客户管理是销售管理子系统的核心功能之一。
该功能允许销售团队集中存储和管理客户信息,包括客户的联系方式、购买历史、需求分析等。
销售人员可以随时查看客户信息,及时跟进客户需求,并通过系统提供的交流工具与客户进行沟通。
同时,客户管理还可以帮助销售团队进行客户分析,找出潜在客户和重要客户,提供更有针对性的销售策略。
其次,销售机会管理是销售管理子系统的另一个重要功能。
它帮助销售团队跟踪和管理所有的销售机会,包括机会来源、概率预测、销售阶段、竞争分析等。
销售人员可以通过系统设置销售机会的不同阶段,及时更新机会进展情况,并进行跟进提醒。
销售机会管理功能可以帮助销售团队更好地了解销售机会的转化情况,及时调整销售策略以提高销售成功率。
销售订单管理是销售管理子系统的另一个重要功能。
它包括了销售订单的创建、处理、审核、发货等过程。
销售人员可以通过系统方便地创建销售订单,并通过系统自动化的流程进行审核和发货。
销售订单管理功能可以帮助企业提高订单处理的效率,减少错误和延误,并提供实时的订单状态和库存信息,以便销售团队进行及时跟进和协调。
最后,销售报表分析是销售管理子系统的重要功能之一。
它可以根据销售数据生成各种销售报表,包括销售额分析、销售渠道分析、客户购买偏好分析等。
这些报表可以帮助销售团队了解销售业绩和市场趋势,及时发现问题并采取相应措施。
销售报表分析功能可以帮助企业制定更科学的销售策略,优化销售资源的配置,提高销售业绩和市场竞争力。
综上所述,销售管理子系统是一个重要的企业管理工具,它可以帮助企业提高销售效率,优化销售流程,提高销售业绩。
企业可以根据自身的需求选择适合的销售管理子系统,定制功能和模块,以便更好地满足销售团队的需求。
销售管理系统工作总结8篇

销售管理系统工作总结8篇销售管理系统工作总结8篇销售工作总结能提升我们工作能力。
工作总结就是你上班的时候以一个周期循环而写的一篇文章,主要是以月度、季度、半年度而写的一篇工作总结。
下面我给大家带来关于销售管理系统工作总结,希望会对大家的工作与学习有所帮助。
销售管理系统工作总结精选篇1我代表__全体员工对本年度上半年的销售、服务情况进行总结,恳请各位指导。
下面,我从三个方面进行总结。
一、销售情况。
从销售数量上看,__增长17%,而其他柜组是负增长。
从金额上看,__增长了4%,__增长了5%。
从类别上看,成正增长的有:__裤子数量增长56%,金额增长35%,上装数量增长11%,__上装金额增长3%,裤子的数量和金额分别增长8%和19%。
另外,配件方面,__有8%的金额增长。
__有163%的金额增长率。
整体三个柜的升降率为0%。
虽然有多种因素的影响,但从进展的角度说,这是不理想的销售结果。
、工作心得:作为店长和员工,我觉得都应该树立“店兴我荣,店衰我耻”的思想,专心落实公司的经营理念,努力团结好班内的每一个成员,调动他们的乐观性,树立信心。
再就是要加强自身的业务学习,学习销售技巧,学习服装审美、配搭,学习了解顾客的购物心理,学习整体协调员工之间的关系,学习处理好各个部门,各个班之间的关系,学习周到而细致的服务。
还要横向了解同业信息,第一时间把握市场动向等。
对于这些,我和我的小伙伴们都还做的很不够。
我们都有一颗想要销售好的心情,但往往又缺少了必要的技能技巧,甚至是心有余而力不足。
因此,加强学习和不断的总结是非常必须的,必须转变不合适的销售态度,销售方式。
另一方面,我觉得频繁地更换员工也会对销售造成影响,因此,如何留住一个好的员工,也是我们应该努力思考的问题。
对愿意留下上班的新员工,我们要耐心地指导,让他们感觉到努力就会有可观的收获。
我们全部老员工都要以主人翁的责任感待好新员工。
只要我们有一支稳定的,熟悉业务的、和愿意服务的销售队伍,我想我们的业绩一定会上得去的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++大作业报告班级:031111学号:********姓名:***销售公司员工管理一.题目要求设计一个虚基类Staff(员工),包含编号、姓名和年龄保护数据成员以及相关的成员函数;由Staff派生出销售员类Salesman,包含销售额保护数据成员以及相关的成员函数;再由Staff派生出经理类Manager;然后由Salesman和Manager类派生出销售经理类SalesManager。
设计一个利用文件处理方式实现对公司人员(包括销售员、经理和销售经理)进行管理,具有增加数据、更新数据、查询数据、删除数据以及重组文件的功能。
(删除数据在记录中做删除标志,重组文件指在物理上删除有删除标志的记录。
)另外要求分别统计这三类员工的人数以及所有员工的总数。
二.编程思想由题目知至少需要四个类:一个基类、两个直接由基类派生的类、一个由上面两个派生出来的类共同派生的子类。
首先定义一个虚基类Staff类,然后通过虚拟继承生成Salesman 类和Manager类,最后由Salesman和Manager派生出主任工程师类SalesManager。
这四个类中定义InputFromFile(istream &in)这一输入函数,另外每个类还定义输入信息和输出信息的成员函数。
之后定义StaffChart、SalesmanChart、ManagerChart和SalesManagerChart四个类。
为实现增加、更新、查询、删除以及全部显示人员的功能定义addItem、modifyItem、find、removeItem以及display函数。
最后在主函数定义Staff_Chart、Salesman_Chart、Manager_Chart和SalesManager_Chart四个对象,通过循环执行并用switch函数选择功能,然后调用相关的函数来实现各种功能。
三.实验代码#include<iostream>#include<fstream>using namespace std;class Staff{protected:char num[10];char name[10];int age;public:Staff * Next;void set_staff(){cout<<"请输入编号:";cin>>num;cout<<"请输入姓名:";cin>>name;cout<<"请输入年龄:";cin>>age;}void InputFromFile(istream &in){in>>num>>name>>age;}void show(){cout<<"编号:"<<num<<endl;cout<<"姓名:"<<name<<endl;cout<<"年龄:"<<age<<endl;}char *get_num(){return num;}char *get_name(){return name;}int get_age(){return age;}};class Salesman:virtual public Staff{protected:char major[10];char t_title[10];public:Salesman * Next;void set_salesman(){cout<<"请输入编号:";cin>>num;cout<<"请输入姓名:";cin>>name;cout<<"请输入年龄:";cin>>age;cout<<"请输入专业:";cin>>major;cout<<"请输入职称:";cin>>t_title;}void InputFromFile(istream &in){in>>num>>name>>age>>major>>t_title;}void show_salesman(){cout<<"编号:"<<num<<endl;cout<<"姓名:"<<name<<endl;cout<<"年龄:"<<age<<endl;cout<<"专业:"<<major<<endl;cout<<"职称:"<<t_title<<endl;}char *get_major(){return major;}char *get_t_title(){return t_title;}};class Manager:virtual public Staff{protected:char job[10];char dept[10];public:Manager * Next;void set_manager(){cout<<"请输入编号:";cin>>num;cout<<"请输入姓名:";cin>>name;cout<<"请输入年龄:";cin>>age;cout<<"请输入职务:";cin>>job;cout<<"请输入部门:";cin>>dept;}void InputFromFile(istream &in){in>>num>>name>>age>>job>>dept;}void show_manager(){cout<<"编号:"<<num<<endl;cout<<"姓名:"<<name<<endl;cout<<"年龄:"<<age<<endl;cout<<"职务:"<<job<<endl;cout<<"部门:"<<dept<<endl;}char *get_job(){return job;}char *get_dept(){return dept;}};class SalesManager :public Salesman,public Manager{public:SalesManager * Next;void set_salesmanager(){cout<<"请输入编号:";cin>>num;cout<<"请输入姓名:";cin>>name;cout<<"请输入年龄:";cin>>age;cout<<"请输入专业:";cin>>major;cout<<"请输入职称:";cin>>t_title;cout<<"请输入职务:";cin>>job;cout<<"请输入部门:";cin>>dept;}void InputFromFile(istream &in){in>>num>>name>>age>>major>>t_title>>job>>dept;}void show_salesmanager(){cout<<"编号:"<<num<<endl;cout<<"姓名:"<<name<<endl;cout<<"年龄:"<<age<<endl;cout<<"专业:"<<major<<endl;cout<<"职称:"<<t_title<<endl;cout<<"职务:"<<job<<endl;cout<<"部门:"<<dept<<endl;}};class StaffChart{public:StaffChart();~StaffChart();void find(); //输出单个条目void save(); //将信息输出到文件void modifyItem(); //修改Staff条目void removeItem(); //删除Staff条目void display() //输出全部条目{Staff *p=Head->Next;for(p;p!=End;p=p->Next){p->show();cout<<endl;}}void addItem() //添加条目{End->set_staff();End->Next=new Staff;End=End->Next;save();}private:Staff * Head,* End;ifstream in; //文件输入ofstream out; //文件输出Staff * findItem(char * num){for(Staff * p=Head;p->Next!=End;p=p->Next)if(!strcmp(p->Next->get_num() ,num))return p;return NULL;}};StaffChart::StaffChart() //构造函数{Head=new Staff;Head->Next=new Staff;End=Head->Next;in.open("StaffChart.txt");while(!in.eof()){End->InputFromFile(in);if(End->get_num()[0]=='\0')break;End->Next=new Staff;End=End->Next;}in.close();}StaffChart::~StaffChart() //析构函数{for(Staff * temp;Head->Next!=End;){temp=Head->Next;Head->Next=Head->Next->Next;delete temp;}delete Head,End;}void StaffChart::find() //查找条目{char num[10];Staff * p=NULL;cout<<"请输入要查找员工的工号:";cin>>num;if(p=findItem(num))p->Next->show();else{cout<<"没有找到!!"<<endl<<endl;}}void StaffChart::modifyItem() //修改条目{char num[10];Staff * p=NULL;cout<<"请输入要修改员工的工号:";cin>>num;if(p=findItem(num)){p->Next->show();cout<<"请输入新的内容:"<<endl;p->Next->set_staff();}elsecout<<"没有找到!!"<<endl<<endl;save();}void StaffChart::removeItem() //删除条目{char num[10];Staff *p=NULL,*temp=NULL;cout<<"请输入要删除员工的工号:";cin>>num;if(p=findItem(num)){temp=p->Next;p->Next=p->Next->Next;delete temp;cout<<"删除成功!!"<<endl<<endl;}elsecout<<"没有找到!!"<<endl<<endl;save();}void StaffChart::save() //保存{out.open("StaffChart.txt");for(Staff * p=Head->Next;p!=End;p=p->Next)out<<p->get_num()<<" "<<p->get_name()<<" "<<p->get_age()<<endl;out.close();}class SalesmanChart{public:SalesmanChart();~SalesmanChart();void find(); //输出单个条目void save(); //将信息输出到文件void modifyItem(); //修改Engineer条目void removeItem(); //删除Engineer条目void display() //输出全部条目{for(Salesman *p=Head->Next;p!=End;p=p->Next)p->show_salesman();}void addItem() //添加条目{//End->set_salesman();End->Next=new Salesman;End=End->Next;save();}private:Salesman * Head,* End;ifstream in; //文件输入ofstream out; //文件输出Salesman * findItem(char * num){for(Salesman * p=Head;p->Next!=End;p=p->Next)if(!strcmp(p->Next->get_num() ,num))return p;return NULL;}};SalesmanChart::SalesmanChart() //构造函数{Head=new Salesman;Head->Next=new Salesman;End=Head->Next;in.open("SalesmanChaart.txt");while(!in.eof()){End->InputFromFile(in);if(End->get_num()[0]=='\0')break;End->Next=new Salesman;End=End->Next;}in.close();}SalesmanChart::~SalesmanChart() //析构函数{for(Salesman * temp;Head->Next!=End;){temp=Head->Next;Head->Next=Head->Next->Next;delete temp;}delete Head,End;}void SalesmanChart::find() //查找条目{char num[10];Salesman * p=NULL;cout<<"请输入要查找销售员的工号:";cin>>num;if(p=findItem(num))p->Next->show_salesman();elsecout<<"没有找到!!"<<endl<<endl;}void SalesmanChart::modifyItem() //修改条目{char num[10];Salesman * p=NULL;cout<<"请输入要修改销售员的工号:";cin>>num;if(p=findItem(num)){p->Next->show_salesman();cout<<"请输入新的内容:"<<endl;p->Next->set_salesman();}elsecout<<"没有找到!!"<<endl<<endl;save();}void SalesmanChart::removeItem() //删除条目{char num[10];Salesman *p=NULL,*temp=NULL;cout<<"请输入要删除销售员的工号:";cin>>num;if(p=findItem(num)){temp=p->Next;p->Next=p->Next->Next;delete temp;cout<<"删除成功!!"<<endl<<endl;}elsecout<<"没有找到!!"<<endl<<endl;save();}void SalesmanChart::save() //保存{out.open("SalesmanChart.txt");for(Salesman * p=Head->Next;p!=End;p=p->Next)out<<p->get_num()<<p->get_name()<<p->get_age()<<p->get_major()<<p->get_t_title()<<e ndl;out.close();}class ManagerChart{public:ManagerChart();~ManagerChart();void find(); //输出单个条目void save(); //将信息输出到文件void modifyItem(); //修改Leader条目void removeItem(); //删除Leader条目void display() //输出全部条目{Manager *p=Head->Next;for(p;p!=End;p=p->Next)p->show_manager();}void addItem() //添加条目{End->set_manager();End->Next=new Manager;End=End->Next;save();}private:Manager * Head,* End;ifstream in; //文件输入ofstream out; //文件输出Manager * findItem(char * num){for(Manager * p=Head;p->Next!=End;p=p->Next)if(!strcmp(p->Next->get_num() ,num))return p;return NULL;}};ManagerChart::ManagerChart() //构造函数{Head=new Manager;Head->Next=new Manager;End=Head->Next;in.open("ManagerChaart.txt");while(!in.eof()){End->InputFromFile(in);if(End->get_num()[0]=='\0')break;End->Next=new Manager;End=End->Next;}in.close();}ManagerChart::~ManagerChart() //析构函数{for(Manager * temp;Head->Next!=End;){temp=Head->Next;Head->Next=Head->Next->Next;delete temp;}delete Head,End;}void ManagerChart::find() //查找条目{char num[10];Manager * p=NULL;cout<<"请输入要查找经理的工号:";cin>>num;if(p=findItem(num))p->Next->show_manager();elsecout<<"没有找到!!"<<endl<<endl;}void ManagerChart::modifyItem() //修改条目{char num[10];Manager * p=NULL;cout<<"请输入要修改经理的工号:";cin>>num;if(p=findItem(num)){p->Next->show_manager();cout<<"请输入新的内容:"<<endl;p->Next->set_manager();}elsecout<<"没有找到!!"<<endl<<endl;save();}void ManagerChart::removeItem() //删除条目{char num[10];Manager *p=NULL,*temp=NULL;cout<<"请输入要删除经理的工号:";cin>>num;if(p=findItem(num)){temp=p->Next;p->Next=p->Next->Next;delete temp;cout<<"删除成功!!"<<endl<<endl;}elsecout<<"没有找到!!"<<endl<<endl;save();}void ManagerChart::save() //保存{out.open("ManagerChart.txt");for(Manager * p=Head->Next;p!=End;p=p->Next)out<<p->get_num()<<p->get_name()<<p->get_age()<<p->get_job()<<p->get_dept()<<endl;out.close();}class SalesManagerChart{public:SalesManagerChart();~SalesManagerChart();void find(); //输出单个条目void save(); //将信息输出到文件void modifyItem(); //修改Leader条目void removeItem(); //删除Leader条目void display() //输出全部条目{SalesManager *p=Head->Next;for(;p!=End;p=p->Next)p->show_salesmanager();}void addItem() //添加条目{End->set_salesmanager();End->Next=new SalesManager;End=End->Next;save();}private:SalesManager * Head,* End;ifstream in; //文件输入ofstream out; //文件输出SalesManager * findItem(char * num){for(SalesManager * p=Head;p->Next!=End;p=p->Next)if(!strcmp(p->Next->get_num() ,num))return p;return NULL;}};SalesManagerChart::SalesManagerChart() //构造函数{Head=new SalesManager;Head->Next=new SalesManager;End=Head->Next;in.open("SalesManagerChaart.txt");while(!in.eof()){End->InputFromFile(in);if(End->get_num()[0]=='\0')break;End->Next=new SalesManager;End=End->Next;}in.close();}SalesManagerChart::~SalesManagerChart() //析构函数{for(SalesManager * temp;Head->Next!=End;){temp=Head->Next;Head->Next=Head->Next->Next;delete temp;}delete Head,End;}void SalesManagerChart::find() //查找条目{char num[10];SalesManager * p=NULL;cout<<"请输入要查找销售经理的工号:";cin>>num;if(p=findItem(num))p->Next->show_salesmanager();elsecout<<"没有找到!!"<<endl<<endl;}void SalesManagerChart::modifyItem() //修改条目{char num[10];SalesManager * p=NULL;cout<<"请输入要修改销售经理的工号:";cin>>num;if(p=findItem(num)){p->Next->show_salesmanager();cout<<"请输入新的内容:"<<endl;p->Next->set_salesmanager();}elsecout<<"没有找到!!"<<endl<<endl;save();}void SalesManagerChart::removeItem() //删除条目{char num[10];SalesManager *p=NULL,*temp=NULL;cout<<"请输入要删除销售经理的工号:";cin>>num;if(p=findItem(num)){temp=p->Next;p->Next=p->Next->Next;delete temp;cout<<"删除成功!!"<<endl<<endl;}elsecout<<"没有找到!!"<<endl<<endl;save();}void SalesManagerChart::save() //保存{out.open("SalesManagerChart.txt");for(Manager * p=Head->Next;p!=End;p=p->Next)out<<p->get_num()<<p->get_name()<<p->get_age()<<p->get_job()<<p->get_dept()<<endl;out.close();}int main(){int x,y;StaffChart Staff_Chart;SalesmanChart Salesman_Chart;ManagerChart Manager_Chart;SalesManagerChart SalesManager_Chart;bool quit=false;while(!quit){cout<<"选择功能:\n1.增加数据\t2.更新数据\t3.查询数据\t4.删除数据\t5.列出全部人员\t6.退出"<<endl;cin>>x;switch(x){case 1:cout<<"选择增加的类型:\n1.员工\t2.销售员\t3.经理\t4.销售经理"<<endl;cin>>y;switch(y){case 1:Staff_Chart.addItem();break;case 2:Salesman_Chart.addItem();break;case 3:Manager_Chart.addItem();break;case 4:SalesManager_Chart.addItem();break;default :cout<<"输入错误,程序终止!!"<<endl;exit(-1);}break;case 2:cout<<"选择更新的类型:\n1.员工\t2.销售员\t3.经理\t4.销售经理"<<endl;cin>>y;switch(y){case 1:Staff_Chart.modifyItem();break;case 2:Salesman_Chart.modifyItem();break;case 3:Manager_Chart.modifyItem();break;case 4:SalesManager_Chart.modifyItem();break;default :cout<<"输入错误,程序终止!!"<<endl;exit(-1);}break;case 3:cout<<"选择查询的类型:\n1.员工\t2.销售员\t3.经理\t4.销售经理"<<endl;cin>>y;switch(y){case 1:Staff_Chart.find();break;case 2:Salesman_Chart.find();break;case 3:Manager_Chart.find();break;case 4:SalesManager_Chart.find();break;default :cout<<"输入错误,程序终止!!"<<endl;exit(-1);;}break;case 4:cout<<"选择删除的类型:\n1.员工\t2.销售员\t3.经理\t4.销售经理"<<endl;cin>>y;switch(y){case 1:Staff_Chart.removeItem();break;case 2:Salesman_Chart.removeItem();break;case 3:Manager_Chart.removeItem();break;case 4:SalesManager_Chart.removeItem();break;default :cout<<"输入错误,程序终止!!"<<endl;exit(-1);}break;case 5:cout<<"选择列出人员的类型:\n1.员工\t2.销售员\t3.经理\t4.销售经理"<<endl;cin>>y;switch(y){case 1:Staff_Chart.display();break;case 2:Salesman_Chart.display();break;case 3:Manager_Chart.display();break;case 4:SalesManager_Chart.display();break;default :cout<<"输入错误,程序终止!!"<<endl;exit(-1);}break;case 6:quit=true;break;default :cout<<"输入错误,程序终止!!"<<endl;exit(-1);}}return 0;}四.运行结果由于四个类的实现过程基本相同,所以在此只用Salesman做演示1.程序运行在工作空间中生成4个txt文件:2.增加两个Manager3.更新其中一个Manager4.查找一个Manager5.列出全部Manager6.删除一个Manager7.再次全部列出Manager以查看删除效果五.实验总结这次C++大作业很有综合性,知识面很广,用到的知识也很多。