工资管理.docx
- 文档编号:3510806
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:10
- 大小:19.44KB
工资管理.docx
《工资管理.docx》由会员分享,可在线阅读,更多相关《工资管理.docx(10页珍藏版)》请在冰豆网上搜索。
工资管理
C语言课程-工资管理系统-课程----点击查看参考写作资料
C语言课程设计|工资管理系统
一、需求分析
题目:
工资管理系统
总体设计目标:
使用者可以利用此系统进行对工资管理的各项运算操作,如根据用户提供的客户工资自动地进行计算实发工资,查找职工信息数据,删除记录,插入记录,保存记录及按实发工资排序等,最后清晰完整的工资管理结果显现在屏幕中。
大大方便使用者对工资管理的统计操作,这样不仅可以提高效率,而且方便易操作。
二、总体设计
1、概述
该系统采用了自上而下、层层紧扣的模块结构。
对于最高模块,采用以事务为中心的设计策略,把一个大的模块逐步分解成较小的相对简单的模块。
对低层模块,采用以变换为中心的设计策略。
为了提高每个小模块的内聚性、降低模块间的耦合性,将每个模块设计成具有单一功能的模块(即功能内聚),使模块间的联系完全是通过主模块的控制和调用来实现(即非直接耦合)。
2、计算机系统配置
⑴硬件配置
主板:
顶星
CPU:
华硕
内存:
80G
硬盘:
512M
⑵软件配置
操作系统:
windowXP;
C语言编译系统:
turboC++
3、系统结构图
⑴系统结构图
工资管理系统的系统结构图如下所示,总共由7个模块组成,其中一个是总控模块,另外七个是分别实现不同功能的子模块:
⑵模块说明书
A. 工资管理系统总控模块的模块说明书
模块名称:
工资管理系统总控模块
输 入:
主菜单选择项
输 出:
整个所有学生的信息
处理:
1. 按以下格式显示主菜单和提示使用者选择:
工资管理系统:
0计算实发工资
1查找记录
2删除记录
3插入记录
4保存文件
5按实发工资升序排序
6退出
请选择(0,2,3,4,5,6):
2. 接收主菜单选择项
如果选择项的值为0,调用计算实发工资子模块。
如果选择项的值为1,调用查找记录子模块。
如果选择项的值为2,调用删除记录子模块。
如果选择项的值为3,调用插入记录子模块。
如果选择项的值为4,调用保存文件子模块。
如果选择项的值为5,调用按实发工资升序排序子模块。
如果选择项的值为6,结束操作,退出本系统。
B. 插入工资记录子模块说明书
模块名称:
插入工资记录模块
输 入:
根据给定员工的号码,姓名,基本工资进行添加
输 出:
该员工的工资信息
处理:
按以下格式显示子菜单和提示使用者选择:
插入员工工资系统
⑴请按提示输入要插入的员工的号码
⑵在第二菜单中输入员工的号码,姓名,基本工资
⑶回车返回主菜单
C.保存文件子模块说明书
模块名称:
保存文件子模块
输 入:
所需保存的员工的姓名
输 出:
保存成功该员工资料
处理:
按以下格式显示子菜单和提示使用者选择:
保存文件系统
⑴请按提示输入要保存的员工资料的员工姓名(此员工资料之前已经确定插入)
⑵回车显示保存成功
⑶回车返回主菜单
D.计算实发工资子模块说明书
模块名称:
计算实发工资子模块
输 入:
员工的工资扣款
输 出:
员工的应发工资,税金,实发工资
处理:
按以下格式显示子菜单和提示使用者选择:
计算实发工资系统
⑴首先,要先插入、保存好员工的工资信息
⑵按号码排序提示,输入该员工的扣款,回车得到员工的应发工资,税金,实发工资
⑶依次填入其它员工的扣款即得到所有员工的应发工资
⑷计算完后回车返回主菜单
E.查找记录子模块说明书
模块名称:
查找员工工资记录子模块
输 入:
要查找的员工姓名
输 出:
所要查找的员工的工资信息
处理:
1.按以下格式显示子菜单和提示使用者选择:
查找员工工资系统
输入所要查找的员工工资的姓名,回车
2.⑴显示出所查员工的工资信息,回车返回主菜单
⑵显示不出所查员工任何信息,出现查不到的情况,回车返回主菜单
F.删除记录子模块说明书
模块名称:
删除员工工资记录子模块
输 入:
根据给定员工的号码进行删除
输 出:
整个员工的所有工资资料
处理:
按以下格式显示子菜单和提示使用者选择:
删除员工工资记录系统
⑴请输入要删除的员工工资的员工号码
⑵回车确定删除
⑶再次回车返回主菜单
G.按实发工资升序排序子模块说明书
模块名称:
按实发工资升序排序子模块
输 入:
根据给定的学生的实发工资从小到大进行排序
输 出:
已经排好序的员工实发工资的序列
处理:
按以下格式显示子菜单和提示使用者选择:
按实发工资升序排序系统
⑴对已经保存过的员工资料,按提示回车
⑵系统自动完成对员工实发工资由小到大的顺序进行排序
⑶回车返回主菜单
三、详细设计
1.“工资管理系统总控模块”的详细设计
⑴概述
本模块的详细设计依据是:
总体设计中的“A.工资管理系统的总控模块说明书”。
⑶程序流程图如下169
C语言课程设计
2.“计算实发工资子模块”的详细设计
⑴本模块的详细设计的依据是:
总体设计中的“D.计算实发工资子模块”的模块说明书。
⑵程序流程图如下:
开始
定义整型变量x=0
显示操作项目让使用者
选择,输入员工号码
如果存在,输入扣 不存在
款,返回得实发工资
返回
3.“查找记录子模块”的详细设计
⑴本模块的详细设计的依据是:
总体设计中的“E.查找记录子模块”的模块说明书。
⑵程序流程图如下:
开始
定义整型变量x=1
输入所要查找的员工
工资姓名
显示查找结果 显示不存在
返回
4.“删除记录子模块”的详细设计
⑴本模块的详细设计的依据是:
总体设计中的“F.删除记录子模块”的模块说明书。
⑵程序流程图如下:
开始
定义整型变量x=2
输入要删除的员工工资
的员工号码
存在对象,回车确定 不存在该对象
删除
返回
5.“插入工资记录子模块”的详细设计
⑴本模块的详细设计的依据是:
总体设计中的“B.插入工资记录子模块”的模块说明书。
⑵程序流程图如下:
开始
定义整型变量x=3
输入要插入的员工的号码
输入员工的号码,姓名,
基本工资
确定,退出保存 输入错误
返回
6.“保存文件子模块”的详细设计
⑴本模块的详细设计的依据是:
总体设计中的“C.保存文件子模块”的模块说明书。
⑵程序流程图如下:
开始
定义整型变量x=4
输入所需保存的员工的姓名
保存员工工 保存不成功
资资料成功
返回
7.“按实发工资升序排序子模块”的详细设计
⑴本模块的详细设计的依据是:
总体设计中的“G.按实发工资升序排序子模块”的模块说明书。
⑵程序流程图如下:
开始
定义整型变量x=5
根据给定的学生的实发
工资从小到大进行排序
回车排序成功
返回
四、编码
1.说明
“工资管理系统总控模块”的功能由menu_select函数实现,根据“工资管理系统总控模块”的程序流程图编写menu_select函数。
“计算实发工资子模块”的功能由calc函数实现,根据“计算实发工资子模块”的程序流程图编写calc函数。
“查找记录子模块”的功能由search函数实现,根据“查找记录子模块”的程序流程图编写search函数。
“删除记录子模块”的功能由delete函数实现,根据“删除记录子模块”的程序流程图编写delete函数。
“插入记录子模块”的功能由insert函数实现,根据“插入记录子模块”的程序流程图编写insert函数。
“保存记录子模块”的功能由save函数实现,根据“插入记录子模块”的程序流程图编写save函数。
“按实发工资升序排序子模块”的功能由sort函数实现,根据“按实发工资升序排序子模块”的程序流程图编写sort函数。
2.选择编写程序语言
/******头文件(.h)***********/
#include"stdio.h" /*I/O函数*/
#include"bios.h" /*ROM基本输入输出函数*/
#include"dos.h" /*dos接口函数*/
#include"conio.h" /*屏幕操作函数*/
#include"stdlib.h" /*其它说明*/
#include"string.h" /*字符串函数*/
#include"mem.h" /*内存操作函数*/
#include"ctype.h" /*字符操作函数*/
#include"alloc.h" /*动态地址分配函数*/
/****变量定义*******/
typedefstructz1 /*定义数据结构*/
{
charno[11]; /*编号*/
charname[15]; /*姓名*/
chardanwei[15]; /*单位*/
floatjbgz; /*基本工资*/
floatkoukuan; /*扣款*/
floatyfgz; /*应发工资*/
floatshuijin; /*税金*/
floatsfgz; /*实发工资*/
structz1*prior; /*前驱指针*/
structz1*next; /*后继指针*/
}SALARY; /*结构体类型名*/
structz1*First; /*双链表头指针*/
structz1*Last; /*双链表尾指针*/
/******函数原型*********/
voidinit(); /*初始化*/
voidcreate(); /*创建链表*/
voidcalc(); /*计算应发工资*/
voiddelete(); /*删除*/
voidsearch(); /*查找*/
voidsave(); /*保存文件*/
voidload(); /*读取文件*/
voidcomputer(); /*计算所需各种票面张数*/
voidinsert(); /*插入*/
voidappend(); /*追加*/
voidcopy(); /*复制文件*/
voidsort(); /*排序*/
voidindex(); /*索引*/
voidtotal(); /*分类合计*/
voidlist(); /*显示所有数据*/
voidprint(SALARY*p);/*输出单条记录*/
voiddisplay(); /*随意逐条显示*/
floatfax(floatx); /*计算税金*/
intmenu_select(); /*主菜单*/
/*******主函数开始**********/
main()
{
inti;
clrscr();
for(;;)
{
switch(menu_select()) /*调用菜单函数返回一个整数值*/
{
case0:
calc();break; /*计算实发工资*/
case1:
search();break; /*查找职工信息数据*/
case2:
delete();break; /*删除记录*/
case3:
insert();break; /*插入记录*/
case4:
save();break; /*保存文件*/
case5:
sort();break; /*按实发工资升序排序*/
case6:
exit(0); /*退出*/
}
}
}
/*菜单函数,函数返回值为整型,代表所选的菜单项*/
menu_select()
{
char*f[]=
{
/*定义菜单字符串数组*/
"**************MENU*************",/*菜单的标题行*/
"0.Calcthesalary", /*计算实发工资*/
"1.Searchrecordonname", /*查找记录*/
"2.Deletearecord", /*删除记录*/
"3.Insertrecordtolist", /*插入记录*/
"4.Savedatatothefile", /*保存文件*/
"5.Sortonsfgz", /*排序*/
"6.Quit", /*退出*/
};
chars[80];
int i;
intkey=0; /*记录所压键值*/
intc=0;
gotoxy(1,25); /*移动光标*/
printf("pressanykeyentermenu......\n");/*压任意键进入主菜单*/
getch();
clrscr(); /*清屏*/
textcolor(YELLOW); /*设置文本颜色为黄色*/
textbackground(RED); /*设置背景颜色为红色*/
gotoxy(10,2);
putch(0xda); /*输出左上角边框┏*/
for(i=1;i<44;i++)
putch(0xc4); /*输出上边框水平线*/
putch(0xbf); /*输出右上角边框 ┓*/
for(i=3;i<22;i++) /*输出左右两边的垂直线*/
{
gotoxy(10,i);putch(0xb3);
gotoxy(54,i);putch(0xb3);
}
gotoxy(10,22);putch(0xc0); /*输出左上角边框┗*/
for(i=1;i<44;i++)
putch(0xc4); /*输出下边框水平线*/
putch(0xd9); /*输出右下角边框┛*/
window(11,3,53,21);/*制作显示菜单的窗口,大小根据菜单条数设计*/
clrscr(); /*清屏*/
for(i=0;i<8;i++)
{
gotoxy(10,i+1);
cprintf("%s",f[i]); /*输出菜单项数组*/
}
i=1;
gotoxy(10,2); /*设置默认选项在第一项*/
textbackground(LIGHTGREEN); /*设置背景颜色为浅绿*/
cprintf("%s",f); /*输出菜单项,表示选中*/
gotoxy(10,2); /*移动光标到菜单的第一项*/
while(key!
=13) /*所压键不是回车键时*/
{
C语言课程设计-工资管理系统
while(bioskey
(1)==0); /*查询是否压下了一个键*/
key=bioskey(0); /*返回下一个在键盘压下的键*/
key=key&0xff?
key&0xff:
key>>8;/*对所压的键进行判断*/
gotoxy(10,i+1);
textbackground(BLUE); /*设置背景颜色为蓝色*/
cprintf("%s",f[i]); /*输出菜单项*/
if(key==72)i=i==1?
17:
i-1;/*如压向上光标键↑,i减1,如已到第一行再上移,则到最后一行*/
if(key==80)i=i==17?
1:
i+1; /*如压向下光标键↓,i加1,如已到最后一行再下移,则到第一行*/
gotoxy(10,i+1);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工资管理