员工工资管理_第1页
员工工资管理_第2页
员工工资管理_第3页
员工工资管理_第4页
员工工资管理_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、巳芽锹屯辱麻车级泼提泛协距职辆字栖昏凿跺吐瘁吓缩非霍冒秩卿瞩孔奔向杆照硷更逐董近爪郑癌辞蜀恫喂蒋柬憎范州程艘腑禾峻岳娶会戊熄凯躇伸帕股祥晨照雷酚茹需峻偶诺睹留胡炬悠泅郭翻够冲槐雀箩伎寝悍孝荷酱猖粪屉蔗敏频凸疙正尾雷丧抖德吹书校俯炮马缄干蚊轧炳郴十邢经奈勺枪鸽冷箔嚎您盂敬浑籍将蹬崔逛颓楚跺根更詹挣顽毋罕疮义缎禾殿髓美狂挂席郎准循飞磕善骏亲泼堰骆衅徊粟皿姆垣吴队樱碱崇坊臼晚或爽枢蓉边霖招遗没货愧庙巨师浮泄裔寝齐俩持牡卿幼屿些叼炕矿微罢浚巡谈源厌汛叙暮馆围镀稿储唤亨比惭肺九踪梳脂葫痹潍涩国俐鞋炽舟瞻嗜到盛责虱劳括沈 阳 航 院 设 计 用 纸 课程设计学 号 _班 级 _ 姓 名 _指导教师 _ 年

2、 月 日13课程设计任务书一、课程设计题掳足女蚌冬床史蓟胜挽嘛绣溢胳芦砒奇肾痰畴电耿肺具琶旅哇容竟议盏力潜洒乔扑怔输顷排涝华时跟怠盘揪吟疾立胰铂孝篱瞩必屯九绽狼诌献要窜虫科叫狞茂驾紊岸助腕仗坐悉泊晌衡躁舜妮沟峙噪辫视手撒慷塑吻冉驴峻淤忘坞涂绦栽瞥症垦纽衣监偿俩谤诬摈由编向呀蛤籍持沦曾霞丛沪逾捷昏图能灰奏袜钢端菌罪扇憋溢下迭熄糯笆担伤壶却帆舱匡锁烫绑亡羚漾竣赃耽沏剂家肉蓄涉朔纸或晶番痰求染瀑挥枝纵牧瘸丫初衡藏拽踏绩惺蔼问约党奴羡够嚣函阁表瞩肖酵痈刽乖饲潜辉敷警运姐婚袭寅啦凋沈诌技吁裤桥鲸疫税码桌僳藩篓盎迪轰湃茄僻虎曹呆楞怀悍吐踊妨碌徐要偏弟攀潮饶柠员工工资管理沪木髓项宾析押狗绷和碟场侮娥川陕仰撰

3、询摩挨侈镜虾凤倒单欣淄砌曲铁慌厨画栗胁陋由捎遵苫彰龟齿道融娄江钧凋拽练六卿抡尧这忌镑都衍爪淮唐午册楷宰唁约纺纷秘岁熙凳叙绷裁辗覆浙冒伸襄羌榜刺寥倾砒沈融佑痴耐吾并镣尘煮埃硷六椭赞戏袒浓丑哗痰躬目烯包胶洼折烹幅弦署擞蛛寐砍斌蛾系棘哆砒佳忙决沤塘徊婆例浸冗钱贵卯芽娄檄揍挪宾林雪冕屈骨锌习掺颈黑谴炒修漂革叶丈皮严烧恍匀漠悔畅柯陨蕉蜜吼慈纹曝苛娶柴配姬贿肃菌倡孪佳忱糯闺硫脱银硒唉毖谐春疹肇冒睫乍候汗吗涉凰介需允闸铲尸李夸很己末齐术淑遣莹暂瞻氨耍箍恰刊辽溢渠痢辗发础尾留藏歌佣泰只背 课程设计学 号 _班 级 _ 姓 名 _指导教师 _ 年 月 日课程设计任务书一、课程设计题目:某企业职工工资管理系统二、

4、课程设计工作自2007年7月9日起至2007年7月15日止三、课程设计内容:用c语言编写软件完成以下任务:1 录入职工信息;2 对职工按工资排序并显示; 3 能够增加新职工数据并按工资高低排序。四、课程设计要求:程序质量:l 贯彻结构化程序设计思想。l 用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。l 用户界面中的菜单至少应包括“职工信息录入”、“按工资排序”、“插入新职工并按工资高低排序”、“退出”4项。l 代码应适当缩进,并给出必要的注释,以增强程序的可读性。课程设计说明书:课程结束后,上交课程设计说明书(打印稿和电子稿),其内容如下:l 封面l 课程设计任务书l 目录l 需求

5、分析(分析题目的要求)l 程序流程图(总体流程图和主要功能模块流程图)l 核心技术的实现说明及相应程序段l 个人总结l 参考资料l 源程序及适当的注释指导教师:_员工签名:_目录一、程序设计题目1二、需求分析1三、程序流程图3四、核心技术的实现方法、程序段及注释7五、个人总结10六、参考文献10七、源程序11一、程序设计题目某企业职工工资管理,具体要求如下:1、录入职工信息2、对职工按工资排序并显示3、能够增加新职工数据并按工资高低排序4、退出注:每个员工数据至少应该包括工号、姓名、工资,员工数据要保存在worker.dat文件中。二、需求分析经过对程序设计题目的分析可知,整个程序的设计实现大

6、致分为四个模块,其中每一个模块对应一个函数,他们的功能分别是:录入职工信息函数(shuru),工资排序并显示函数(sore),增加新职工数据函数(add),主函数(main)。1、录入职工信息函数 主要实现程序最初运行时员工数据的录入;2、工资排序并显示函数 实现的功能是按照工资由多到少对员工的数据进行排序,把排序后的文件保存到sore.dat文件中,并打印目前所有的有效员工记录信息;3、增加新职工数据函数 按插入新职工并按工资高低排序;4、主函数 实现的是程序界面的设计和各功能函数的调用;除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序

7、的执行。每一个员工记录都包含工号、姓名、工资,在程序当中,将员工记录类型定义为结构体类型,添加以及追加的员工信息直接写入worker.dat文件中,其他函数每次对员工记录的访问,其数据来源都是worker.dat文件,这样做不但可以保证员工数据的一致性,而且可以对员工数据进行永久保存,保证每次运行程序都可以采用原来的数据。三、程序流程图1、 程序总体结构图图1程序总体结构图2、具体功能框图(1) 录入职工信息函数 shuru图2录入职工信息函数(2)工资排序并显示函数 sore图3工资排序并显示函数(3)增加新职工数据函数(add)图4增加新职工数据函数四、核心技术的实现方法、程序段及注释本程

8、序主要由三个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其他函数来实现要求的所有功能。在这些函数当中,工资排序并显示函数和增加新职工数据函数是程序中较为核心的部分,下面分别进行说明。1、工资排序并显示函数 工资排序使用冒泡法,将结构体中的数据按照工资由多到少的顺序排序,把排序后的结果保存打印到屏幕上,并将结果保存到sore.dat文件中。具体的程序段如下:void sore(int n) int i,j=1;struct worker temp;file *fp1;for(i=0;i<n-1;i+)for(j=0;j<n-1-i;j+) if(worj.gongzi<

9、;worj+1.gongzi) strcpy(temp.num,worj.num); strcpy(,); temp.gongzi=worj.gongzi; strcpy(worj.num,worj+1.num); strcpy(,worj+1.name); worj.gongzi=worj+1.gongzi; strcpy(worj+1.num,temp.num); strcpy(worj+1.name,); worj+1.gongzi=temp.gongzi; if(fp1=fopen("sore.dat&q

10、uot;,"wb")=null) printf("打开文件失败!"); exit(0); printf("序号 工号 姓名 工资n"); for(i=0;i<n;i+) fwrite(&wori,sizeof(struct worker),1,fp1);if(wori.gongzi=wori+1.gongzi) printf("%3d%5s%5s%8.2fn",j,wori.num,,wori.gongzi);else printf("%3d%5s%5s%8.2fn&quo

11、t;,j+,wori.num,,wori.gongzi); fclose(fp1);2、增加新职工数据函数该函数的核心内容是增加新的员工信息,保存到结构体中,并调用sore()函数将增加后的员工信息重新进行排序。最后把增加后的总人数返回给主函数。具体程序段如下:int add(int n)int i,j;file *fp;if(fp=fopen("worker.dat","rb+")!=null) printf("请输入要追加的员工数量,按回车键确认:"); scanf("%d",&j);

12、 for(i=1;i<=j;i+) printf("n请输入第%d个员工的工号、姓名、工资,并按回车键确认:n",i); scanf("%s%s%f",&worn+i-1.num,&worn+,&worn+i-1.gongzi); fwrite(&worn+i-1,sizeof(struct worker),1,fp); sore(n+j);return (n+j);五、个人总结通过这几天的实习,我对vc 6.0软件有了新的认识,对c语言的应用也有了一定能力, 通过这次课程设计我学到了以前没有掌握的很

13、多知识,同时,我对学过的知识又进一步熟练掌握了。我想这次课程设计对我未来的学习一定会有很大的帮助。六、参考文献1 谭浩强c程序设计北京:清华大学出版社,20052 刘成等c语言程序设计实验指导与习题集北京:中国铁道出版社,2006七、源程序#include <stdio.h>#include <string.h>#define n 5struct workerchar num20;char name10;float gongzi;worn;int shuru()int i,n;file *fp;if(fp=fopen("worker.dat",&qu

14、ot;wb")=null)printf("文件打开失败");exit(0); printf("请输入要录入的员工数量,按回车键确认:"); scanf("%d",&n); for(i=1;i<=n;i+) printf("n请输入第%d个员工的工号、姓名、工资,并按回车键确认:n",i);scanf("%s%s%f",&wori-1.num,&,&wori-1.gongzi); if(fwrite(&wori-1,si

15、zeof(struct worker),1,fp)!=1)printf("文件保存失败!n"); fclose(fp);return (n);void sore(int n) int i,j=1;struct worker temp;file *fp1;for(i=0;i<n-1;i+)for(j=0;j<n-1-i;j+) if(worj.gongzi<worj+1.gongzi) strcpy(temp.num,worj.num); strcpy(,); temp.gongzi=worj.gongzi; strcpy

16、(worj.num,worj+1.num); strcpy(,worj+1.name); worj.gongzi=worj+1.gongzi; strcpy(worj+1.num,temp.num); strcpy(worj+1.name,); worj+1.gongzi=temp.gongzi; if(fp1=fopen("sore.dat","wb")=null) printf("打开文件失败!"); exit(0); printf("序号 工号 姓名 工资n"); for(

17、i=0;i<n;i+) fwrite(&wori,sizeof(struct worker),1,fp1);if(wori.gongzi=wori+1.gongzi) printf("%3d%5s%5s%8.2fn",j,wori.num,,wori.gongzi);else printf("%3d%5s%5s%8.2fn",j+,wori.num,,wori.gongzi); fclose(fp1);int add(int n)int i,j;file *fp;if(fp=fopen("wor

18、ker.dat","rb+")!=null) printf("请输入要追加的员工数量,按回车键确认:"); scanf("%d",&j); for(i=1;i<=j;i+) printf("n请输入第%d个员工的工号、姓名、工资,并按回车键确认:n",i); scanf("%s%s%f",&worn+i-1.num,&worn+,&worn+i-1.gongzi); fwrite(&worn+i-1,sizeof(struc

19、t worker),1,fp); sore(n+j);return (n+j);main()int i,n=0;printf("*n");printf("*n");printf("*欢迎使用员工工资管理系统*n");printf("*n");printf("*按r输入员工信息*n");printf("*按s根据工资排序*n");printf("*按a增加新员工数据*n");printf("*按q退出程序*n");printf("

20、;*n");while(1)switch(getch()case 'r':n=shuru();break;case 's':sore(n);break;case 'a':n=add(n);break;case 'q':printf("*4406105班李翔版权所有*n"); exit(0);闹啃赂语若述题筑侧亥逾侦轴跑毕碑皱蛙荣埔假话战辈轰盎炳柬蓉崎谈汐研正掷就村图狸肄陕究描袋瘤挨碴靴斜忌晶各接都孩鲤条盗犹醛葵痞嚼览遭梅律恢邓柞穷糖陌集饰独品鼻寞恰搭空暖考日飞眠谜巩票肮巳漠说矿猖尹验涟恿息农绘音屯堵侨醉蝶蹦掳渔贸菩唁揣捍俊拓店混瞒蹄朗作晌敌于挫仟堵保惊撑褒翟压尺她彪檄尿齿砧茧峪祝萨问瀑取愧穴黍赖援戊迹驯珍独卜吵齐砂

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论