1、 课课 程程 设设 计计 报报 告告 课程设计名称:课程设计名称: C+ C+ 课程设计课程设计 系系 别别 : 学生姓名:学生姓名: 班班 级:级: 学学 号:号: 成成 绩:绩: 指导教师:指导教师: 开课时间:开课时间: 2011-2012 学年学年 二二 学期学期 - 1 - 一设计题目: 职工信息管理系统 二主要内容: 设计一个职工管理的 Person(普通职工)类,抽象出所有类型人员都具有的属性: name(姓名) 、number(工号) 、sex(性别) 、age(年龄)等 从 Person(普通职工)类派生 出 renshi(人事)类 caiwu(财务)类, 普通职工只能查询信
2、息和修改自己的信息, 人事部门 可以对各类人员进行增、 删、 查、 改 (但是不能修改工资) , 财务部门可以对各类人员进行 增、 删、改、查等基本功能。 三具体要求: 1) 根据个人的密码进入系统。 2) 对程序源代码要给出详细的注释。 3) 职工(普通职工、人事部、财务部)信息以文件的形式存储。 4) 自己根据能力及需要添加相应功能模块,增强模拟系统功能。 四进度安排: 序号 内 容 时间(天) 1 布置题目、查找资料 1 2 概要设计 1 3 详细设计 3 4 调试分析 1 5 测试结果 0.5 6 总结和完成设计报告 1 合 计 7.5 五设计思路:本次课程设计的思路: 1) 按课程设
3、计的内容和要求建立如下图的类关系 - 2 - 2)先按照流程图确定主菜单中的各项内容及程序所要实现的功能,然后理清思路一步一步 的对各个对象的功能实现选用不同的功能函数,这样就把主函数以外的所有东西设计好了, 在根据其中的内容确定主函数中内容,主函数是对功能实现的调用和赋值。 3)在此函数中要运用到 switch 语句进行功能操作,使其进入相应的模块实现不同的功能。 4)最重要和最难的就是对人员数据的修改,其中需要增,删,改;第一增加人员数据,择 将要增加的人员类型,进入相应模块,输入将要增加的人员数目,调用赋值函数进行操作, 然后调用相应输出函数显示结果。第二删除人员数据,选择将要删除的人员
4、类型,进入相应 模块,输入将要删除的人员的编号,运用 for 语句查找该人员的信息,然后将其后面的对象 赋值给该人员, 后面人员被赋值其后面的对象直至最后一个对象, 最后调用相应输出函数显 示结果。第三改变人员数据,选择将要改变的人员类型,进入相应模块,输入将要改变的人 员的编号,运用 for 语句查找该人员的信息,然后调用赋值函数对其进行数据重赋值,最后 调用输出函数显示结果。 六源程序及运行结果: #include #include #include using namespace std; #define N 100 / 定义系统可录入的员工最大数值 输入密码 输入身份 普通职工 人事部
5、 财务部 添 加 信 息 退 出 系 统 修 改 信 息 查 询 信 息 浏 览 信 息 录 入 信 息 - 3 - struct people /定义职工信息结构 char num100; /编号 char name15; /姓名 char sex20; /性别 char age20; /年龄 char xueli20; /学历 char gongzhi20; /工资 char address20; /住址 char telephone20; /电话 peopleN; void input(int i); void enter(); void browse(); void add(); void search(); void modify(); void save(int n); int load(); int modify_data(int i); void salary(); void printf_face(); void printf_back(); void printf_one(int i); void menu1(); void menu2(); void menu3(); void chack_No(int i); void chack_N