工资管理系统(1).doc
- 文档编号:151348
- 上传时间:2022-10-04
- 格式:DOC
- 页数:38
- 大小:662KB
工资管理系统(1).doc
《工资管理系统(1).doc》由会员分享,可在线阅读,更多相关《工资管理系统(1).doc(38页珍藏版)》请在冰豆网上搜索。
课程设计任务书
学院
信息学院
专业
计算机科学与技术
学生姓名
学号
题目
工资管理系统
内容及要求:
内容:
(列出相应题目)
工资管理:
自己建立数据文件(提示可建立:
职工、工资级别、职工工资)完成:
①数据录入②查询(如:
职工的平均工资查询、某一级别人员的平均工资查询)③插入、删除、修改④排序(将职工姓名按工资额度进行)等功能。
要求:
1.设计数据结构,存储结构;
2.在Turboc或兼容环境完成上述题目的代码编写与调试;
3.程序运行界面交互性好;
4.给出两组测试数据。
任务交付:
1.程序源代码;2课程设计论文及电子文档。
进度安排:
本课程设计时间为16、17教学周。
其中包含设计、代码调试、课程设计论文撰写几个阶段。
第1周查找资料、完成初步设计、代码设计与初步调试;
第2周调试、测试、验收、课程设计论文撰写、答辩。
指导教师(签字):
年月日
学院院长(签字):
年月日
目录
1、功能需求分析及初步设计 3
2、概要设计 3
3、详细设计 9
4、测试数据及结果分析 23
5、课设总结 24
参考文献 25
附录 25
1、功能需求分析及初步设计
(1)在该部分中叙述整体功能及每个模块的功能要求。
(2)所设计文件
在C盘下定义“file.dat”文件,将职工信息写入其中。
2、概要设计
(1)程序中使用的存储结构设计说明
structEmployee//声明职工的结构作为链表节点。
{
intm_Code;//职工代码
charm_Name[20];//职工姓名
unsignedintm_Wage;//职工工资
intm_level;//工资级别
structEmployee*Next;//链表节点的指针域
};
(2)每个部分的算法设计说明。
1、整体算法流程图
2、Add(Head);函数算法流程图
3、Modify(Head)函数算法流程图;
4、Del(Head);函数的算法流程图
5、Search(Head)函数算法流程图;
6、Sort(Head);函数算法流程图
7、Display_List(Head);函数算法流程图
3、详细设计
(1)运行界面截图
主界面(菜单选项)
图3-1-1
职工注册界面(已经注册过两个,此界面为第三个职工注册)
图3-1-2
信息修改界面(修改代码为22222的职工信息)
图3-1-3
信息删除界面(删除代码为11111的职工信息)
图3-1-4
信息查询界面(查询姓名为ww的职工信息)
图3-1-5
排序界面(按工资从高到低排序)
图3-1-6
信息显示界面(显示所有职工信息)
图3-1-7
退出系统界面
图3-1-8
(2)相应算法实现的源程序(有注解说明)
1、职工注册
voidAdd(LinkHead)//前插法添加数据。
{
LinkpNew;//声明一个新节点。
charagain;
charname[20];
intcode,level;
unsignedintwage;
do
{
system("cls");
cout<<"\t*************************用户注册系统**************************\n"< pNew=(Link)newNode;//数据域。 cout<<"请输入第"< cout<<"请输入职工代码: "; cin>>code; Clear(code); cout< "; cin>>name; cout< "; cin>>wage; sum+=wage; n++; while(cin.fail()) { cout<<"请输入正确的工资数据。 "< cin.clear(); fflush(stdin); cin>>wage; } cout< "; cin>>level; Clear(level); while(4<=level||level<=0) { cout<<"工资等级输入错误! "< cout<<"请重新输入工资级别: "; cin>>level; } switch(level) { case1: sum1+=wage; n1+=1;break; case2: sum2+=wage; n2+=1;break; case3: sum3+=wage; n3+=1;break; } cout< pNew->m_Code=code; strcpy(pNew->m_Name,name); pNew->m_Wage=wage; pNew->m_level=level;//指针域。 pNew->Next=Head->Next; Head->Next=pNew; cout<<"数据添加成功! 是否继续添加? (Y/N)"< cin>>again; }while(again=='Y'||again=='y'); system("pause"); system("cls"); } 2、信息修改 voidModify(LinkHead)//修改单一个节点。 { system("cls"); cout<<"\t*************************信息修改系统**************************\n"< Linkptr; intcode; charname[20]; ptr=Head->Next; cout< "; cin>>code; Clear(code); while(ptr) { if(ptr->m_Code==code) { cout< cout<<"\t\t\t"< < < < cout<<"\t================================================================"< Display_Node(ptr);//打印满足条件的节点。 cout< sum-=ptr->m_Wage; n-=1; switch(ptr->m_level) { case1: sum1-=ptr->m_Wage; n1-=1;break; case2: sum2-=ptr->m_Wage; n2-=1;break; case3: sum3-=ptr->m_Wage; n3-=1;break; } intlevel; unsignedintwage; if(ptr) { cout<<"\t==============你现在可以修改此职工的信息了! ================"< cout<<"请输入职工代码: "; cin>>code; cout< "; cin>>name; cout< "; cin>>wage; sum+=wage; n++; while(cin.fail()) { cout<<"请输入正确的工资数据。 "< cin.clear(); fflush(stdin); cin>>wage; } cout< "; cin>>level; Clear(level); while(4<=level||level<=0) { cout<<"工资等级输入错误! "< cout<<"请重新输入工资级别: "; cin>>level; } switch(level) { case1: sum1+=wage; n1+=1;break; case2: sum2+=wage; n2+=1;break; case3: sum3+=wage; n3+=1;break; } cout< ptr->m_Code=code; strcpy(ptr->m_Name,name); ptr->m_Wage=wage; ptr->m_level=level; cout<<"恭喜你,修改信息成功! "< system("pause"); system("cls"); } } ptr=ptr->Next;//查询下一节点。 if(ptr=NULL) { cout<<"没找到此职工的记录,无法修改。 "< system("pause"); system("cls"); } } } 3、信息删除 LinkSearch_Unique_Front(LinkHead)//查询满足“职工代码“的职工信息(职工
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工资管理 系统