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

上传人:桔**** 文档编号:432620081 上传时间:2022-12-17 格式:DOC 页数:23 大小:174.50KB
返回 下载 相关 举报
C语言课程设计报告职工工资信息管理系统_第1页
第1页 / 共23页
C语言课程设计报告职工工资信息管理系统_第2页
第2页 / 共23页
C语言课程设计报告职工工资信息管理系统_第3页
第3页 / 共23页
C语言课程设计报告职工工资信息管理系统_第4页
第4页 / 共23页
C语言课程设计报告职工工资信息管理系统_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《C语言课程设计报告职工工资信息管理系统》由会员分享,可在线阅读,更多相关《C语言课程设计报告职工工资信息管理系统(23页珍藏版)》请在金锄头文库上搜索。

1、目 录课程设计评语2目 录31课程论文题目42程序设计思路43. 功能模块图.64. 数据结构设计.65. 算法设计.76程序代码.107程序运行结果.198编程中遇到的困难及解决方法.229总结心得及良好建议.2310致谢.241 课程论文题目职工工资信息管理系统【要求】该系统能够实现工资信息管理。系统包括录入、新增、浏览、查询和排序等功能。其中录入功能要求能够添加新的工资信息到文件;新增功能要求能够新增职工信息到文件;浏览功能要求能够按照工资卡号、姓名分类浏览;有排序功能,排序后按照工资卡号升序或实发工资降序输出;查询功能要求能够按照工资卡号、姓名查询。【提示】1、 文件中一行数据对应一个

2、职工工资信息2、 工资信息的数据结构采用结构体数组,一个数组元素对应一条工资单记录。3、 工资单信息包括工资卡号、姓名、月份、应发工资、税费、电费、税金、实发工资等4、 实发工资=应发工资税费电费税金,其中税金计算方法为:(1) 应发工资800元,税金=0(2) 800应发工资1400元,税金=(应发工资1400)*10%2程序设计思路1、设计思路(1)根据题目要求,应该把职工工资信息用结构体形式输入,在定义一个全局变量和文件指针进行整个程序的运行,然后把职工工资信息送到文件中,所以应该提供一个结构体和文件的输入输出等操作;(2)在程序中需实现职工工资浏览、查询、统计等功能的操作,所以需要建立

3、相应的功能模块来实现;(3)另外还需要提供键盘式选择菜单实现功能,在运行时达到所要的目的。2、总体设计整个系统可以分为信息输入、信息新增、信息浏览、信息排序和信息查询五个主要模块。3、详细设计(1)工资信息采用结构体数组:struct list int num; /工资卡号 char name20; /姓名 int month;/月份 int salary1; /应发工资 int water;/水费 int electrisity; /电费 float fax; /税金 float salary2; /实发工资listN; /listN中每个数组元素对应一个职工工资信息(2)输入模块 按照工资

4、卡号、姓名、月份、应发工资、水费、电费的顺序输入信息,税金和实发工资根据输入的信息进行计算得到,这些信息被录入到文件中。文件操作函数:fopen,fwrite,fclose.税金的计算:if(应发工资800&应发工资1400) 税金=(应发工资-1400)*10%;实发工资=应发工资-水费-电费-税金。(3)新增模块增加新的职工工资信息,从键盘输入并逐条写到原来的输入文件中,采用追加而不是覆盖的方式(以”ab”方式打开文件)。(4)浏览模块 调用排序模块的排序功能,可以浏览排序后的所有职工信息。(5)排序模块排序模块提供菜单选择,实现按照工资卡号升序、实发工资升序排序。排序方法可以选择冒泡排序

5、、插入排序、选择排序等,本系统用的是冒泡排序。(6)查询模块实现按照工资卡号和姓名的查询,采用基本的查找方法即可。3功能模块图职工工资信息管理系统主菜单menu()输入模块enter()新增模块add()浏览模块browse()排序模块order()按姓名查询search_1()查询模块search()按工资卡号查询search_2()退出exit(0)按实发工资排序order_2()按工资卡号排序order_1()4数据结构设计系统用将职工各项信息以结构体类型struct list来定义,它包括num,name20,month,salary1,water,electricity,fax,sa

6、laly2等不同类型的数据项,同时定义了结构体数组,包括N个数组元素,对应N个职工,每一个元素用来存放一个职工的数据;每个职工的信息以结构体方式从内存和磁盘文件中进行存储和导出。以结构体方式来整合职工的不同信息,将不同的数据组合成一个有机整体,非常方便程序的调用。5算法设计1主函数提供输入、处理和输出部分的函数调用,各功能模块采用菜单方式选择。开 始显示一系列的功能选择输入n,判断n是否是0到6NY根据n值调用各功能模块2.添加模块 开 始输入职工数目浏览职工信息输入各项信息返回?1储存职工信息2主菜单2.新增模块 开 始输入新增职工数目输入新职工信息浏览职工信息1返回?储存输入信息2主菜单3

7、.浏览模块开 始从磁盘中导出信息输出各职工信息返回主菜单4.排序模块 开 始输入n判断n是否是0到2NY12浏览职工信息按实发工资排序按工资卡号排序返回?输出12主菜单5.查询模块开 始输入n判断n值NY浏览职工信息12按卡号查询按姓名查询1返回?输出主菜单26程序代码(每个函数都要有功能说明)#include#include#include#include#define N 50void main() void menu(); menu();void menu() /主菜单函数 void enter(); void add(); void browse(); void search(); v

8、oid order(); int n,w1; do puts(tt*MENU*nn); puts(ttt 1.Enter ); puts(ttt 2.Add); puts(ttt 3.browse all); puts(ttt 4.Search ); puts(ttt 5.Order ); puts(ttt 6.Exit); puts(nntt*n); printf(Choice your number(1-6):bb); scanf(%d,&n); if(n6) /*对选择的数字进行判断*/ w1=1; getchar(); else w1=0; while(w1=1); switch(n) case 1:enter();break; /*输入模块*/ case 2:add();break; /*新增模块*/ case 3:browse();break; /*浏览模块*/ case 4:search();break; /*查找模块*/ case 5:order();break; /*排序模块*/ case 6:exit(0); /*退出模块*/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号