C语言程序设计工资管理系统.doc
《C语言程序设计工资管理系统.doc》由会员分享,可在线阅读,更多相关《C语言程序设计工资管理系统.doc(16页珍藏版)》请在沃文网上搜索。
1、一、课程设计时间201415第1学期第1周,即9月1日9月5日,共计1周,20学时。二、课程设计内容用C语言编写软件完成以下任务:(1)输入职工数据(包括:职工号,姓名,基本工资,补贴金额,奖励金额,扣除金额、实发工资等)保存在data22.txt文件中。(实发工资不用录入。注:实发工资=基本工资补贴金额奖励金额-扣除金额。)(2)统计实发工资并更新到data22.txt文件中。(3)统计:各项工资的总金额和平均金额。如:基本工资 补贴金额 奖励金额 扣除金额 实发工资总和 12000 1300 1400 1500 13200平均 1200 130 140 150 1320人数: 10(4)建
2、议使用freadfwrite函数访问文件。三、课程设计要求程序质量:1贯彻结构化程序设计思想。2用户界面友好,功能明确,操作方便;可以加入其它功能或修饰。3用户界面中的菜单至少应包括“职工信息录入”、“统计实发工资”、“各项统计”和“退出”4项。4代码应适当缩进,并给出必要的注释,以增强程序的可读性。课程设计说明书: 课程结束后,上交课程设计说明书和源程序。课程设计说明书的内容参见提供的模板。四、指导教师和学生签字指导教师:_ 学生签名:_五、成绩六、教师评语目录一、需求分析1二、设计分析2三、主要界面截图5四、技术要点7五、个人总结9六、参考文献10七、源程序1014一、需求分析根据任务书给
3、定的“课程设计内容”和“课程设计要求”作如下的需求分析。该系统是一个较典型的数据管理系统,其使用者被假定为某办公室的职工工资管理人员,系统涉及到企业诚信、资金安全及职工利益问题,所以系统应该具有稳定、准确、功能齐全的特点。1. 稳定性分析指系统比较健壮,计算数据准确,只要是用户的合理操作,系统都应给出合理正确的回应,而不是出现令用户感到意外的系统错误或系统崩溃。2. 主要功能分析按照题目的要求及考虑到用户操作方便等因素,可定义以下自定义函数:录入职工信息函数(add),计算实发工资函数(cal),统计函数(tol),查看个人工资明细(view)以及主函数(main)。以下分别介绍:1、录入职工
4、信息函数(add) 用户可以输入职工的职工号,姓名等必要的信息,并将这些职工信息存入文件data22.txt中;2、计算实发工资函数(cal)经计算统计出每个职工的实发工资,并实时存入文件data22.txt中。3、统计函数(tol) 按照题目的具体要求实现对各类金额数据的求和,求平均并显示;4、显示工资明细(view) 此功能用于查看各个职工的工资明细,可以清楚的看到职工的基本工资,补贴金额,奖励金额,扣除金额及实发工资分别是多少。 除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。二、 设计分析本程序主要由四个自定义函数和一个主
5、函数组成,其中主函数以菜单的形式调用其他函数来实现要求的所有功能。在这些函数当中,增加新职工数据函数和统计各项工资的总金额和平均金额是程序中较为核心的部分,下面分别进行介绍: 工资管理系统21、 程序总体结构图Topic() Getchar()While(1)Menu() getchar() Case1否真否Case2真 输 入 职 工 信 息Case3 统 计 实 发 工 资否真统 计 各 项 工 资 的 总 金 额 和 平 均 金 额退出图1程序总体结构图2、主要功能模块框图(1)录入数据函数add printf(“请输入职工数量”n); scanf(“%d”,&n);for(j=0;jn
6、umwork-namework-jibenwork-butiework-jiangliwork-kouchu循环 work+ Save()图2 录入数据函数int sum1=0; float ave1=0;int sum2=0; float ave2=0;int sum3=0; float ave3=0;int sum4=0; float ave4=0;int sum5=0; float ave5=0;For(i=0;in;i+)假真 Wori.num!=0printf(总和t%dtt%dtt%dtt%dtt%dn,sum1,sum2,sum3,sum4,sum5);printf(平均t%ft
7、%ft%ft%ft%fn,ave1,ave2,ave3,ave4,ave5);Sum1+=wori.jiben ave1=sum1/n Sum2+=wori.butie ave2=sum2/nSum3+=wori.jiangli ave3=sum3/nSum4+=wori.kouchu ave4=sum4/nSum5+=wori.shifa ave5=sum5/n(2)统计各项工资的总金额和平均金额tol图3 统计函数三、主要界面截图图4 程序主界面图5 职工数据输入界面图6计算实发工资函数并显示图7 统计各项工资的总金额和平均金额界面图8 职工工资明细查询界面四、技术要点1、结构体的应用定义
8、了结构体用来描述职工的工号、姓名以及各项工资的金额。具体的定义如下:struct work /定义结构体int num; /定义职工号为整形char name10; /定义职工姓名为字符串数组int jiben; /定义基本工资为整形int butie; /定义补贴金额为整形int jiangli; /定义奖励金额为整形int kouchu; /定义扣除金额为整形int shifa; /定义实发金额为整形worSIZE;2、文件操作包括了文件的写入和读取两个方面。文件的写入操作,用于保存录入的职工数据,也用于保存所修改的数据。例如如下程序段用于保存录入的职工信息:void save()FILE
9、 *fp; /定义文件型指针变量int i;if(fp=fopen(e:data22.txt,w+)=NULL) /以读写方式建立并打开文件data22.txt/printf(cannot open this filen);return;for(i=0;iSIZE;i+)if(fwrite(&wori,sizeof(struct work),1,fp)!=1) /向文件中写入职工信息/printf(file write errorn);fclose(fp); /关闭文件以下程序段则用于读取以写入并保存的职工信:void read()FILE *fp; /定义文件型指针变量int i;if(fp
10、=fopen(e:data22.txt,r+)=NULL) /以读写方式打开文件data22.txt/printf(cannot open this filen);return;for(i=0;iSIZE;i+)if(fread(&wori,sizeof(struct work),1,fp)!=1) /读入文件中的职工信息/printf(file read errorn);fclose(fp); /关闭文件3、 录入职工信息 职工信息包括职工号,姓名,基本工资,补贴金额,奖励金额,扣除金额和实发金额,本函数的功能是把职工信息写入到文件中。在程序中建立一个文件data22.txt。定义一个结构体
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 工资管理 系统