C++小型企业工资管理系统
- 格式:docx
- 大小:16.96 KB
- 文档页数:17
一、需求分析
1.从要求上来看是要对各个员工的各种情况(名字、年龄、性别、职位、工资状况)进行输
入。然后可以输出.
2.可以对于员工数据进行修改,可以查询.
3.对于员工的各种情况系统还可以进行统计排名.
二、概要设计
首先,创建了一个employee类.然后派生出四个类:manager、technician、salesman、sales manager.在派生类中定义了三个构造函数,分别是:数据输入函数(Input),表格输出函数(Print),排序函数(Pay).
其次,在总体结构上,建立以各根菜单,用于选择各种功能.
1.Input(数据输入):输入员工的各种数据.
2.Total(数据统计):将员工的总数据进行对比排序,然后输出.
3.Output(数据显示):显示输入的各种数据.
4.Save(数据保存):对输入的数据进行保存备份.
5.Eixt(退出程序):执行退出程序命令.
三、详细设计
1.Input(数据输入):定义了各个岗位的人员的类,并把每个类的人员的属性设为类中
的保护成员,其中技术工的工作时间和每小时的所得为私有成员,而销售员的销售额、经理的工资和销售经理的所辖部门的销售额和其底薪设为公有成员,再依次录入。
2.Total(数据统计): 根据所有类的工资算法在其所属类中定义一个函数void pay()来
根据各个职位的具体情况来计算工资,并且算出的工资经过冒泡法排序.
void printtotal()
{
cout<<"├─────┴──┬──┴─────┤"< cout<<"│Total │"< cout<<"└────────┴────────┘"< } 3.Output(数据显示): 通过do-while循环以及制表格和setw的使用将输入的数据和统计并 排序的数据以表格的形式打印出来,销售额合计一栏宽度要大些。 void saleprint() { cout<<"│"< cout<<"├─────┼─────┼─────┤"< cout<<"│"< cout<<"├─────┼─────┼─────┤"< cout<<"│"< cout<<"├─────┼─────┼─────┤"< cout<<"│"< } void print() { cout<<"├─────┼─────┼─────┼─────┼─────┤"< cout<<"│"< < } 4.Save(数据保存):通过函数save()来将输入的数据和统计并排序的数据进行保存. 例如: void save() { fstream outfile; outfile.open("f:flsdfj.txt",ios::app); if(!outfile) { cout<<"f can't open.\n"; abort(); } outfile<<"Sales manger"< outfile<<"ID"< } 5.Eixt(退出):利用exit来完成退出系统功能。 四、设计和调试分析 程序清单: #include #include #include #include #include class employee { public: employee() { salary=0; } void pay(){} void print(){} void input() { cout<<"ID:"; cin>>no; cout<<" NAME:"; cin>>name; cout<<" SEX(m/w):"; cin>>sex; cout<<" AGE:"; cin>>age; } protected: int no; char name[8]; float salary; char sex; int age; }; class manager:virtual public employee { protected: float monthlypay,sale;