职工信息管理系统裴新慧Word文档下载推荐.docx

上传人:b****6 文档编号:19120626 上传时间:2023-01-03 格式:DOCX 页数:8 大小:215.36KB
下载 相关 举报
职工信息管理系统裴新慧Word文档下载推荐.docx_第1页
第1页 / 共8页
职工信息管理系统裴新慧Word文档下载推荐.docx_第2页
第2页 / 共8页
职工信息管理系统裴新慧Word文档下载推荐.docx_第3页
第3页 / 共8页
职工信息管理系统裴新慧Word文档下载推荐.docx_第4页
第4页 / 共8页
职工信息管理系统裴新慧Word文档下载推荐.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

职工信息管理系统裴新慧Word文档下载推荐.docx

《职工信息管理系统裴新慧Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《职工信息管理系统裴新慧Word文档下载推荐.docx(8页珍藏版)》请在冰豆网上搜索。

职工信息管理系统裴新慧Word文档下载推荐.docx

设计一个实用的小型职工信息管理系统,用链表来存储职工的基本信息和工资信息,完成对工资的录入、插入、删除、查询、统计、输出等操作。

2.设计思想

⑴设计职工工资信息的数据结构表

序号成员名数据类型长度含义

1numint职工编号

2namechar8职工姓名

3sexchar6职工性别

4ageint职工年龄

5base_salaryfloat基本工资

6post_salaryfloat岗位工资

7bonusfloat奖金

8deal_salaryfloat应发工资

9fundfloat医疗住房基金

10taxfloat税金

11fact_salaryfloat实发工资

(2)以结构体建类,以类为结点建立链表

(3)用类的成员函数对链表的数据进行操作

1)构造函数workers();

2)建立链表函数voidcreat();

//新建职工纪录

3)统计函数voidstatisticdeal();

//统计应发工资

4)统计函数voidstatisticfact();

//统计实发工资

5)插入函数voidinsert();

//在指定位置插入职工信息

6)查询函数voidlookup();

//查询指定编号的职工信息 

7)删除函数voidcancel();

//在指定位置删除职工信息

8)输出函数voidoutput();

//输出所有职工信息

9)平均函数voidaverager();

//平均工资

10)写文件函数voidwritefile1();

//向文件写入职工信息(覆盖)

11)写文件函数voidwritefile2();

//向文件写入职工信息(附加)

12)读文件函数voidreadfile();

//从文件中读取职工信息

13)结束函数voidExit();

//退出

14)析构函数~workers();

(4)设计菜单来实现功能设计

1)新建职工信息表

2)向职工信息表中插入职工信息

3)在职工信息表中删除职工信息

4)在职工信息表中查询职工信息

5)在屏幕中输出全部职工信息

6)向文件中写入职工信息

7)从文件读取职工信息

8)计算所有职工平均工资

9)退出(并保存修改)

3.设计类及对象

(1)本程序先定义结构体datatype和worker,然后用结构体worker建立类workers,定义如下:

classworkers

{

worker*head;

//头指针

worker*temp;

//当前指针

worker*tail;

//尾指针

public:

workers();

//构造

voidcreat();

voidstatisticdeal();

voidstatisticfact();

//统计实发工资

voidinsert();

//插入

voidlookup();

//查询

voidcancel();

//删除

voidoutput();

//输出

voidaverager();

voidwritefile1();

//从文件中读取职工信息(附加)

voidwritefile2();

//从文件中读取职工信息(覆盖)

voidreadfile();

//向文件写入职工信息

voidExit();

~workers();

};

(2)在主函数里说明了一个对象workerswork,通过使用对象来调用成员函数实现功能设计。

case'

1'

:

work.creat();

break;

//1、新建职工信息表

2'

cout<

<

"

现在学生的信息如下:

endl;

//2、向职工信息表插入职工信息

work.statisticdeal();

work.statisticfact();

work.output();

work.insert();

case'

3'

//3、在职工信息表删除职工信息

work.cancel();

4'

//4、在职工信息表中查询职工信息

work.lookup();

5'

//5、在屏幕中输出全部学生信息

work.output();

6'

work.writefile2();

//6、向文件中写入职工信息

7'

work.readfile();

//7、从文件中读取职工信

8'

work.averager();

9'

work.statisticfact();

//退出(并保存修改)

work.Exit();

4.程序源代码

5.调试纪录

(1)创建函数voidcreat()的测试

Error:

输入女或男时运行屏幕上字体乱跳。

改正:

把charsex改为charsex[6]。

(2)插入函数insert()

(3)删除函数cancel()

(4)查询函数()

错误:

输出的编号与要查询的不同

原因:

用intnum来存储编号可能造成数据溢出

错误:

判断输入的工号和要查询的工号相等时出错.

改正:

用strcmpy(str1,str2)==0

在进行查询操作时,屏幕上许多代码在跳。

在查找成功后没用break跳出,导致死循环。

(5)写文件和读文件函数

(6)输出函数和计算平均工资

最初设计的域宽不适当,导致输出时若输入的工资大排版就不清晰,两项数据连在一起。

(7)错误:

编译时无法识别exit,errorC2065:

'

exit'

:

undeclaredidentifier.

原因:

没加头文件<

process.h>

6.总结

这次课程设计是对我的很好自我检测机会,通过一年的学习,虽然掌握了很多新知识,但在编程上很容易眼高手低,刚进行测试编译时,出现了各种各样的错误,自己感到很苦恼,例如少加了一个}导致出现编译错误:

errorC2601:

writefile'

localfunctiondefinitionsareillegal;

errorC2601:

readfile'

Exit'

localfunctiondefinitionsareillegal。

当时导致运行不出结果,我深切感受到调试程序的经验不足,在输入源代码时一定要仔细、认真。

由于时间紧迫,该职工信息管理系统还存在许多不完善的地方,我列出主要的几个不足:

(1)只能在指定位置插入和删除某个职工纪录,不能插入和删除指定工号的职工纪录。

(2)虽然通过插入和删除可以修改某个职工纪录,但没有修改函数直接进行操作。

(3)利用二进制文件的形式对结构体进行读写操作时,无法直接打开磁盘文件查看职工信息。

在这次课程设计中,感受最深的一个字就是“难”,同时感到自己知识方面还存在许多漏洞,但经过老师和同学的帮助,学到了许多。

我也深切体会若到想在计算机方面有所成就,就必须有锲而不舍的精神和认真端正的态度。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1