职工信息管理系统裴新慧Word文档下载推荐.docx
- 文档编号:19120626
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:8
- 大小:215.36KB
职工信息管理系统裴新慧Word文档下载推荐.docx
《职工信息管理系统裴新慧Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《职工信息管理系统裴新慧Word文档下载推荐.docx(8页珍藏版)》请在冰豆网上搜索。
设计一个实用的小型职工信息管理系统,用链表来存储职工的基本信息和工资信息,完成对工资的录入、插入、删除、查询、统计、输出等操作。
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)利用二进制文件的形式对结构体进行读写操作时,无法直接打开磁盘文件查看职工信息。
在这次课程设计中,感受最深的一个字就是“难”,同时感到自己知识方面还存在许多漏洞,但经过老师和同学的帮助,学到了许多。
我也深切体会若到想在计算机方面有所成就,就必须有锲而不舍的精神和认真端正的态度。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 职工 信息管理 系统 裴新慧
![提示](https://static.bdocx.com/images/bang_tan.gif)