1、 设计题目设计题目 简单工资管理系统设计 “数据结构与算法” 课程设计报告 (一)(一) 需求和规格说明需求和规格说明 (二) 设计某单位职工工资管理系统,功能如下: (三) 对于每位职工存储以下信息:职工编号、基本工资、津贴、岗位津贴、应发数、 个人所得税、应扣数、实发数。个人所得税计算方法设为:工资少于 2000 元 的部分为 0,20003000 元部分为 5%,30004000 部分为 10%,40005000 部分为 15%,5000 元以上部分为 20%。 (四) 要求要求: (五) 创建存储职工工资信息的存储文件; (六) 添加某职工的工资信息; (七) 删除某职工的工资信息;
2、(八) 修改某职工的部分工资信息(当月开始增加或减少某些项工资或扣款数变 化) ; (九) 输出指定编号职工的工资信息(查询用) (十) 输出全体职工的工资信息(发工资用) 。 (二)(二) 设计设计 根据要求设计了一个,基 yuangong.类的成员有 char name15;/姓名 float basesalary;/基本工资 float jingtie;/津贴 float gangweijt;/岗位津贴 float yingfa;/应发数 float tax;/个人所得税 float yingkou;/应扣数 float shifa;/实发数 类中还有一个 SET 函数将各项值保存到类中
3、。 系统类图系统类图 开始 以读写方式打开一个数据文 件 将此文件内容读出并且存入 一个新的单链表中 调用 select()函数进入主界 面 否否 否否 (三)(三) 用户手册用户手册 程序运行时,首先选择是否读入 TXT 文件中的数据 然后根据界面提示进行相关操作。 (四)(四) 调试及测试调试及测试 操作中插入成员是参数 Num_P+,删除成员时参数 Num_P-。 (五)(五) 运行实例:运行实例: 进入 switch 函数 输入05总得一个数值, 选择相关操作 输 入 是 否 为 0? 判断键入值选择响应函数, 完成相应功能。 结束 (六)(六)进一步改进进一步改进 可以根据固定公式设
4、奇函数来计算并保存税款值,而不用手输。 (七)心得体会(七)心得体会 做课程设计让我对于类的构造更加熟悉, 更加熟练的运用 C+读写文件的方 法。初步完成课程设计时,有许多的小问题,通过不断的修改代码改正问题也很好 的锻炼了耐心。 (八)对课程设计的建议(八)对课程设计的建议 可以再多一些创新型课题,鼓励同学们用图形界面做课程设计。 (九)(九)附录附录源程序源程序 #include #include #include #include #include #include #include #include #define INDEX “姓名 编号 基本工资 津贴 岗位津贴 应发数 个人所得税
5、 应扣数 实 发数n“ using namespace std; const int P=100; class yuangong /员工类 public: int ID;/员工编号 char name15;/姓名 float basesalary;/基本工资 float jingtie;/津贴 float gangweijt;/岗位津贴 float yingfa;/应发数 float tax;/个人所得税 float yingkou;/应扣数 float shifa;/实发数 yuangong()ID=0;basesalary=0;jingtie=0;gangweijt=0;yingfa=0;
6、tax=0;yingkou=0;shifa=0; void SET(int id,char *Name,float b,float j,float g,float y,float t,float yi,float s) int i; ID=id; for(i=0;ic; if(c=n|c=N)system(“cls“);return; int i; int ID;/员工编号 float basesalary;/基本工资 float jingtie;/津贴 float gangweijt;/岗位津贴 float yingfa;/应发数 float tax;/个人所得税 float yingkou;/应扣数 float shifa;/实发数 char name15;/姓名 ifstream fin(“pay.txt“); for(i=0;inameIDbasesalaryjingtiegan