C语言职工工资管理系统设计报告.doc
《C语言职工工资管理系统设计报告.doc》由会员分享,可在线阅读,更多相关《C语言职工工资管理系统设计报告.doc(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、. -?C语言程序设计?课程设计报告分值设计题目:职工工资管理系统专业:班级:学号:XX:信息工程学院1 前言工资管理系统是企业不可缺少的一局部,它利用计算机对员工工资进展统一管理,实现工资管理系统的系统化、规化和自动化,为企业提高工作效率。本程序旨在训练读者的根本编程能力,了解管理信息系统的开发流程,熟悉C语言的文件和构造数组的各种根本操作。本程序中涉及构造体、数组、文件等面的知识。2 需求分析2.1课程设计目的学生在教师指导下运用所学课程的知识来研究、解决一些具有一定综合性问题的专业课题。通过课程设计论文,提高学生综合运用所学知识来解决实际问题、使用文献资料、及进展科学实验或技术设计的初步
2、能力,为毕业设计论文打根底。2.2 课程设计任务职工工资管理系统功能设计要求1输入记录:将每一个职工的XX、ID号以及根本工资、职务工资、岗位津贴、医疗保险、公积金的数据作为一个记录。该软件能建立一个新的数据文件或给已建立好的数据文件增加记录。2显示记录:根据用户提供的记录或者根据职工XX显示一个或几个职工的各项工资和平均工资。3修改记录:可以对数据文件的任意记录的数据进展修改并在修改前后对记录容进展显示。4查找记录:可以对数据文件的任意记录的数据进展查找并在查找前后对记录容进展显示。5删除记录:可删除数据文件中的任一记录。6统计: (A)计算各项工资平均工资及总工资, (B)统计符合指定条件
3、(如职工工资前三项之和在3000元以上、30002000元、20001000元) 以的工资职工人数及占总职工人数的百分比。(C)按字符表格形式打印全部职工工资信息表及平均工资(包括各项总的平均工资)。7保存数据文件功能。例如:职工工资信息表ID号XX根本工资职务工资津贴医疗保险- 公积金- 总工资01 望 1286 794 198 109 2034 02 明 1185 628 94 114 1740 03 小民 895 438 98 64 73 1294 04 效章 1350 868 210 116 150 2162 05 山 745 398 84 61 68 1098 各项平均工资 1092
4、.2 625.2 145 88.8 108要求:1.源文件采用多文件的工程构造2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的容需要自学2.3 设计环境1WINDOWS 2000/2003/XP/7/Vista系统2Visual C+2.4 开发语言C语言3 分析和设计从主菜单中选择相对应的数字,使程序进入不同的程序模块,用switch实现其功能,程序共分为六个模块,分别为:主函数、Input( )函数(输入函数)、Display(T)显示函数计算职工工资信息并输入文件、Delete (T)删除函数从文件中读入信息并将其删除,ChickT查询模块,Chang
5、e(T);修改模块,sum(T);统计模块3.1 系统模块图主菜单查找功能显示功能删除功能输入功能退出程序添加功能修改功能按XX删除按工号查找修改工号修改XX修改职务工资修改根本工资修改医疗保险修改津贴修改公积金按XX查找按工号删除图3.1 系统模块图4 具体代码实现#includestdio.h #include #include #include / 头文件static int n=0; / 定义静态全局变量,存储已经读入记录的条数。typedef struct char id15; /*ID号*/ char name10; /*XX*/ double base; /*根本工资*/ dou
6、ble position; /*职务工资*/ double allowance; /*津贴*/ double insurance; /*医疗保险*/ double fund;/公积金double wage;/总工资 Student; Student T100; int Menu_Select() int c; do system(cls); /清屏 printf(tt*职工工资管理系统*n); printf(ttn); printf(tt# 1. 添加记录 #n); printf(tt# #n); printf(tt# 2. 显示记录 #n);printf(tt# #n); printf(tt
7、# 3. 删除记录 #n); printf(tt# #n); printf(tt# 4. 查询记录 #n);printf(tt# #n); printf(tt# 5.修改记录 #n);printf(tt# #n); printf(tt# 6. 统计记录 #n);printf(tt# #n); printf(tt# 0. 退出程序 #n); printf(tt#n); printf(ttt请您选择(0-6)选择请输入:); scanf(%d,&c); while(c=7); return(c); int Input(Student stu) int i=0; char sign; while(s
8、ign!=n&sign!=N) printf(tID:); scanf(t%s,stun+i.id); printf(tXX:); scanf(t%s,stun+i.name); printf(t根本工资:); scanf(t%lf,&stun+i.base); printf(t职务工资:); scanf(t%lf,&stun+i.position); printf(t津贴:); scanf(t%lf,&stun+i.allowance); printf(t医疗保险:); scanf(t%lf,&stun+i.insurance); printf(t公积金:); scanf(t%lf,&stu
9、n+i.fund);stun+i.wage=stun+i.base +stun+i.position +stun+i.allowance +stun+i.insurance +stun+i.fund; ; printf(nt是否继续添加?(Y/N); scanf(t%c,&sign); i+; return(n+i); void Display(Student stu) int i; double m1=0,m2=0,m3=0,m4=0,m5=0; printf(nn按照XX进展排序!nn); printf(-n); /显示的格式 printf(ID XX根本工资职务工资津贴医疗保险公积金总工
10、资n); printf(-n); for(i=0;in;i+) printf(%-6s%-8s%-11.2lf%-11.2lf%-11.2lf%-11.2lf%-11.2lf%-11.2lfn,stui.id,stui.name,stui.base,stui.position,stui.allowance,stui.insurance,stui.fund,stui.wage); /-14d% -表示左对齐 14 表示十四个字节的位置缺乏用空格补齐 for(i=0;in;i+) m1+=stui.base; m2+=stui.position; m3+=stui.allowance; m4+=s
11、tui.insurance; m5+=stui.fund;if(n!=0) printf(-n); printf(各项平均工资:%-11.2lf%-11.2lf%-11.2lf%-11.2lf%-11.2lfnn,m1/n,m2/n,m3/n,m4/n,m5/n); system(pause); /系统函数停顿。 int Delete(Student stu) int i=0,j,x; char m10; printf(t 1.全部删除n); printf(t 2.根据ID号删除n); printf(t请选择: ); scanf(%d,&x); if(x=1)for(j=0;jn;j+)/后一
12、条记录覆盖前一条记录 stuj=stun+1; n=0; printf(已抹掉数据文件中的所有数据!n);system(pause);else if(x=2)printf(t请输入想删除记录中的ID号:); scanf(%s,m); while(strcmp(stui.id,m)!=0&in)i+; if(i=n) printf(t职工工资管理系统中没有此人!n); else for(j=i;jn-1;j+)/后一条记录覆盖前一条记录 stuj=stuj+1; printf(ttt已经成功删除!n); n=n-1; return (n); void Chick(Student stu) int
13、 m; printf(tn请选择查询式:n); /printf输出查询格式 printf(t*n);/格式: printf(t* 1-XX查询 *n); printf(t* 2-ID查询 *n); printf(t*n); printf(请选择:); scanf(%d,&m); while(m!=1&m!=2) printf(输入错误,请重新选择:); scanf(%d,&m); if(m=1) /此处对名字进展特殊处理 char s20; int i=0; int f=0; printf(t请输入想查询的XX:); scanf(t%s,s); while(strcmp(stui.name,s
14、)!=0&in ) /名字如果有重复的也照常输出 i+; if(i=n) printf(t职工工资管理系统中没有此人!n); return; else printf(tID: %sn,stui.id); printf(tXX: %sn,stui.name); printf(t根本工资: %.2lfn,stui.base); printf(t职务工资: %.2lfn,stui.position); printf(t津贴: %.2lfn,stui.allowance); printf(t医疗保险: %.2lfn,stui.insurance); printf(t公积金: %.2lfn,stui.f
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 职工工资 管理 系统 设计 报告
限制150内