C课程设计任务书

发布 2022-10-06 02:16:28 阅读 9179

学院专业年级。

班级: 学号: 姓名。

课程设计题目: 程序设计方法与c 语言课程设计

课程设计主要内容:

一、 课程设计题目:小型公司工资管理系统。

二、 课程设计工作:自 2009 年 06 月 20 日起至 2009 年 07 月 10 日。

三、 课程设计的内容要求:

1、公司主要有4类人员:经理、技术员、销售员、销售经理。要求存储这些人的职工号、姓名、月工资、岗位、年龄、性别等信息。

2、工资的计算方法:

a、经理:固定月薪为8000;

b、技术员:工作时间*小时工资(100元每小时);

c、销售员:销售额*4%提成;

d、销售经理:底薪(5000)+所辖部门销售额总额*0.5%;

3、注册新职工,添加新职工的详细信息,如:职工号,姓名,出生年份,性别,职称,部门工资等;

4、按姓名,部门等条件进行查询;

5、修改和删除职工信息;

6、按工资高低进行排序;

7、把各项纪录存储在文本文件中。

摘要。小型公司工资管理系统主要完成管理员对员工信息的管理(对员工信息的添加、删除、修改、查询及员工的权限设定,并对登陆帐号的管理)和员工自助查寻(查看员工登录日志、档案信息,及根据权限修改档案)。这套滚理系统,包含经理、技术员、销售员、销售经理四大模块,每个模块包含该类别的相关操作。

首先定义一个经理类,再定义三个派生类分别为技术员,销售员,销售经理。在经理类中的基本信息有:职工号,姓名,性别,年龄,职位,工资,这些信息。

在用户注册了某个类别的对象时,将其信息存放在txt文档中,方便对数据的操作,在对对象进行操作的同时,即程序运行过程中,也会即时更新系统记录。主程序设计为多级菜单,将操作层次化,规范化,使得程序简单化,便于其他人员操作。

1. 从要求上来看是要对各个员工的各种情况(名字、年龄、性别、职位、工资状况、出生年份、职工号等)进行输入。然后可以输出。

2. 可以对于员工数据(名字、年龄、性别、职位、工资状况、出生年份、职工号等)进行修改,可以查询。

3. 对于员工的各种情况(名字、年龄、性别、职位、工资状况、出生年份、职工号等)系统还可以进行统计排名。

4. 员工的各种信息(名字、年龄、性别、职位、工资状况、出生年份、职工号等)还要求录入文本文存档。

5. 员工的各种信息(名字、年龄、性别、职位、工资状况、出生年份、职工号等)如要改动,可以在本程序里实现修改。

6. 对于职工工资的计算,不同的职工在不同的岗位上,要实现不同的计算方式(如:底薪+销售额*提成、底薪、每小时薪水*工作时间等不同的计算工资的方式)。

(一)、类及类层次结构设计:

首先,创建了一个虚基类 person 类。然后派生出一个公用派生类 staff 类,在有由公用派生类派生出四个类: manager、technician、sales、ssales_manager.

在派生类中定义了一个构造函数和多个成员函数。

1. person 类: 一开始就定义的虚基类,含有工资的建立和返回两个虚函数,其中 v_get_wage() 是纯虚函数。

2. staff 类: 从虚基类派生出来的公用派生类,详细定义了各个岗位的职员所具有的共同特性,如:姓名、性别、职工号、出生年份等。

3. manager 类、technician 类、sales 类、sales_manager 类: 从公用派生类继承过来的子类,具体定义了各种雇员所特有的属性,特别是月薪的计算,其中:

经理月薪计算的方式是底薪,即月薪=底薪=8000元/月;

技术员月薪计算的方式是月薪=每小时薪水*工作时间,而每小时薪水=100元;销售员月薪计算的方式是月薪=销售额*提成,提成=4%;

销售经理月薪计算的方式是月薪=底薪+所辖部门销售额总额*提成,底薪=5000,提成=0.5%

由此,为了实现各种雇员的工资计算,经理就多出了一下种特有的属性:底薪,销售员的特有属性是销售额,销售经理的特有属性是所辖部门销售额,技术员的特有属性是工作时间。

二)、模块分析:

在所有的子类中都重载了流插入运算符“<<并定义了实现对象输出的函数 display() 且重定义了建立和返回工资的虚函数 v_set_wage() 和 v_get_wage() 还定义了按部门工资排序的成员函数 taxis() 在sales 类中新加入了建立和返回销售额的成员函数 set_income() 和 get_income() 在technician 类中加入了建立和返回开始工作时间的函数 set_b_working_hours() 和 get_b_working_hours() 建立和返回结束工作时间的成员函数 set_e_working_hours() 和get_e_working_hours() 建立和返回总工作时间的成员函数 set_working_hours() 和 get-_working_hours() 在sales_manager 类中也是新加入了建立和返回所辖部门销售额的成员函数 setz_income() 和 get_income()

三)、主要菜单设计:

在总体结构上,建立以各根菜单,用于选择各种功能。

1. check(查询职工信息):用于对职工信息的查询。

2. add (添加新职工):用于添加新的职员,并录入新职员的各种信息。.

3. sort (排序):用于对各部门的职工按部门工资的高低进行排序。

4. modified (修改数据):用于修改公司职员的各种信息。

5. choose (选择菜单):在其它函数中调用,供用户选择各种操作。

6. count (统计职员数):用于统计各个岗位上的在职员工数。

7. mo_choose (二级选择菜单):在更加细化的操作中共用户选择的菜单。

8. rework (修改职员信息):模板函数,供 modified 函数调用。

程序清单:题目:小型公司工资管理系统设计。

设计说明与要求:

1、公司主要有4类人员:经理、技术员、销售员、销售经理。要求存储这。

些人的职工号、姓名、月工资、岗位、年龄、性别等信息。

2、工资的计算方法:

a、经理:固定月薪为8000;

b、技术员:工作时间*小时工资(100元每小时);

c、销售员:销售额*4%提成;

d、销售经理:底薪(5000)+所辖部门销售额总额*0.5%;

3、注册新职工,添加新职工的详细信息,如:职工号,姓名,出生年份, 性别,职称,部门工资等;

4、按姓名,部门等条件进行查询;

5、修改和删除职工信息;

6、按工资高低进行排序;

7、把各项纪录存储在文本文件中。

设计思路: 建立抽象基类 person ->从抽象类继承基类 staff ->从基类继承子类

manager(经理)、technician(技术员)、sales(销售员)、sales manager(销售经理)

->建立对象,完成主函数。

细节: 其中抽象类包含纯虚函数

get_monthly_wage() 和 set_monthly_wage() 设计者:

版权声明。文件:

#if !defined(afx_stdafx_h__952c126a_d524_4d63_ab65_ebe6a3f4026b__included_)

#define afx_stdafx_h__952c126a_d524_4d63_ab65_ebe6a3f4026b__included_

#if _msc_ver > 1000

#pragma once

#endif //msc_ver > 1000

#include "iostream"

#include "fstream"

#include ""

#include ""

#include ""

#endif

文件:#ifndef person_h_

#define person_h_

/声明抽象基类 person

class person

public:

virtual void v_set_wage() 0纯虚函数建立职工月薪。

virtual double v_get_wage() const /虚函数得到职工月薪。

#endif

文件:#ifndef staff_h

#define staff_h

#include

#include""

#define in_all 250

using namespace std;

class staff; /声明 staff 类。

template void initialization(string a, t b, t c); 声明模板函数作为 staff 类的友元函数。

ostream& operator <

/声明 staff 类

class staff:public person //staff 是 person 的公用派生类。

C课程设计任务书

面向对象程序设计作为一门软件设计的课程,具有极强的实践性,必须使学生具备灵活应用理论知识的能力及面向对象程序设计技能。所以在 c 面向对象程序设计 课程学习完成后,安排课程设计教学环节。通过课程设计,使学生实际掌握面向对象的程序设计方法,了解c 面向对象的设计方法与技巧,有效地 深刻地理解课程内容,...

C 课程设计任务书

c 面向对象课程设计 任务书。一 课程设计目的与要求。1 课程设计目的。面向对象程序设计作为一门软件设计的课程,具有极强的实践性,必须使学生具备灵活应用理论知识的能力及面向对象程序设计技能。所以在 c 面向对象程序设计 课程学习完成后,安排课程设计教学环节。通过课程设计,使学生实际掌握面向对象的程序...

C 课程设计任务书

面向对象程序设计作为一门软件设计的课程,具有极强的实践性,必须使学生具备灵活应用理论知识的能力及面向对象程序设计技能。所以在 c 面向对象程序设计 课程学习完成后,安排课程设计教学环节。通过课程设计,使学生实际掌握面向对象的程序设计方法,了解c 面向对象的设计方法与技巧,有效地 深刻地理解课程内容,...