职工工资管理系统设计报告书
- 格式:doc
- 大小:157.00 KB
- 文档页数:7
《C++程序设计》课程设计报告书
题目: 职工工资管理系统
班级: 0891131
学号: 1089113128
姓名: 郭凯迪
教师: 李伟
周期: 一周
成绩:
2009年 7 月 10日 一、课程设计的目的与要求
(一)课程设计目的与任务
通过一周的练习,熟练掌握了C++语言的基本知识和技能;体会到了C++语言的好处,了解了C++语言面向对象的思想。以C++语言为工具,使我们进一步的了解了计算机专业设计领域,并使所学知识和技能得到进一步巩固、深化和扩展,以达到能用C++编写初等程度软件的目的,为继续学习后续课程及今后走上相关工作岗位打下良好的基础.
(二)题目要求
(1)设计字符串类
(2)对各种字符串运算进行重载
(3)设计的这个字符串类使用方便
二、设计正文
1 功能详细描述
1。主函数int main(void):设置背景颜色和字体颜色、调用设计者的相关信息函数、调用Menu函数,实现系统的主要功能处理;
2.主菜单Menu()函数:确定如何选择所需功能,调用读取文件信息、数据输入、显示、排序、查找、增加、删除、修改、保存等函数,完成职工工资管理系统的数据处理;
3.读取文件的信息Read()函数:从文件中读取职工工资的信息表并显示出来;
4。数据输入函数creat():建立链表,完成职工信息录入;
5。数据显示函数output():将职工信息数据显示出来;
6。数据统计函数count():统计职工人数;
7。数据增加函数insert():添加职工信息;
8。数据删除函数cancel():删除职工信息数据;
9.数据修改函数modify():修改职工工资等信息数据;
10.数据查找函数find():查找某一职工工资等信息情况;
11。数据排序函数sort():将存储在文件中的职工信息按一定要求排序;
12。数据保存函数save():对系统中的数据进行相关的操作后将其保存起来;
13。作者信息函数editor():显示设计者的相关信息;
14。登陆函数Pass():设定使用权限。
2、数据结构设计
(1)定义一个职工信息的结构体:
char name[N]; //用来存放姓名
char sex[N]; //用来存放性别
long id; //用来存放编号
float paid[3]; //用来存放工资
int total; //用来存放总工资
struct epployee *next;
(2) 职工类: public:
void output(epployee *head); //显示职工信息
int count(epployee *head); //定义函数count()统计职工总数
epployee *insert(epployee*head); //指针函数*insert()用来添加职工信息。
epployee *cancel(epployee *head,long id); //指针函数*cancel()用来删除职工信息.
epployee *find(epployee *head,long id); //指针函数*find()用来查找职工信息。
epployee *modify(epployee *head,long id); //指针函数*modife()用来修改职工的信息.
void sort(epployee *head); //定义paixu()函数将职工的总额从大到小排列并输出
void average(epployee *head); //定义职工工资平均值的函数
void save(epployee *head); //保存文件信息
epployee *Read(); //读取文件信息
private:
epployee *p1,*p2,*p3,*head,st
3、主要功能逻辑过程和实现算法
通过主菜单Menu()函数将读取文件信息、输入、显示、统计、增加、删除、修改、查找、排序等函数结合一起,在用户通过相关操作选择其中一个功能时,调用该功能函数,完成数据处理。采用结构体、数组、指针等数据类型并结合链表数据结构来完成设计。在程序中定义了struct epployee的职工信息结构体、class
Information的职工类、epployee *Information::creat(void)的职工链表信息及void
Information::output()输出等函数,编写各相关的子函数的调用等。
4、界面设计
(1)显示制作者信息的页面
(2)系统操作的页面
(3)显示职工工资的页面
(4)增加职工工资的页面
(5)排序统计工资的页面
(6)删除职工信息并显示剩余职工信息的页面
(7)退出系统的页面
三、课程设计总结或结论
1 课程设计过程中出现的技术难点和解决方法:
技术难点:对结构体和链表的知识了解的不到位.
解决方法:通过向老师的询问和上网搜索一些相关资料及书籍得到了
很好的解决.
2 课程设计期间的主要收获:
通过这个程序设计,我不仅提高了动手操作能力,对C++语言有了更深的认识,能够更好地运用C++语言进行编程设计,同时在思维、看待问题的全面性等方面也有了很大的提高
3 对今后课程设计的建议
通过这一周的课程设计,我希望以后能够多上机、多做一些有关这方面的练习,还希望能够联网,随时解决不会的问题。
四、参考文献
【1】 网站搜索:www.cppreference。com。
【2】 《C++编程思想》机械工业出版社。《数据结构—C++实现》科学出版社。
五、指导教师评阅意见