下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、程序设计课程设计报告工资管理系统院系:地质工程系班级:地质工程班组员:欣永 世俊积荣 海俊马小成Z.目录一、 设计目的1-二、设计容与要求21. 设计容32. 设计要求三、总流程图设计5四、 程序详细功能设计6五、 程序调试7六、 设计小结8七、参考文献附录10、设计目的在计算机中建立相应的数据结构,利用程序实现工资的输入、查询、增、删、改、统计、输出等操作。进一步掌握利用C语言进行程序设计的能力;进一步理解和运用结构化程序设 计的思想和方法;初步掌握开发一个小型实用系统的基本方法;学会调试一个较长 程序的基本方法;学会利用流程图表示算法。工资管理系统的设计与实现,此次程序设计主要利用 c语言
2、的基础知识开 发一个简单的职工工资管理系统。工资管理系统是一个企业不可缺少的一部分,它 利用计算机对职工工资进行统一管理,实现工资管理工作的系统化、规化和自动化, 为企业提高工作效率。二、设计容与要求1设计容主要利用c语言的文件操作能力设计开发一个小型的管理信息系统,至少具有 如下功能:对职工信息的录入、修改或删除,通过职工姓名或工号进行查找,并逐 项列出相信的职工工资信息,另外也可以查看所有职工目前的工资状况。有一个文 本菜单来调用各个功能的函数及一个主菜单来提示用户如何操作。2设计要求在计算机中建立相应的数据结构,禾I用程序实现工资的输入、查询、增、删、改、统计、输出等操作。三、总体流程图
3、设计职工工资管理系统输 入 职 工 息 息显 示 职 工 信 息查 找 职 工 信 息删 除 职 工 信 息添 加 职 工 信 息修 改 职 工 信 息保 存 职 工 信 息文 件 中 读 取退 出开始王采单选择操作选择1选择2选择3选择4选择5选择6选择7选择8选择0*输入职工信息*输出职工信息4查找职工信息*增加职工信息按姓名*增加职工信息按工号按姓名删除职工信息A1按工号按姓名按工资从高到低保存数据从文件中读取退出按工号结束四、程序详细功能设计1、设计一个能够记录公司职工工资的数据结构,每条记录包括:职工号,姓名, 基本工资,职务工资,津贴。2、应用文件保存工资管理数据。3、新增:能将所
4、有输入的职工工资数据保存到文件中,并可选择继续输入或退出4、查看:查看所有职工信息,包括职工号,姓名,基本工资,职务工资,津贴。定义i=0输出职工信息5、查找:输入职工的职工号或姓名,并在文件中查找。若找到,则显示该职工的 工资详情;否则提示未找到。无论查找成功否,应还可选择继续查找或退出。开始6、删除:输入职工的职工号,并在文件中查找。若找到,提示是否确定删除。若 选择是,则删除文件中该职工信息;若选择否,则取消。若未找到则提示无此职工 信息。无论查找成功否,应还可选择继续查找或退出。定义n=0输入n按工号删除终止7、修改:输入职工的职工号在文件中查找。若找到,显示该职工的所有信息,否8、统
5、计:分类汇总并输出所有职工的总工资,并计算出平均工资9、退出:退出程序五、程序调试碣, r<T-于亍耳 T严广严广严戶厂严户 工工工工二工数C系 职职职职职职子号H 加輛黠嘶存者出 窖_查删统修保幫1234-G678*= =请选择"程序调试的任务是排除程序中的错误,使程序能顺利地运行并得到预期的效 果。程序的调试阶段不仅要发现和消除语法上的错误,还要发现和消除逻辑错误和 运行错误。要正确利用编辑时提示的错误信息。调试阶段出现了很多的问题,主要如下:1、 在定义和运用数据类型时出现问题,不清楚字符串的输出用S,而错用为C。2、忘记“;”或把“;”用错误的输入法输入,造成的错误。3
6、、大括号混乱造成错误。4、用文件保存职工信息时,对printf不熟悉,造成使用格式错误,输出容不 符合,通过仔细核对书上的格式才改掉。5、在读取信息时,不会用 scanf,是程序的运行结果混乱,造成职工信息错 位,或是直接输出0.00等。六、设计小结通过这几天的努力, 职工工资管理系统的设计已基本完成。 在本次课程设计中, 我充分领略了 C 语言功能的强大,包括函数、数组、指针、结构体、文件等。职工工资管理系统是一个很实用并且使用广泛的操作系统。此系统可以减少很 多工作量,做到设计合理 ,便于使用 ,易于操作 ;界面友好 ,容错性高 ,可在很短的时间 查找出所需的职工工资资料 ,提高工作效率。
7、该系统具有添加、显示、查询、修改、 删除等基本功能, 以方便对工资的各项管理操作。 每一条记录包括一个职工的工号、 姓名、工资等信息, 系统的各个功能模块都用函数的形式来实现 ,可以将职工信息保 存在文件中,并从文件中读取出来。在本次课程设计中,我也发现了自己很多的不足,并学到了许多的知识。对以 前课本中学到的知识有了更深刻的理解,和灵活的运用。不再像以前一样,知识浅 显的明白,死板的套用。编写程序的过程,让我感觉到了无限的快乐,不仅仅是因 为可以将以前学到的相关知识灵活运用,还因为在这个过程中学到了太多以前所没 有掌握的东西。最后我还掌握到了写复杂程序的技巧,在写大程序时应遵守“自顶向下,逐
8、步 细化,模块化”的方法进行设计; c 语言提供了丰富的数据库和各种功能的函数, 我们要善于使用,使我们的程序达到最简洁的这将对我以后的 c 程序学习产生重要 的影响。通过这次程序设计,使我加深了对C语言的认识,进一步熟悉了对C语言功能 的灵活运用,而且加深了我对程序的理解和编写能力,通过文献资料和网络资料的 帮助,使我对C语言程序设计这一基础学科又一次加深了认识, 也意识到了其具有 的强大功能和发展前景。这会对以后的学习有所帮助。七、参考文献1 谭浩强.C程序设计(第三版) 北京:清华大学出版社200632 王为青等.C语言高级编程及实例剖析北京:人民邮电出版社200733 黄明等.C语言课
9、程设计北京:电子工业出版社2006.3.附录源程序#in elude <stdio.h>#in elude <stdlib.h>#in elude <stri ng.h>struct workerchar n ame30;char ID10;int salary1,salary2,salary3;;int dq(struct worker wo);void show();void bc(struct worker wo);void add();void see();void search();void ghcz();void xmcz();void del(
10、);void xmsc();void ghsc();void statistics();void modify();void ghxg();void xmxg();void reserve();void back();void author();struct worker wo100; /保存所有的职工信息int Number=0; / 记录总的职工人数 void main()int choose=0;while(true)show();printf("tt=> 请选择: "); scanf("%d",&choose);system(&qu
11、ot;cls"); switch(choose)case 0: exit(0);/ 退出break;case 1: add();back();/ 添加职工信息break;case 2: see();back();/ 查看职工信息break;case 3: search();back();查找职工信息break;case 4: del();back();删除职工信息break;case 5: statistics。;back();统计职工工资break;case 6: modify();back();修改职工信息break;case 7:reserve();back();保存数据bre
12、ak;case 8:author();back();/作者信息break;default:break;fflush(stdi n);getchar();system("cls");int dq(struct worker wo)FILE *fp=NULL;int i=0;fp=fope n("C:/worker.dat","rb");while(fread(&woi,sizeof(struct worker),1,fp) i+;fclose(fp);return i;void show()printf("n"
13、;);printf("t*职工工资管理系统*nn");prin tf("t*");prin t("tAAAAAAAAAAAAAAA1添加职工信息AAAAAAAAAAAAAAAAAn");prin tf("tAAAAAAAAAAAAAAA2查看职工信息AAAAAAAAAAAAAAAAAn");printf("tAAAAAAAAAAAAAAA3查找职工信息AAAAAAAAAAAAAAAAAn");printf("tAAAAAAAAAAAAAAA4删除职工信息AAAAAAAAAAAAAAAA
14、An");printf("tAAAAAAAAAAAAAAA5统计职工工资AAAAAAAAAAAAAAAAAn");printf("tAAAAAAAAAAAAAAA6修改职工信息AAAAAAAAAAAAAAAAAn");printf("tAAAAAAAAAAAAAAA7保存 数 据 aaaaaaaaaaaaaaaaa门");printf("tAAAAAAAAAAAAAAA8作者 信 息 aaaaaaaaaaaaaaaaa门");printf("tAAAAAAAAAAAAAAA0退 出 系 统 AA
15、AAAAAAAAAAAAAAAnn");prin tf("t*);void bc(struct worker *wo)FILE *fp=NULL; fp=fopen("C:/worker.dat","ab+"); fwrite(wo,sizeof(struct worker),1,fp);fclose(fp);/ 添加职工信息void add()int numberTemp=0;int i=0;struct worker temp;printf(" 请输入要添加职工个数: ");scanf("%d&quo
16、t;,&numberTemp); for(i=0;i<numberTemp;i+)printf(" 输入第 %d 个职工信息 n",i+1);printf(" 姓名: ");scanf("%s",);printf(" 工号: ");scanf("%s",temp.ID);printf(" 基本工资: ");scanf("%d",&temp.salary1);printf(" 职务工资: ");sc
17、an f("%d",& temp.salary2);printf("津贴:”);scan f("%d",& temp.salary3);woNumber+=temp; /写入到数组bc(&temp); /写入到文件printf("添加成功 n”);/查看职工信息void see()int i=0;printf(”以下是全部职工n");printf("t姓名t工号t基本工资t职务工资t津贴n”);while(i<Number)prin tf("t%st%st%dtt%dtt%d
18、n",woi. name,woi.ID,woi.salary1,woi.salary2,woi.salary3);i+;/查找职工信息void search()int n=0;printf("1按姓名查找n");printf("2按工号查找n");scan f("%d",&n);switch( n)case 1: xmcz();break;case 2: ghcz();break;default: printf("输入错误!n");break;void xmcz()按姓名查找char name30
19、;int i=0;printf(" 请输入要查找职工姓名 :");scanf("%s",name);system("cls");printf("t姓名t工号t基本工资t职务工资t津贴n”);for (i=0;i<Number;i+)if (strcmp(name,)=0)printf("t%st%st%dtt%dtt%dn",,woi.ID,woi.salary1,woi.salary2,w oi.salary3);void ghcz()/ 按工号查找char id1
20、0;int i=0;printf(" 请输入要查找职工工号 :");scanf("%s",id);system("cls");printf("t 姓名 t 工号 t 基本工资 t 职务工资 t 津贴 n");for (i=0;i<Number;i+)if (strcmp(id,woi.ID)=0)printf("t%st%st%dtt%dtt%dn",,woi.ID,woi.salary1,woi.salary2,w oi.salary3);/ 删除职工信息void del
21、()int n=0;printf("1按姓名删除 n");printf("2按工号删除 n");scanf("%d",&n);switch( n)case 1: xmsc();break;case 2: ghsc();break;void xmsc()按姓名删除FILE *fp=NULL;char n ame30;int i=0;int j=0;printf(”请输入要删除的职工姓名:");sca nf("%s", name);for(i=0;i<Number;i+)if (strcmp(
22、name,woi. name)=0)for (j=i;j<Number-1;j+)wo j=wo j+1;Number-;/将剩余数据写入文件擦除以前的数据 fp=fope n("C:/worker.dat","wb");for (i=0;i<Number;i+)fwrite(&woi,sizeof(struct worker),1,fp);fclose(fp);printf("删除成功;n");void ghsc()/ 按工号删除FILE *fp=NULL;char id60;int i=0;int j=0;pr
23、intf(" 请输入要删除的职工工号: ");scanf("%s",id);for(i=0;i<Number;i+)if (strcmp(id,woi.ID)=0)for (j=i;j<Number-1;j+)wo j=wo j+1;Number-;/ 将剩余数据写入文件 擦除以前的数据 fp=fopen("C:/worker.dat","wb");for (i=0;i<Number;i+)fwrite(&woi,sizeof(struct worker),1,fp);fclose(fp)
24、;printf(" 删除成功 ;n");/ 统计职工工资void statistics()int i=0;double s=0.0;double sum100;for(i=0;i<Number;i+) sumi=woi.salary1+woi.salary2+woi.salary3; printf("%s 的总工资为: %fn",,sumi);for(i=0;i<Number;i+)s+=sumi;printf(” 平均工资为:%fn",s/Number);/修改职工信息void mode=0;
25、printf(”请选择修改查找方式n");printf("1按姓名查找修改n");printf("2按工号查找修改n");scan f("%d",&mode);switch(mode)case 1: xmxg();break;case 2: ghxg();break;default: printf("输入错误!n");break;void xmxg()/ 按姓名修改FILE *fp=NULL;char n ame30;int i=0;printf(”请输入要修改的职工姓名:");sca
26、nf("%s", name);for (i=0;i<Number;i+)if (strcmp( name,woi. name);elsebreak;printf("t姓名t工号t基本工资t职务工资t津贴n”);prin tf("t%st%st%dtt%dtt%dn",woi. name,woi.ID,woi.salary1,woi.salary2,w oi.salary3);printf(" 请重新输入该职工信息 ");printf(" 姓名: "); scanf("%s",wo
27、);printf(" 工号: ");scanf("%s",woi.ID);printf(" 基本工资: "); scanf("%d",&woi.salary1);printf(" 职务工资: "); scanf("%d",&woi.salary2);printf(" 津贴: "); scanf("%d",&woi.salary3);/ 信息修改后重新更新文件里面的数据 以保持数据一致性 fp=fope
28、n("C:/worker.dat","wb");for (i=0;i<Number;i+) fwrite(&woi,sizeof(struct worker),1,fp);fclose(fp);void ghxg()/ 按工号修改FILE *fp=NULL;char id30;int i=0;printf(" 请输入要修改的职工工号: "); scanf("%s",id);for (i=0;i<Number;i+)if (strcmp(id,woi.ID);elsebreak;printf("t 姓名t工号t基本工资t职务工资t津贴n”);printf("t%st%st%dtt%dtt%dn",,woi.ID
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版(2024)一年级数学上册期末复习专项拔高卷(含答案)
- 河南省许昌市育才学校2025-2026学年七年级上学期期末历史试卷(含答案)
- 化工企业消防培训
- 2026年石化行业策略报告:上游油价触底、下游供给侧优化加速产业链有望迎来共振周期
- 钢网架结构安装技术要点
- 钢结构工程技术(35个)
- 2026山东聊城市市属事业单位招聘初级综合类岗位人员87人考试备考试题及答案解析
- 2026广东广州市中山大学肿瘤防治中心中心鼻咽科陈秋燕教授课题组自聘技术员招聘2人备考考试题库及答案解析
- 三明林校2025-2026学年第二学期外聘教师招聘备考考试题库及答案解析
- 2026新疆乌市第126中学慈湖初中部急聘初中物理老师备考考试试题及答案解析
- 2026年张家界航空工业职业技术学院单招职业倾向性测试必刷测试卷附答案
- 新版二年级道德与法治《我们都是中国人》教学设计(2课时)
- XX企业核心优势与战略发展
- 2025年中国低氘水行业市场全景分析及前景机遇研判报告
- 管道区段长管理办法
- 2025年江西公务员考试(财经管理)测试题及答案
- CRT-YS4690消防控制室图形显示装置使用说明书-营口赛福德
- 植筋工程施工验收记录表范例
- 2025至2030年中国冷冻食品行业市场调研及行业投资策略研究报告
- 压空罐安全知识培训课件
- 2025年江苏南京市建邺区招聘第一批购岗人员5人笔试模拟试题及答案详解1套
评论
0/150
提交评论