文档详情

C语言课程设计报告职工工资信息管理系统.doc

发布:2018-05-30约2万字共23页下载文档
文本预览下载声明
PAGE PAGE 22 目 录 TOC \o 1-3 \h \z \u HYPERLINK \l _Toc212522248 课程设计评语 PAGEREF _Toc212522248 \h 2 HYPERLINK \l _Toc212522249 目 录 PAGEREF _Toc212522249 \h 3 HYPERLINK \l _Toc212522250 1.课程论文题目 PAGEREF _Toc212522250 \h 4 HYPERLINK \l _Toc212522251 2.程序设计思路 PAGEREF _Toc212522251 \h 4 3. 功能模块图6 4. 数据结构设计6 5. 算法设计7 6.程序代码10 7.程序运行结果19 8.编程中遇到的困难及解决方法22 9.总结心得及良好建议23 10.致谢24 课程论文题目 职工工资信息管理系统 【要求】 该系统能够实现工资信息管理。系统包括录入、新增、浏览、查询和排序等功能。其中录入功能要求能够添加新的工资信息到文件;新增功能要求能够新增职工信息到文件;浏览功能要求能够按照工资卡号、姓名分类浏览;有排序功能,排序后按照工资卡号升序或实发工资降序输出;查询功能要求能够按照工资卡号、姓名查询。 【提示】 文件中一行数据对应一个职工工资信息 工资信息的数据结构采用结构体数组,一个数组元素对应一条工资单记录。 工资单信息包括工资卡号、姓名、月份、应发工资、税费、电费、税金、实发工资等 实发工资=应发工资—税费—电费—税金,其中税金计算方法为: 应发工资800元,税金=0 800应发工资1400元,税金=(应发工资—800)*5% 应发工资1400元,税金=(应发工资—1400)*10% 2.程序设计思路 1、设计思路 (1)根据题目要求,应该把职工工资信息用结构体形式输入,在定义一个全局变量和文件指针进行整个程序的运行,然后把职工工资信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作; (2)在程序中需实现职工工资浏览、查询、统计等功能的操作,所以需要建立相应的功能模块来实现; (3)另外还需要提供键盘式选择菜单实现功能,在运行时达到所要的目的。 2、总体设计 整个系统可以分为信息输入、信息新增、信息浏览、信息排序和信息查询五个主要模块。 3、详细设计 (1)工资信息采用结构体数组: struct list { int num; //工资卡号 char name[20]; //姓名 int month; //月份 int salary1; //应发工资 int water; //水费 int electrisity; //电费 float fax; //税金 float salary2; //实发工资 }list[N]; //list[N]中每个数组元素对应一个职工工资信息 (2)输入模块 按照工资卡号、姓名、月份、应发工资、水费、电费的顺序输入信息,税金和实发工资根据输入的信息进行计算得到,这些信息被录入到文件中。 文件操作函数:fopen,fwrite,fclose. 税金的计算: if(应发工资=800) 税金=0; else if (应发工资800应发工资=1400) 税金=(应发工资-800)*5%; else if (应发工资1400) 税金=(应发工资-1400)*10%; 实发工资=应发工资-水费-电费-税金。 (3)新增模块 增加新的职工工资信息,从键盘输入并逐条写到原来的输入文件中,采用追加而不是覆盖的方式(以”ab”方式打开文件)。 (4)浏览模块 调用排序模块的排序功能,可以浏览排序后的所有职工信息。 (5)排序模块 排序模块提供菜单选择,实现按照工资卡号升序、实发工资升序排序。排序方法可以选择冒泡排序、插入排序、选择排序等,本系统用的是冒泡排序。 (6)查询模块 实现按照工资卡号和姓名的查询,采用基本的查找方法即可。 3.功能模块图 职工工资信息管理系统 职工工资信息管理系统 主菜单menu() 输入模块enter() 新增模块add() 浏览模块browse() 排序模块order() 按姓名查询search_1() 查询模块search() 按工资卡号查询search_2() 退出exit(0) 按实发工资排序order_2() 按工资卡号排序order_1() 4.数据结构设计 系统用将职工各项信息以结构体类型struct list来定义,它包括num,name[20],month,salary1,w
显示全部
相似文档