课程设计工资管理系统设计.doc
《课程设计工资管理系统设计.doc》由会员分享,可在线阅读,更多相关《课程设计工资管理系统设计.doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、高级语言程序设计课程设计设计题目:工资管理系统设计目录1设计任务12正文需求分析1系统模块图1模块说明1用户使用说明2测试结果33设计小结44参考文献55附录(源程序)6设计任务做一个工资管理系统,要能按照姓名和卡号查找员工的工资信息,以及员工工资信息的插入,删除。同时这些信息要存储在TXT文件中还要可以按照一定顺序输出所有员工工资的信息分析工资信息存放在文件中,提供文件的输入、输出等操作;要实现浏览功能,提供显示、排序操作;而查询功能要求实现查找操作;另外还应该提供键盘式选择菜单以实现功能选择。 系统模块图2、总体设计:整个系统可以分为信息输入、信息添加、信息浏览、信息排序、信息查询和信息统
2、计模块。 3、详细设计 工资信息采用结构体数组: struct mygz /*m每月工资*/ int yuefen; float yfgz; float sf; float df; float sj; float sfgz;struct worker /*工人信息*/ int kahao; char xingming20; struct mygz m12; float zsfgz;模块说明(1)主函数提供输入、处理和输出部分的函数调用,各功能模块采用菜单方式选择。 (2)输入模块 按照工资卡号、姓名、月份、应发工资、水费、电费的顺序输入信息。 (3)添加模块 增加新的职工工资信息, 从键盘输入
3、并逐条写到原来的输入文件中, 采用追加而不是覆 盖的方式。 (4)浏览模块 通过菜单选择按照工资卡号还是姓名浏览。 如果按照卡号浏览, 则显示的记录按照卡号 升序输出;按照姓名浏览则按照字典序输出(调用排序模块的排序功能)。 (5)排序模块 排序模块提供菜单选择,实现按照工资卡号升序、实发工资降序以及姓名字典序排序。排序方法可以选择冒泡排序、插入排序、选择排序等。 (6)查询模块 实现按照工资卡号和姓名的查询,采用基本的查找方法即可。职工工资管理系统查询个人工资情况录入工资信息删除职工记录浏览员工工资信息个人工资排序情况退出系统用户使用说明启动后屏幕上显示下面菜单 1查询个人工资情况2录入工资
4、信息3删除个人工资情况4浏览员工工资信息5个人工资排序情况6退出系统如果你要执行某一功能,就按下该功能所对应的数字即可。查询个人工资情况:在主菜单中输入1 则进入查询子菜单界面,。系统会提示你选择菜单。输入1后则进入按姓名查询职工信息,此时系统会自动提示你输入要查询的职工姓名。输入职工号后会出现该职工的信息。输入错误职工号,要求重新输入;输入2后则进入按卡号查询职工信息,此时系统会自动提示你输入要查询的职工卡号。输入0则返回主菜单录入工资信息:在主菜单中输入2则系统会进入新界面并自动提示你输入建立的月份,输入完成后按回车键系统会逐一提示输入 卡号,如没有记录,根据提示按1 新建,系统会逐一提示
5、出入 姓名,工资,水费,电费,输入完成后会继续提示输入下一个职工的职工号。删除个人工资情况:在主菜单中输入3系统界面是删除菜单。系统会提示你选择(0-1)。输入1则按职工号删除记录,系统会自动提示你输入要删除的职工信息,进入新界面后系统会提示你删除前该职工的卡号。输入错误职工号,显示没有该职工号的职工一个记录已经删除了时系统会提示删除后的职工信息。根据菜单提示,输入1继续删除,输入2则返回主菜单。浏览员工工资信息:在主菜单中输入4系统界面是输出菜单界面,按照输入格式:职工号、 姓名 、性别 、年龄、 工资,逐个的输出职工的信息,输出所有职工信息后系统自动退出。个人工资排序情况:在主菜单中输入5
6、系统界面是统计菜单界面,输入工资数,显示大于该工资的职工的所有信息。关闭文件。退出系统:在使用各个功能后输入6则返回主菜单。在主菜单中输入6则退出系统。测试结果浏览界面排序界面设计小结通过这段时间的实习, 我收获颇多。这次实习是真正意义上的将所学知识运用到实际中去。我进一步理解和运用了结构化程序的思想和方法,初步掌握了开发一个小型实用系统的基本方法,学会了调试一个较长程序的基本方法,学会利用流程图表示算法,进一步掌握和提高了利用C语言进行程序设计的能力.具备了一定的编程能力. 接到C语言课程设计的作业我十分高兴,终于学到的东西可以运用了。在老师的指导和大家的共同努力下,我们终于完成了程序的大体
7、编制。程序中包括主函数、输入模块、查询模块、修改模块、删除模块、统计模块、输出模块、追加模块。其中在输入模块中指针文件运用的比较好,因为指针是C的一个特色,它能有效的表示复杂的数据结构,动态的分配内存,方便的使用字符串、数组,可谓是C的精华。在程序设计中我们最大的收获就是:我们真正从实践的角度体会到了C语言在实际生活中的作用,也深刻体会到了它带来的方便快捷。不但使我们对C语言有更进一步的巩固和认识还使我们懂得了团队协作的重要!让我们将一年所学的C语言知识学为所用,让我们感觉到了它的神奇魅力。美中不足的就是:由于我们知识的不足以及条件的限制,本系统还有许多漏洞与不足,希望老师给以批评与帮助,我们
8、会积极改正。而且本程序还处于初级阶段的职工工资管理功能中,只实现了对职工工资的录入、删除、修改、查询、统计、显示等简单功能,功能较简单,不一定在实际中有大的用途,程序编排中可能有烦琐之处有待进一步简化。参考文献姜灵芝 著.C语言课程设计案例精编.清华大学出版社,2008C语言程序设计教程第3版 谭浩强百度文库百度贴吧:C语言吧附录(源程序)显示一系列功能选项输入n,判断n是否是06根据n的值调用各功能模块函数#include#include#include#define N 100struct mygz /*m每月工资*/ int yuefen; float yfgz; float sf; f
9、loat df; float sj; float sfgz;struct worker /*工人信息*/ int kahao; char xingming20; struct mygz m12; float zsfgz;int sm;struct worker aN;float shuijin(float m)/_个人所得税_*/float shui1,shui2; float tmp;shui1=0;shui2=0;if(m=4500) shui1=(m-4500)*0.1; shui2=50;else if(m=3500 & m4500) shui2=(m-3500)*0.05;tmp=s
10、hui1+shui2;return(tmp);float shifazsfgz(float a,float b,float c,float d) float e=a-b-c-d; return(e);/*_读取模块_*/void duqu() FILE *fp; if(fp=fopen(D:工资信息.txt,r)=NULL) printf(无法读取文件); ;return; while(!feof(fp) fread(&asm,sizeof(struct worker),1,fp); sm+;/*_排序模块_*/排序按照卡号或姓名升序排列按照实发工资降序排列快速排序法选择其他排序或返回冒泡排序
11、法选择其他排序或返回typedef struct worker stu; sortbykahao(const void *,const void *); sortbyxingming(const void *,const void *); void paixu() int i; int choice; int (*p)(const void * ,const void *); printf(choice_1: 按卡号排序n); printf(choice_2: 按姓名排序n); printf(choice_3: 按工资排序n); printf(choice_4: 返回主菜单n); scanf(
12、%d,&choice); while(choice!=0) if(choice=1) p=sortbykahao; if(choice=2) p=sortbyxingming; if(choice=3) int j;floattemp; for(j=0;jsm-2;j+)for(i=0;iai+1.zsfgz)temp=ai.zsfgz;ai.zsfgz=ai+1.zsfgz;ai+1.zsfgz=temp;for(i=0;i=sm-1;i+)printf(%10f %-10d %-20s n,ai.zsfgz,ai.kahao,ai.xingming); if(choice=4) retur
13、n; qsort(a,sm,sizeof(stu),p); if(choice=1) for(i=0;ism;i+) printf(n%dt%st%d,ai.kahao,ai.xingming,ai.zsfgz); if(choice=2) for(i=0;ism;i+) printf(n%st%dt%d,ai.xingming,ai.kahao,ai.zsfgz); printf(n); scanf(%d,&choice); sortbykahao(const void *p,const void *q) stu *x,*y; x=(stu*)p; y=(stu*)q; return (*x
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 工资管理 系统 设计
限制150内