收藏 分享(赏)

c语言课程设计.docx

上传人:ysd1539 文档编号:7097165 上传时间:2019-05-05 格式:DOCX 页数:24 大小:154.34KB
下载 相关 举报
c语言课程设计.docx_第1页
第1页 / 共24页
c语言课程设计.docx_第2页
第2页 / 共24页
c语言课程设计.docx_第3页
第3页 / 共24页
c语言课程设计.docx_第4页
第4页 / 共24页
c语言课程设计.docx_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、1成 绩 评 定 表学生姓名 王晓帅 班级学号 1309010138专 业 信息与计算科学 课程设计题目 工资管理系统评语组长签字:成绩日期 20 年 月 日2课程设计任务书学 院 理学院 专 业 信息与计算科学学生姓名 王晓帅 班级学号 1309010138课程设计题目实践教学要求与任务:要求:培养学生结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解;独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格;掌握 C 语言的编程技巧和程序设计的常用算法。任务:主要利用 c 语言的文件操作能力设计开发一个小型的管理信息系统,至少具有如下功能:工资录入,按人名、基本工资、实发

2、工资、个人所得税进行查询和按部门进行分类统计。操作界面要符合用户的一般习惯,图形或文本界面都可以。工作计划与进度安排:第一天:查阅相关资料; 第二、三天:程序与实现设计;第四天:程序调试、论文写作第五天:答辩。指导教师:201 年 月 日专业负责人:201 年 月 日学院教学副院长:201 年 月 日3目录1.摘要 42.设计任务 43.设计内容与步骤 43.1 该系统的功能简介 43.2 功能目录 53.3 流程图 53.4 运行程序测试结果 63.5 收获与体会 94.参考文献 95.源代码清单 1041.摘要工资管理系统是针对企业的工资管理业务进行计算机处理而开发的应用软件。该系统由系统

3、维护、输入、查询、修改、输出、统计等子模块组成,功能基本涵盖普通企业的工资管理业务范围。企业应用本系统后,可以有效的提高工资管理水平。本文从需求分析、开发平台选择、系统模块建立、数据库设计、功能模块编程实现及软件测试等方面阐述了本应用系统的设计过程。为便于说明,文中绘制了程序结构框图、数据流程图和部分界面图。最后附有主要的源程序代码清单。 2.设计任务主要利用 c 语言的文件操作能力设计开发一个小型的管理信息系统,至少具有如下功能:工资录入,按人名、基本工资、实发工资、个人所得税进行查询和按部门进行分类统计。操作界面要符合用户的一般习惯,图形或文本界面都可以。3.设计内容与步骤3.1 该系统的

4、功能简介该系统的主要功能是实现职工工资的录入,包括(录入职工的基本工资、实发工资、津贴、岗贴、补贴、房帖、交通补贴、储蓄、汇费) 。对职工的工资信息进行删除、修改、个人所得税的计算。并统计职工的所有信息。53.2 功能目录该程序的功能主要是实现职工工资的录入,并对工资的相应信息进行个人所得税的计算。各个模块之间的关系是相互联系的。首先,主函数包含了所有的子函数。主函数是整个程序的核心。子函数之间也是有联系的,对个人所得税的计算、职工工资信息的修改、删除、查询、统计,必须是在职工工资录入的情况下进行的。因此对职工工资信息的录入是非常重要的。在职工工资的修改、删除、查询、统计与个人所得税所有的子函

5、数之间是没有多大联系的。3.3 流程图Main(职工工资管理系统)添加职工的工资信息计算个人所得税修改工人记录查询工资信息统计工资信息删除个人工资信息基本工资津贴补贴交通补贴房租储蓄汇费实发工资岗贴房帖添加职工的工资信息63.4 运行程序测试结果(1)主函数程序运行界面:(2)录入职工的程序运行界面7(3)删除职工记录程序界面(4)修改个人记录的运行界面8(5)查找职工记录的运行界面(6)统计出所有的职工信息的运行界面93.5 收获与体会随着我国成功加入 WTO 及信息化浪潮的日益临近,企业、单位等一些部门在激烈的市场竞争环境下求得生存,就必须有效地利用人才、时间、信息结合的优势。因此,如何使

6、企业、单位等部门及时掌握本企业、单位等人才的各种信息、第一时间处理好随时变化的工资管理问题,建立一套符合企业、单位实际的工资管理系统就显得尤为重要。通过这次课程设计,我对很多的函数有新的认识,也学会运用多种函数,我也明白写软件的基本过程和基本方法。写软件的过程中我又学到曾经自己不知道的函数或是自己不会的函数的用法。特别是文件的开启和关闭,读与写。这次课程设计课总的来说让我受益匪浅。4.参考文献1谭浩强著.C 程序设计(第二版).北京:清华大学出版社,19992谭浩强,张基温,唐永炎编著.C 语言程序设计.北京:高等教育出版社,19923谭浩强编著.QBASIC 语言教程.北京:电子工业出版社,

7、19974谭浩强.C 程序设计M.3 版.北京:清华大学出版社,20055Herbert Schildt 著.戴健鹏译.C 语言大全(第二版).北京:电子工业出版社,19946美SCHILDTH.C 语言大全M.4 版.王子恢等译.北京:电子工业出版社,102005.源代码清单#include “stdio.h“#include “conio.h“#include“stdlib.h“#include “dos.h“/* 为了调用 atof()等函数 */#include “stdlib.h“#define TRUE 1addone();delone();modone();idone();lis

8、tall();wfile();rfile();/* 结构体声明 */struct zhigongint month;double id;double jbgz;double jt;11double gt;double bt;double ft;double jtbt;double sfgz;double fz;double cx;double hf;double grsds;double yks;double sfs;/* 建立 50 个元素的结构体数组 */struct zhigong zg50;/* 建立结构体变量 */struct zhigong zgone;/* 职员列表中的数量 */

9、int n=0;/* 获得字符串 */char numstr50;main()char ch;n=0;/*rfile(); 使用后启动程序时系统会自动加载纪录*/system(“color 4e“);while(TRUE)12printf(“n“);printf(“=n“);printf(“tt欢迎来到职工工资管理系统 (请在中选择)n“);/printf(“_n“);printf(“tt 1.增加职工的工资信息 n“);printf(“tt 2.删除某职工的工资信息 n“);printf(“tt 3.改变某职工的工资信息 n“);printf(“tt 4.输出某职工的所有工资信息 n“);p

10、rintf(“tt 5.统计所有的职工工资信息 n“);printf(“tt 6.保存日期 n“);printf(“tt 7.下载日期 n“);printf(“tt 8.退出 n“);printf(“=n“);printf(“ttt 请选择(1-8) n“);13ch=getche();switch(ch)case 1: addone();break;case 2:delone();break;case 3:modone();break;case 4:idone();break;case 5:listall();break;case 6:wfile();break;case 7:rfile()

11、;break;case 8:exit(0);default:printf(“对不起,请重新选择!n“);/*计算个人所得税*/double tgrsds(double m)double sui1,sui2,sui3;double tmp;sui1=0;sui2=0;sui3=0;if(m=5000)sui1=(m-5000)*0.2;sui2=(5000-1000)*0.1;sui3=(1000-800)*0.05;else if(m=1000 return 0;/*删除个人记录*/delone(void)struct zhigong tmp50;double zhigongid;int j,

12、k;int flagfind;flagfind=0;k=0;printf(“-n“);printf(“n 请输入某职工的职工编号: n“);gets(numstr);zhigongid=atof(numstr);for(j=0;j=n;j+)if(zgj.id=zhigongid)17flagfind=1;elsetmpk=zgj;k+;if(flagfind=1)for(j=0;j=(n-1);j+)zgj=tmpj;printf(“n 成功删除记录 ! n“);printf(“-n“);n=n-1;elseprintf(“n 没有你要删除的记录! n“);printf(“-n“);retu

13、rn (0);/*修改个人记录*/18modone(void)double zhigongid;int j;int flagfind;flagfind=0;printf(“n 请输入职工的职工编号: n“);gets(numstr);zhigongid=atof(numstr);for(j=0;j=n;j+)if(zgj.id=zhigongid)printf(“NO.:%dn“,j);printf(“month:%dn“,zgj.month);printf(“t 职工编号%10.0fn“,zgj.id);printf(“t 基本工资:%10.2fn“,zgj.jbgz);printf(“t

14、请输入职工的基本工资: n“);gets(numstr);zgj.jbgz=atof(numstr);printf(“t 津贴:%10.2fn“,zgj.jt);printf(“t 请输入职工的津贴: n“);gets(numstr);zgj.jt=atof(numstr);printf(“t 岗贴:%10.2fn“,zgj.gt);printf(“t 请输入职工的岗贴: n“);gets(numstr);zgj.gt=atof(numstr);printf(“t 补贴:%10.2fn“,zgj.bt);19printf(“t 请输入职工的补贴: n“);gets(numstr);zgj.bt

15、=atof(numstr);printf(“t 房帖:%10.2fn“,zgj.ft);printf(“t 请输入职工的房帖: n“);gets(numstr);zgj.ft=atof(numstr);printf(“t 交通补贴:%10.2fn“,zgj.jtbt);printf(“t 请输入职工的交通补贴: n“);gets(numstr);zgj.jtbt=atof(numstr);zgj.sfgz=(zgj.jbgz)+(zgj.jt)+(zgj.gt)+(zgj.bt)+(zgj.ft)+(zgj.jtbt);printf(“t 房租:%10.2fn“,zgj.fz);printf(

16、“t 请输入职工的房租: n“);gets(numstr);zgj.fz=atof(numstr);printf(“t 储蓄:%10.2fn“,zgj.cx);printf(“t 请输入职工的储蓄: n“);gets(numstr);zgj.cx=atof(numstr);printf(“t 汇费:%10.2fn“,zgj.hf);printf(“t 请输入职工的汇费: n“);gets(numstr);zgj.hf=atof(numstr);printf(“修改成功n“);zgj.grsds=tgrsds(zgj.sfgz);zgj.yks=(zgj.fz)+(zgj.cx)+(zgj.hf

17、)+(zgj.grsds);20zgj.sfs=(zgj.sfgz)-(zgj.yks);flagfind=1;elseflagfind=0;if(flagfind!=0)printf(“n 没有此记录! n“);return(0);/*从内存中查找记录根据 id*/idone(void)double zhigongid;int j;int flagfind;flagfind=0;printf(“n“);printf(“n 请输入职工的职工编号: n“);gets(numstr);zhigongid=atof(numstr);for(j=0;j=n;j+)if(zgj.id=zhigongid

18、)printf(“n %d 成功找到记录! n |“,j+1);21printf(“tmonth:%d |“,zgj.month);printf(“t 职工编号%10.0f |n“,zgj.id);printf(“t 基本工资:%10.2f |“,zgj.jbgz);printf(“t 津贴:%10.2f |n“,zgj.jt);printf(“t 岗贴:%10.2f |n“,zgj.gt);printf(“t 补贴:%10.2f |n“,zgj.bt);printf(“t 房贴:%10.2f |n“,zgj.ft);printf(“t 交通补贴:%10.2f |,n“,zgj.jtbt);p

19、rintf(“t 实发工资:%10.2f |n“,zgj.sfgz);printf(“t 房租:%10.2f |n“,zgj.fz);printf(“t 储蓄:%10.2f |n“,zgj.cx);printf(“t 汇费:%10.2f |n“,zgj.hf);printf(“t 个人所得税:%10.2f |n“,zgj.grsds);printf(“t 应扣数:%10.2f |n“,zgj.yks);printf(“t 实花数:%10.2fn“,zgj.sfs);printf(“n“);flagfind=1;elseflagfind=0;if(flagfind!=0)printf(“n 您查

20、找的记录不存在! n“);return(0);22/* 输出当月全体职工的工资信息 */listall(void)int j;if(n1)printf(“n 您查找的记录不存在! n“);elsefor(j=0;jn;j+)printf(“n NO:%d |“,j+1);printf(“tmonth:%d |“,zgj.month);printf(“t 职工编号%10.0f |“,zgj.id);printf(“t 基本工资:%10.2f |“,zgj.jbgz);printf(“t 津贴:%10.2f |“,zgj.jt);printf(“t 岗贴:%10.2f |“,zgj.gt);pri

21、ntf(“t 补贴:%10.2f |“,zgj.bt);printf(“t 房帖:%10.2f |“,zgj.ft);printf(“t 交通补贴:%10.2f |“,zgj.jtbt);printf(“t 实发工资:%10.2f |“,zgj.sfgz);printf(“t 房租:%10.2f |“,zgj.fz);printf(“t 储蓄:%10.2f |“,zgj.cx);printf(“t 汇费:%10.2f |“,zgj.hf);printf(“t 个人所得税:%10.2f |“,zgj.grsds);23printf(“t 应扣数:%10.2f |“,zgj.yks);printf

22、(“t 实花数:%10.2fn“,zgj.sfs);return(0);/* 把所有记录从内存中写到磁盘 gongzi.rec 中 */wfile(void)FILE *fptr;printf(“n Saving date. n“);if(n1)printf(“n 无此记录! n“);return(0);if(fptr=fopen(“工资.rec“,“wb“)=NULL)printf(“Can not open file 工资.rec! n“);elsefwrite(zg,sizeof(zg0),n,fptr);fclose(fptr);printf(“File of %d records written! n“,n );return(0);/* 把所有记录从磁盘 gongzi.rec 读到数组 gz 中 */24rfile(void)FILE *fptr;n=0;printf(“n Loading date. n“);if(fptr=fopen(“工资.rec“,“rb“)=NULL)printf(“Can not open file 工资.rec! n“);elsewhile(fread(fclose(fptr);printf(“ Total %d records read! n“,n);return(0);

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报