下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、程序设计课程设计报告工资管理系统院系:地质工程系班级:地质工程班组员:陈欣永 胡世俊 李积荣 赵海俊 马小成目录一、. 设计目的. 1二、. 设计内容与要求. 21. 设计内容.32. 设计要求.4三、.总流程图设计5四、.程序详细功能设计6五、.程序调试7六、.设计小结8七、.参考文献9附录10、设计目的在计算机中建立相应的数据结构,利用程序实现工资的输入、查询、增、 删、改、统计、输出等操作。进一步掌握利用C语言进行程序设计的能力;进一步理解和运用结构化程序设 计的思想和方法;初步掌握开发一个小型实用系统的基本方法;学会调试一个较长 程序的基本方法;学会利用流程图表示算法。工资管理系统的设
2、计与实现,此次程序设计主要利用C语言的基础知识开 发一个简单的职工工资管理系统。工资管理系统是一个企业不可缺少的一部分,它 利用计算机对职工工资进行统一管理,实现工资管理工作的系统化、规范化和自动 化,为企业提高工作效率。二、设计内容与要求1.设计内容主要利用C语言的文件操作能力设计开发一个小型的管理信息系统,至少具有 如下功能:对职工信息的录入、修改或删除,通过职工姓名或工号进行查找,并逐 项列出相信的职工工资信息,另外也可以查看所有职工LI前的工资状况。有一个文 本菜单来调用各个功能的函数及一个主菜单来提示用户如何操作。2.设计要求在计算机中建立相应的数据结构,利用程序实现工资的输入、查询
3、、增、删、改、统计、输出等操作。三、总体流程图设计四.程序详细功能设计1、设计一个能够记录公司职工工资的数据结构,每条记录包括:职工号,姓名, 基本工资,职务工资,津贴。2、应用文件保存工资管理数据。3、新增:能将所有输入的职工工资数据保存到文件中,并可选择继续输入或退出。4、查看:查看所有职工信息,包括职工号,姓名,基本工资,职务工资,津贴。定义 U0输岀职工信息5、查找:输入职工的职工号或姓名,并在文件中查找。若找到,则显示该职工的工资详情;否则提示未找到。无论查找成功否,应还可选择继续查找或退出。定义 n=0输入 n按工号查找输入错误1 1终止终止6、删除:输入职工的职工号,并在文件中查
4、找。若找到,提示是否确定删除。若 选择是,则删除文件中该职工信息;若选择否,则取消。若未找到则提示无此职工 信息。无论查找成功否,应还可选择继续查找或退出。怎义 n=0输入 n按工号删除I|I-7、修改:输入职工的职工号在文件中查找。若找到,显示该职工的所有信息,否 则提示无此职工信息。无论查找成功否,应还可选择继续查找或退出。开始8、统计:9、退出:退出程序。五、程序调试职P许管理 糸统 *共盘狭幵”=请选择;鳩土址左芈-程序调试的任务是排除程序中的错误,使程序能顺利地运行并得到预期的效 果。程序的调试阶段不仅要发现和消除语法上的错误,还要发现和消除逻辑错误和 运行错误。要正确利用编辑时提示
5、的错误信息。调试阶段出现了很多的问题,主要如下:1、 在定义和运用数据类型时出现问题,不清楚字符串的输出用S,而错用为Co2、 忘记“;”或把“;”用错误的输入法输入,造成的错误。3、 大括号混乱造成错误。4、 用文件保存职工信息时,对printf不熟悉,造成使用格式错误,输出内容 不符合,通过仔细核对书上的格式才改掉。5、 在读取信息时,不会用scanf,是程序的运行结果混乱,造成职工信息错 位,或是直接输出0.00等。六、设计小结通过这儿天的努力,职丄工资管理系统的设计已基本完成。在本次课程设计中, 我充分领略了C语言功能的强大,包括函数、数组、指针、结构体、文件等。职工工资管理系统是一个
6、很实用并且使用广泛的操作系统。 此系统可以减少很 多工作量,做到设计合理,便于使用,易于操作;界面友好,容错性高,可在很短的时 间内,查找出所需的职工工资资料,提高工作效率。该系统具有添加、显示、查询、 修改、删除等基本功能,TJTJ1 1 2 2TJTJ6 67 7洛E加耳9HZ(言r人人入入入入入入入入入入入入入入人人人人人入入入入入入查栈职工信息A/SZSA AA/Sa A/S/SZi A A/SZS|!田糸VS A/S八Z A/S/SZV A/s/sa A A/ZSZ44ZZ4J.Zr4JZ444人人人人人人人入入入入入入入入入入入入入入人人人人人人人入入入入入入入入入入入入入入f44
7、ZfX44Zr44Z444以方便对工资的各项管理操作。每一条记录包括一个职工 的工号、姓名、工资等信息,系统的各个功能模块都用函数的形式来实现,可以将 职工信息保存在文件中,并从文件中读取出来。在本次课程设计中,我也发现了自己很多的不足,并学到了许多的知识。对以 前课本中学到的知识有了更深刻的理解,和灵活的运用。不再像以前一样,知识浅 显的明口,死板的套用。编写程序的过程,让我感觉到了无限的快乐,不仅仅是因 为可以将以前学到的相关知识灵活运用,还因为在这个过程中学到了太多以前所没 有掌握的东西。最后我还掌握到了写复杂程序的技巧,在写大程序时应遵守“自顶向下,逐步 细化,模块化”的方法进行设计;
8、C语言提供了丰富的数据库和各种功能的函数, 我们要善于使用,使我们的程序达到最简洁的这将对我以后的C程疗;学习产生重要 的影响。通过这次程序设计,使我加深了对C语言的认识,进一步熟悉了对C语言功能 的灵活运用,而且加深了我对程序的理解和编写能力,通过文献资料和网络资料的 帮助,使我对C语言程序设计这一基础学科乂一次加深了认识,也意识到了其具有 的强大功能和发展前景。这会对以后的学习有所帮助。七、参考文献1谭浩强.C程序设计(第三版)北京:清华大学出版社2006. 3.2王为青等.C语言高级编程及实例剖析北京:人民邮电出版社2007. 3.3黃明等.C语言课程设计 北京:电子工业出版社2006.
9、 3.附录源程序# include include # include struct workerchar namc30J;char ID10;int salary Lsalary2,salarv3; ;int dq(stnict worker wo);void show();void bc(struct worker woJ);void add();void see();void search();void ghcz();void xmcz();void del();void xmsc();void ghsc();void statistics();void modifyO;void ghx
10、g();void xmxg();void reserve();void back();void author();struct worker wo100; /保存所有的职工信息 int Number=0; /记录总的职工人数void main()int choose=0:while(true)show();printf(ntt=iH 选择:);scanf(n%d,&choose);system(Hclsn);switch(choose)case 0: cxit(O);/退岀break:case 1: add();back();添加职工信息break;case 2: sec();back();/
11、査着职工信息break:case 3: search();back();/查找职工信息break;case 4: dcl();back();/删除职工信息break;case 5: statistics();back();/统计职工工资break:case 6: modifyO;back();/修改职工信息break:case 7: reserve。;back();保存数据break:case 8:author();back();/作者滄息break:default:break;fflush(stdin);getcharO;systeni(nclsH);int dq(stmct worker
12、wo)FILE *fp=NULL;int i=0;fp=fopen(MC:/worker.datH;,rbn);while(fread(&woi,sizcof(struc( worker), 1 fp)i+;fclose(fp);return i; void show() printf(V);printf(Mt* 职 匸 工 资 管 理 系 统 *nrT): printf(MtAAAAAAAA人 人AAAAA 1 printf(MtAAAAAAAA人人人AAAA|7printf(MtAAAAAAAAAAAAAAA3 printf(HtAAAAAAAAAAAAAAA4print f(MtAAA
13、AAAAAA AAAA AA5printf(HtAAAAAAAAAAAAAAA6printf(MtA AA AAAAAA AAAA AA7)printf(HtAAAAAAAAAAAAAAA8printf(MtA AA AA AAAA AAAA AA o printf(Mt* voidbc(struct worker *wo)FILE *fp=NULL; fp=fopen(MC:/worker.dat,ab+H); fwrite(wo,sizeof(struct worker). 1 ,fp); fclose(fp);/添加职工信息void add()int numbcrTemp=O:int i
14、=0;struct worker temp:primf(”请输入要添加职工个数:”); scanf(”cT;&niimbciTcmp); for(i=0:inumberTemp;i+)printf(M输入第d个职工信息iri+l); printf(M姓需:”); scanf(,%s,);printf(H工号:”); scanf(N%sM,temp.ID);printf(H基本工资: scanf(,%d,&temp.salaryl);print”职务工资:scanf(”cT;&icmp salary2);printf(M津贴:”); scanf(”d:&icmp.salary3
15、);woNumber+=temp; 写入到数组 bc(&temp); 写入到文件printf(M添加成功 n”);/查看职工信息void see()int i=0;printf(M以下是全部职工n”);printf(Mt姓名t 工号基本工资乂职务工资t津贴 W);while(iNumber)printf(Ht%st%st%dtt%dtt%dn,,woi.ID,woi.saIaryl,woi.salary2,woi.salary3); i+;/查找职工信息添加职工信息AAAAAAAAAAAAAAAAAH). 查看职T 信 AAAAAAAAAAAAA人八八八山”), 查找职工信息A
16、AAAAAAAAAAAAAAAAHJ.删除职工信息AAAAAAAAAAAAAAAAAHJ.统职 I 丁igAAAAAAAAAAAA人人八人八山“)修改职工信息AAAAAAAAAAAAAAAAAHJ.保存数 AAAAAAAAAAAAAAAAA*)- 作者 彳言AAAAAAAAAAAAA人八人void search()int n=0;printf(Hl 按姓名查找n”);printf(H2 按工号查找n”);scanf(H%d,&n);switch(n)case 1: xmcz();break;case 2: ghcz();break:default: printf(M输入错误!n”);break
17、;void xmcz()/按姓名查找char name30;int i=0;printf(H请输入要查找职工姓名门;scanf(N%sM,nanie);system(HclsH);printf(Mt姓名t 工号l基本工资t 职务工资t 津贴n”);for (i=O:ivNumbcr:i+)if (strcmp()=0)printf(,t%st%st%dtt%dtt%dn,)woi.ID.woi.salaryhwoi.salary2,woi.salary3);void ghcz()按工号查找char id10;int i=0;primf(”请输入要查找职
18、工工号 L);scanf(N%sH,id);SYSteni(,clsn)iprintf(t姓切山工号t 基本工资t 职务工资t津贴n”);for (i=O:ivNumbcr:i+)if (strcmpf id. wo i . ID )=0)printf(Ht%st%st%dtt%dtt%dn,,woi.ID,woi.salaryhwoi.salary2,woi.salary3);/删除职工信息void del()int n=0;printf(Hl 按姓名删除n”);printf(H2 按工号删除i门; scanf(n%d*&n);switch(n)case 1: xmsc();
19、break;case 2: ghsc();break:void xmsc()按姓名删除FILE *fp=NULL;char name30J;int i=0;int j=0:printfC*请输入要删除的职工姓需:); scanf(,%s,name);for(i=0;iNumber;i+)if (strcmp()=0)for (j=i;jNumber-l ;j+)woj=woj+l;Number-;/将剩余数据写入文件擦除以前的数据 fp=fopen(MC:/worker.datH/,wbH);for (i=O:iNumber;i+)fwrite(&woi,sizcof
20、(s(ruc( worker)J .fp);fclose(fp);printf(M删除成功;n”);void ghsc()按工号删除FILE *fp=NULL;char id60;int i=0;int j=0;printf(H请输入要删除的职工工号:J; scanf(N%sM,id);for(i=0;iNumber:i+)if (strcmpf id. wo i . ID )=0)for (j=i;jNumber-l ;j+)woj=woj+l;Number-;/将剩余数据写入文件擦除以前的数据fp=fopen(MC:/worker.datH;,wbu);for (i=O;iNumber;i+)fwrite(&woi,sizcof(stnici worker), 1 fp);fclose(fp);printf(H删除成功;n”);/统计职工工资void statistics()int i=0;double s=0.0;double sum100;for(i=0;iNumber;i+)sumi=wo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025黑龙江大庆松嫩农牧渔业集团有限公司会计岗位招聘2人(公共基础知识)综合能力测试题附答案
- 广东公务员行测考试试题及答案
- 2026年高校教师资格证《高校教师职业道德》题库【综合卷】
- 2026年汽车后市场用品电商直播转化路径调研
- 2026年口腔正畸学考试题库含答案【轻巧夺冠】
- 管理沟通4考试题及答案
- 2023年咸宁市遴选公务员笔试真题汇编附答案解析(夺冠)
- 2024年浙江外国语学院辅导员考试笔试真题汇编附答案
- 2025年本溪满族自治县辅警招聘考试真题汇编附答案
- 关于单招考试题库及答案
- 大锁孙天宇小品《时间都去哪了》台词剧本完整版-一年一度喜剧大赛
- 2024年重庆市优质企业梯度培育政策解读学习培训课件资料(专精特新 专精特新小巨人中小企业 注意事项)
- 粮油产品授权书
- 加氢裂化装置技术问答
- 广东省东莞市东华中学2023-2024学年数学九上期末考试试题含解析
- 关于安吉物流市场的调查报告
- 抑郁病诊断证明书
- 病理生理学复习重点缩印
- 第五届全国辅导员职业能力大赛案例分析与谈心谈话试题(附答案)
- 《大数的认识》复习教学设计
- GB/T 3513-2018硫化橡胶与单根钢丝粘合力的测定抽出法
评论
0/150
提交评论