ImageVerifierCode 换一换
格式:DOC , 页数:56 ,大小:222.54KB ,
资源ID:3000383      下载积分:14 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/3000383.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(职工工资标准管理系统标准设计实验报告.doc)为本站上传会员【快乐****生活】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

职工工资标准管理系统标准设计实验报告.doc

1、内蒙古工业大学信息工程学院实 验 报 告课程名称: c语言 试验名称:试验类型: 验证性 综合性 设计性试验室名称: 电西8楼 班级: 计12-2 学号:2042姓名: 孙亚赛 组别: 同组人: 勾涛 付启恒 成绩: 试验日期: -3-3 目录1 题目和要求32 功效设计52.1算法设计52.2 模块步骤图73 程序代码设计84 C程序设计总结225 结束语236 源程序231 题目和要求程序设计目标和要求1.目标:1)复习、巩固程序设计基础知识,深入加深对程序设计语言了解和掌握;熟练使用函数、结构体、文件、数组、循环和选择、链表和指针等知识点,熟练应用C语言综合知识。2)为学生提供了一个既动

2、手又动脑,独立实践机会,将书本上理论知识和实际有机结合起来,锻炼学生分析处理实际问题能力。提升学生适应实际,实践编程能力;3)培养学生在项目开发中团体合作精神、创新意识及能力。2.要求:1)对系统进行功效模块分析、控制模块分析正确,符合题目要求,实现对应功效;能够加以其它功效或修饰,使程序愈加完善、合理;2)系统设计要实用、编程简练、功效全方面、界面美观、操作使用便捷、程序运行稳定;3)说明书、步骤图要清楚;4)统计设计情况(备查,也为编写设计说明书作好准备);5)要求采取模块化程序设计方法,及锯齿型书写格式,要求上机调试经过,能正确运行;6)设计上交内容:设计汇报一份(按格式书写);源程序一

3、份(电子版,能编译成可实施文件并能正常运行。每个班由班长负责搜集并上交)。题目:职职员资管理系统1)、应提供一个界面来调用各个功效,调用界面和各个功效操作界面应尽可能清楚美观。2)、输入功效:职员信息录入(包含从文件中导入职员信息数据),能够一次完成若干条统计输入。3)、浏览功效:完成对全部职员信息显示。4)、查找功效:完成按姓名查询职员相关信息,并显示。完成按ID号查询职员相关信息,并显示。5)、删除功效:经过输入ID号完成对职员信息进行删除。6)、添加功效:完成添加新职员信息。7)、修改功效:经过输入ID号完成对职员信息进行修改。8)、计算功效:计算职员各项工资,并得出实发工资。个人收入所

4、得税按现行税率计算9)、统计功效:统计并输出符合指定条件职员人数及其占总人数和百分比。如实发工资在5000元以上。10)、保留功效:能够将职员信息数据保留至指定文件中。11)、退出职职员资管理系统。职员信息应最少包含以下数据:ID号、姓名、基础工资、职务工资、住房公积金、个人收入所得税,水电费、实发工资。1.1:我实现题目中问题:主菜单页面制作;职员数据输入;职员全部数据浏览;按姓名、学号查找职员数据;经过ID号对职员数据进行删除;经过ID号对职员数据修改;职员数据统计(将自己题目做完后完成了其它功效)。1.2本系统包含知识点:结构体、数组、循环、选择、函数调用、分支、指针、全局变量、文件读取

5、、保留1.3我实现题目功效:主菜单页面制作;职员数据输入;职员全部数据浏览;按姓名、学号查找职员数据;经过ID号对职员数据进行删除;经过ID号对职员数据修改;职员数据统计;2 功效设计2.1算法设计2.1.1进入主函数后实施newu函数,利用switch语句设计图1所表示主菜单请输入要实施功效对应选项(1-10)1. 录入职员信息2. 浏览职员信息3. 添加职员信息4. 查询职员信息5. 删除职员信息6. 修改职员信息7. 职员实发工资8. 职职员资排序9. 职职员资统计10. 返回菜单2.1.2选择1后录入职员信息,实施input函数利用循环录入职员各项信息,输入完成后将全部数据存入文件。2

6、.1.3输入2后浏览职员信息,实施view函数,读取文件,利用循环将职员各项信息显示2.1.4输入3后添加职员信息,实施tianjia函数,读取文件,输入添加人数,然后调用input1函数,利用全局变量D自动将新添加职员信息补充到已存职员信息后面(利用循环),保留至文件2.1.5输入4后查找职员信息(利用switch语句,经过ID号和姓名查找),利用charge函数,读取存入到文件中职员信息,选择对应使用经过ID号(charge1函数)和姓名查找(charge2)函数对职员信息查找2.1.6输入5后经过ID号删除职员信息,调用delete函数,读取文件,利用循环将和输入ID号相同文件中职员信息

7、删除。2.1.7输入6后经过输入ID号修改职员信息,调用xiugai函数,读取文件经过循环将所需各项信息修改2.1.8输入7后统计职员工资,调取gongzhi函数,将职员实发工资输出,其中实发工资在输入函数input函数中利用选择和循环计算得出2.1.9输入8后进行职职员资函数,调取tongji函数,读取文件,利用循环将职职员资比较,进行排序2.1.10输入9后进行职职员资统计,调取tongji函数,将职职员资分为5000以上、3000-4000、-3000、以下四个档次,其中对数据统计在输入函数input函数中实现。2.1.11输入10为返回函数,即调用newu函数返回主菜单2.1.12输入

8、11为写入对使用此系统意见:2.2 模块步骤图职职员资信息管理系统主菜单newu()输入模块input()添加模块input1()浏览模块view()排序模块paixu()按姓名查询charge2()查询模块charge()按职员ID号查询charge1()按实发工资排序paixu()删除模块delete()修改模块职员工资统计3 程序代码设计struct Worker int num; /ID号码 char name20; /姓名 int salary1; /基础工资 int salary2; /职务工资 int salary3; /住房公积金 int salary4; /社保金 float

9、 salary5;stu10000; /定义一个足够大结构体数组函数功效说明:结构体数组,用来存放题目所需信息,定义10000个结构体是为了构建足够大结构体使全部数据正常存取。void input(int n)-输入函数 void save(int n); /申明一个保留函数 void newu(); /申明一个菜单函数 int i=0; for (i=0;i 3500) int a; float b; a = stui.salary1 + stui.salary2 - stui.salary3 - stui.salary4 - 3500; if (a1500&a9000&(a4500|a=4

10、500) b = (float)(a * 0.1 - 555); stui.salary5 = stui.salary1 + stui.salary2 - b; stui.salary5 = stui.salary1 + stui.salary2 ; save(n); /对结构体数据进行储存 newu(); /返回菜单函数功效说明:将职员信息存入文件,save函数是保留函数,将录入信息(职员姓名、编号、基础工资、职务工资、住房公积金、社保金额)存入指定文件中,newu函数是主菜单函数,实施完输入函数后转入主菜单进行其它功效进行。此函数中经过for循环将多个职员信息录入。下面if语句是用来统计职

11、职员资,在此函数录入职员信息同时将其信息统计。void tianjia()-添加函数 void input1(int n); int i; printf (请输入添加人数;); scanf (%d,&i); input1(i);函数功效说明:此函数为添加函数,经过此函数输入要添加人数,再转入input1函数,添加职员信息。void input1(int n)-添加函数 void save(int n); void newu(); int i=0; for (i=D;i 3500) int a; float b; a = stui.salary1 + stui.salary2 - stui.sa

12、lary3 - stui.salary4 - 3500; if (a1500&a9000&(a4500|a=4500) b = (float)(a * 0.1 - 555); stui.salary5 = stui.salary1 + stui.salary2 - b; stui.salary5 = stui.salary1 + stui.salary2 ; save(n); newu();函数功效说明:此函数为添加函数,在原有职员信息基础上再添加新职员信息,定义一个全局变量D是原先输入职员个数,此添加函数直接从D项开始录入新职员信息,If下面语句是实发工资计算,在录入职员信息过程中将实发工资

13、计算出来,实发工资函数见下面函数。void save(int n)-保留函数(将结构体数据储存到文件中) FILE *fp,*fp1; / int i; if (fp=fopen(abc.dat,wb)=NULL) printf (cannot open filen); return ; for (i=0;in+D;i+) if (fwrite(&stui,sizeof(struct Worker),1,fp)!=1) printf (file write errorn); D = i; if (fp1=fopen(abcd.dat,wb)=NULL) printf (cannot open

14、filen); return ; fwrite(&D,2,1,fp1);/统计结构体数组个数并经其储存到文件中 fclose(fp); fclose(fp1); 函数功效说明:此函数为保留函数,将输入或修改后职员信息存入文件,在其中定义两个指针,各指向一个文件,一个文件存各职员信息,一个文件存职员个数,函数内容为文件读取固定格式。void view(int n)-浏览函数 int i; FILE *fp,*fp1; /定义两个指针文件 if (fp=fopen(abc.dat,rb)=NULL) /以读方法打开文件 printf (cannot open filen); exit(0); if

15、 (fp1=fopen(abcd.dat,rb)=NULL) /以读方法打开文件 printf (cannot open filen); exit(0); fread(&D,2,1,fp1); /读出文件中D值 printf (nID号码 姓名 基础工作 职务工资 住房公积金 社保金 实发工资n); for (i=0;iD;i+) fread(&stui,sizeof(struct Worker),1,fp); printf (%5d %6s %5d %4d %6d %5d %5.2fn,stui.num ,stui.name ,stui.salary1 ,stui.salary2 ,stui

16、.salary3,stui.salary4,stui.salary5 ); fclose(fp); fclose(fp1); newu();函数功效说明:此函数为浏览函数,先打开文件读取数据,再经过循环将文件中结构体中数据依次输出。void newu()-菜单函数(界面函数) void tianjia(); /函数申明 void delet(); /函数申明 void charge(); /函数申明 void paixu(); /函数申明 void xiugai(); /函数申明 void tongji(); /函数申明 void gongzhi(); /函数申明 int i,n; /菜单(界

17、面) printf (欢迎登入职员管理系统n); printf ( 录入职员信息 浏览职员信息 n); printf ( 添加职员信息 查询职员信息 n); printf ( 删除职员信息 职员信息修改 n); printf ( 职员实发工资 职员工资排序 n);printf ( 职员工资统计 返回菜单 n);printf ( 意见反馈 n); printf (nn); printf (请您在(1-7)中选择一个数字进行对应操作:); scanf (%d,&n); if (n=1) printf (请确定您此次将要录入职员数目:); scanf (%d,&i); switch (n) case

18、 1: input(i); break; case 2: view(D); break; case 3: tianjia();break; case 4: charge(); break; case 5: delet(); break; case 6: xiugai(); break; case 7: gongzhi();break; case 8: paixu(); break; case 9: tongji(); break;case 10: newu(); break;case 11: yijian();break; 函数功效说明:此函数为主菜单页面,经过此菜单利用switch函数能够实

19、现系统11个功效调用,经过对老师上传例系统分析,我设计了此想主菜单页面。void delet()-删除函数 int num,i,n,m; FILE *fp,*fp1; if (fp=fopen(abc.dat,wb)=NULL) /以写方法打开文件 printf (cannot open filen); exit(0); if (fp1=fopen(abcd.dat,wb)=NULL)/以写方法打开文件 printf (cannot open filen); exit(0); fread(&D,sizeof(int),1,fp1); printf (*请输入您想删除职员ID号*:); /找到要

20、删除职员ID号码 scanf (%d,&num); for (i=0;iD;i+) fread(&stui,sizeof(struct Worker),1,fp); if (stui.num=num&iD) n = i; fread(&stui+1,sizeof(struct Worker),1,fp); stun = stui+1; /将后一个人数据给予前一个人,从而实现对职员信息有效删除 i+; n+; for (i=0;iD-1;i+) fwrite(&stui,sizeof(struct Worker),1,fp); / 删除一个人数据后D就要减一 D = D - 1; fwrite(

21、&D,sizeof(int),1,fp1); fclose(fp); fclose(fp1); printf(是否继续删除职员信息 1继续? 2返回菜单); scanf(%d,&m); if (m=1) delet(); newu(); 函数功效说明:此函数为删除函数,关键原理是经过循环将所输入编号职员信息替换为其编号下一个职员信息将输入编号职员信息删除。void charge()-查找函数 int num; printf (按姓名查找请按1 按ID号查找请按2:); scanf (%d,&num); switch (num) case 1: charge1(); break; case 2:

22、 charge2(); break; 函数功效说明:此函数为查找函数主菜单,此函数使用switch语句能够调取charge1(按姓名查找)、charge2(按ID号查找)两个查找方法。void charge1()-查找函数 FILE *fp,*fp1; /利用ID号进行查找信息 int i; char name20; printf (请输入您要查询职员姓名:); scanf (%s,name); if (fp=fopen(abc.dat,rb)=NULL) /打开文件 printf (cannot open filen); exit(0); if (fp1=fopen(abcd.dat,rb)

23、=NULL) printf (cannot open filen); exit(0); fread(&D,2,1,fp1); for (i=0;iD;i+) /利用循环方法找到信息 fread(&stui,sizeof(struct Worker),1,fp); if (strcmp(stui.name ,name)=0) printf (%-5d %-6s %d %d %d n,stui.num ,stui.name ,stui.salary1 ,stui.salary2 ,stui.salary3 ); break; fclose(fp); fclose(fp1); newu();函数工呢

24、说明:此函数为使用姓名查找方法将某位职员信息查找,使用strcmp函数将存入文件职员姓名和输入姓名比较,将指定文件中某个职员信息查找出来。void charge2()-利用ID号进行查找信息 FILE *fp,*fp1; int num,i; printf (请输入您要查询职员ID号码:); scanf (%d,&num); if (fp=fopen(abc.dat,rb)=NULL) /打开文件 printf (cannot open filen); exit(0); if (fp1=fopen(abcd.dat,rb)=NULL) printf (cannot open filen); e

25、xit(0); fread(&D,2,1,fp1); for (i=0;iD;i+) /利用循环方法找到信息 fread(&stui,sizeof(struct Worker),1,fp); if (stui.num = num) printf (%-5d %-6s %d %d %d n,stui.num ,stui.name ,stui.salary1 ,stui.salary2 ,stui.salary3 ); break; newu(); fclose (fp); fclose (fp1);函数功效说明:此函数为利用ID号查找职员信息,原理和使用姓名查找特定职员信息相同,使用for循环将

26、文件中和输入特定ID号相同职员信息查找到而且输出。void paixu()-排序函数 FILE *fp,*fp1; int n,i,j,k; struct Worker temp; if (fp=fopen(abc.dat,rb)=NULL) printf (cannot open filen); exit(0); if (fp1=fopen(abcd.dat,rb)=NULL) printf (cannot open filen); exit(0); fread(&D,2,1,fp1); for (n=0;nD;n+) /利用冒泡法排序 fread(&stun,sizeof(struct W

27、orker),1,fp); for (i=0;iD-1;i+) k = i; for (j=i+1;j stuk.salary5 ) k = j; temp=stuk;stuk=stui;stui=temp; printf (nnID号码 姓名 基础工作 职务工资 住房公积金 社保金 实发工资n); for (i=0;iD;i+) printf (%5d %6s %5d %4d %6d %5d %5.2fnnnn,stui.num ,stui.name ,stui.salary1 ,stui.salary2 ,stui.salary3,stui.salary4,stui.salary5 );

28、fclose(fp); fclose(fp1); newu();函数功效说明:此函数为排序函数,利用职职员资排序,使用原理是冒泡法(for语句嵌套)。void xiugai()-修改函数 FILE *fp,*fp1; /fp1统计一共有fp多少组数据,fp中用来存放机体数据; int num,i,a,b; if (fp=fopen(abc.dat,wb)=NULL)/以写方法打开文件(即对文件进行初始化) printf (cannot open filen);/以读方法打开文件 exit(0); if (fp1=fopen(abcd.dat,rb)=NULL) printf (cannot o

29、pen filen); exit(0); fread(&D,sizeof(int),1,fp1); /读出fp1中D即是fp中数据个数 for (i=0;iD;i+) fread(&stui,sizeof(struct Worker),1,fp); printf (请输入您想修改职员ID号码:); scanf (%d,&num); for (i=0;iD;i+) if (stui.num=num) /开始修改信息 printf (ID号码是否修改(1为修改n为不修改) ); scanf(%d,&a); if (a=1) printf (ID号码改为:); scanf (%d,&stui.num ); printf (姓名是否修改(1为修改n为不修改) ); scanf(%d,&a); if (a=1) printf (姓名改为:); scanf (%s,stui.name ); printf (基础工资是否修改(1为修改2为不修改) ); scanf(%d,&a);

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服