《 C++ 语言程序设计》课程设计任务书系别计算机科学与技术专业计算机科学与技术班级 11 级计科班设计人员: 于浩指导教师: 鲁书喜时间: 201 2 年6 月课设计题目: 职工工资管理系统一设计的目的通过课程设计,学生在下述各方面的能力应该得到锻炼:巩固《面向对象程序设计》课程的基本知识和方法,通过该系统的实现,进一步培养学生理论联系实际、综合分析和解决问题的能力; 掌握自顶而下的结构化程序设计的方法;进一步掌握在集成环境中程序调试的方法。二设计内容用面向对象程序设计方法实现一个简单的工资管理系统。系统的主要功能是: 计算职工当月工资并存档。公司内有 5种不同类型的职工: ?技术人员(technician) ?销售人员(salesman) ?文秘(secretary) ?技术经理(tech-manager) ?销售经理(sales-manager) 他们的工资计算方式各不相同。 1)技术人员的工资根据他当月工作的小时数来定,时薪为 35元; 2)销售人员的工资则是根据本人当月销售额来确定,工资为销售额的 5%; 3)文秘有 4000 元的基本工资,奖金视当月工作情况而定; 4)技术经理和销售经理都有 6000 元的固定工资,技术经理的工作业绩可分为3个等级,每级可以获得 1000 元奖金, 5) 销售经理除有 6000 元的固定工资外, 销售经理的奖金由他所管理的销售员的销售业绩而定,为总销售额的 % 。所用函数如下: fixedSalary( 固定工资)Bonus( 奖金、红利)getRate( 提成比率)三设计思路: 基本流程: 总体设想 1) 数据录入:输入各种数据; 雇员类技术员类经理类销售员类销售经理类文秘类 2) 数据统计:各销售经理的工资计算及最终按工资进行的冒泡排序; 3) 数据打印:打印上述表格; 4) 数据备份:把相关数据写入文件; 5) 退出:推出本系统; 程序: #include<iostream> #include<fstream> #include<string> using namespace std; // 全局数据 double technicianHour=35; double salesgetRate=5; double SecretarySalary= 4000 double ManagerSalary=6000; double SalesManagerBonus=; void Wrong(){ cout<<"\n=====> 提示: 输入错误! 请重新选择:\n"; } void Notfind() { cout<<"\n=====> 提示: 没有找到该员工!\n"; } class Staff // 基类,员工类{ protected: string name,num,sex; int post,age; double wages,sum; Staff *next; public: Staff(string n,string m,string s,int a,int p) { num=n; name=m; sex=s; age=a; post=p; } virtual void CalcSalary()=0; virtual void Output()=0; friend pany; }; class Technician:public Staff // 技术员工类{ private: double hour; public: Technician(string n,string m,string s,int a,int p,double t):Staff(n,m,s,a,p) { hour=t; } double GetT() { return hour; } void SetT(double t){ this->hour=t; } void CalcSalary() { wages=technicianHour*hour; } void Output() { CalcSalary(); cout<<" 编号:"<<num<<" 姓名:"<<name<<" 性别:"<<sex<<" 年龄:"<<age<<" 技术员本月工作时间:"<<hour<<" 本月应发工资:"<<wages<<endl; } }; class Salesman:public Staff // 销售员类{ public: double amount; Salesman(string n,string m,string s,int a,int p,double t):Staff(n,m,s,a,p) { amount=t; } double GetAmount() { return amount;
职工工资 来自淘豆网m.daumloan.com转载请标明出处.