还剩59页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
2.By numberto modify*\n”;printfH\t\t**\n”;printfn\ninput your selection:*;scanfn%dn,d;ifd!=ld!=2printfH\ninput error!Press anykey tocontinue.1;getchar;;〃选取数字错误,返回修改函数重新选取Modifyelse ifd==ldo〃输入需要修改职工姓名printfn\nPlease inputthe name:;scanfn%sn,m;fori=0;in;i++ifstrcmpm,worker[i].name=0••J=l;ifj==-l〃没有找到该职工,重新输printfn\nNot find!Please inputagain!\nn;入}whilej=1;elsedo〃输入需要修改职工工号printfn\nPlease inputthe num:”;scanf%dn,k;fori=0;in;i++//没有找到该职ifk==worker[i].num printf\nNot find!Please again!\nn;工,重新输入whilej==-l;〃需要修改信息界面printfH\nWhat doyou want to modify\n\nn;printf*\t\t**************************************\nyl.name
3.jibengongzi
4.zhiwugongzi
2.number
5.jintie
6.yiliaobaoxian
7.gongjijin*\nn;printf*************************************\n・〃选取需要修改信息printfn\nPlease input your selection:;scanfn%dn,t;〃通过选取数字,实现修改该信息switchtcase l:printf\nbefore modify:%sn,worker[j].name;printfn\nchange to:”;scanf%s”,worker[j].name;printfH\nafter modify:%sn,worker[j].name;break;case2:printfH\nbefore modify:%dH,worker[j].num;printf\nchange to:;scanf%cT,worker[j].num;printf\nafter modify:%dH,worker[j].num;break;case3:printf\nbefore modify:%dH,worker[j].jibengongzi;printf\nchange to:;scanfn%dn,worker[j].jibengongzi;printfH\nafter modify:%dH,worker[j].jibengongzi;break;case4:printf,\nbefore modify:%dn,worker[j].zhiwugongzi;printf\nchange to:;scanfn%dn,worker[j].zhiwugongzi;printfn\nafter modify:%dn,worker[j].zhiwugongzi;break;case5:printfH\nbefore modify:%d,,worker[j].jintie;printf\nchange to:;scanf%d”,worker[j].j intie;printf\nafter modify:%dH,worker[j].jintie;break;case6:printfu\nbefore modify:%dH,worker[j].yiliaobaoxian;printf\nchange to:;scanfH%dn,worker[jl.yiliaobaoxian;printf\nafter modify:%dH,worker|j].yiliaobaoxian;break;case7:printf\nbefore modify:%d\worker[j].gongjijin;scanfn%dn,worker[j].gongjijin;printf\nafter modify:%d,worker[j].gongjijin;break;default:printfError!choice again!!\n*;break;getchar;printfn\nn;包0;worker[j].sum=worker[j].jibengongzi+worker[j].zhiwugongzi+worker[j].jintie〃职工总工资-worker[j].yiliaobaoxian-worker[j].gongj ijin;outputj;//询问与否保存修改后信息printfn\nSave it\n\nl.Yes
2.No\nM;scanfH%d\i;ifi==l〃保存修改后信息saven;//返回到菜单printfn\nPress anykey toback!*!;getchar;menu;//查找函数void Searchint ij-l,k,d,n;char m
[20];n=P;〃清屏system,,clsn;〃选取通过何种方式查找信息printfnChoose theway you want to search:\nn;//选取方式界面printfn\n\nn;pri ntf***************************************\n・l.By nameto search*\n
2.By numberto searchpnntf***************************************\n•printfn\n\nn;〃选取查找方式printfHPlease input your selection:0;scanfn%dn,d;ifd=2do//输入需要查找职工工号printfn\nPlease inputthe number:1;scanfn%dH,k;fori=0;in;i+4-ifk==worker[i].num*♦尸;ifj==-l//没有找到该职工,重新输入printfnNot find!Please inputagain!\nn;whilej==-l;printfn\nn;f2;〃输出信息outputj;else ifd==ldo〃输入需要查找职工姓名printfn\nPlease inputthe name:;scanfn%sn,m;fori=0;in;i++尸;ifstrcmpm,worker[i].name==0••〃没有找到该职工,重新输入printfHNot find!Please inputagain!\nn;}whilej=1;printfn\nn;f2;;〃输出信息outputifd!=ld!=2//输入错误,按键继续printfH\nInput error!Press anykey tocontinue.11;enter getchar;;〃返回到查找函数Search〃选取显示信息或返回到菜单selectO;//添力口函数void Addint i,k,m,n;//定义一种文献指针FILE*fp;〃清屏system,clsn;n=P;〃输入需要添加职工人数printfH\n\nHow manypeople doyou want to add:;scanfn%dn,m;k=m+n;ifk=100〃输入添加职工信息printf\n\nPlease inputtheir information:\n\nM;fl;fori=n;ik;i++inputi;worker[i].sum=worker[i].jibengongzi+worker[i].zhiwugongzi+worker[i].jintie〃职工总工资-worker[i].yiliaobaoxian-worker[i].gongj ijin;〃如果文献为空,则不能打开文职工工资iffp=fopent,D:\\zggz.txtn;,abn==NULL管理系统功能设计规定输入记录:将每一种职工姓名、号以及基本工资、职务工资、岗位津贴、医疗保1ID险、公积金数据作为一种记录•该软件能建立一种新数据文献或给已建立好数据文献增长记录显示记录:依照顾客提供记录或者依照职工姓名显示一种或几种职工各项工资和平2均工资修改记录:可以对数据文献任意记录数据进行修改并在修改先后对记录内容进行显3示查找记录:可以对数据文献任意记录数据进行查找并在查找先后对记录内容进行显4示删除记录:可删除数据文献中任一记录5记录:计算各项工资平均工资及总工资,•记录符合指定条件如职工工资前三6A B项之和在元以上、元、元以内工资职工人数及占总职工人数比例30003000〜〜1000按字符表格形式打印所有职工工资信息表及平均工资•涉及各项总平均工资C保存数据文献功能7例如职工工资信息表号姓名基本工资职务工资津贴医疗保险-公积金-总工资ID01张望12867941981091352034李明021185628135941141740王小民038954389864731294张效章0413508682101161502162彭山057453988461681098//不能打开文献printfH\nCan notopen file.\nn;getchar;〃返回到菜单menu;fori=n;ik;i++〃判断与否写入了数iffwriteworker[i],sizeofstruct worker,l,fp!=l//文献写入错误printfHfile writeerror.\nn;〃关闭文献fclosefp;;〃选取显示信息或返回到菜单selectelse〃返回到添加函数Add;〃删除函数void Deleteint i,j=-l,d,k,t,n;char m[20|;〃定义一种文献指针FILE*fp;//清屏system,cls,;n=P;//打开只读文献fp=fbpen,D:\\zggz.txtn;!rbn;printfn\n\nH;〃选取通过何种方式删除信息printfnChoose theway you want to delete:\nn;pri ntf***************************************\n・
2.By numberto delete*\nl.By nameto delete〃选取删除pnntf***************************************\n•printf\ninput your selection:0;方式scanfH%dM,d;ifd!=ld!=2〃输入错误,按键继续printfn\ninput error!Press anykey tocontinue.;entergetchar;〃返回到删除函数Delete;else ifd==ldo〃输入需要删除职工姓名printfn\nPlease inputthe name:;scanfn%sn,m;〈fori=0;i n;i++ifstrcmpm,worker|i].name==0••尸;whilej==-l;elsedo〃输入需要删除职工工号printfn\nPlease inputthe num:;scanfn%dH,k;fori=0;in;i++ifk==worker|i].num••尸;ifj==-l//没有找到该职工,重新输入printfH\nNot find!Please again!\nH;}whilej=1;printfn\nH;f2;fori=j;in-l;i++//删除信息后,将背面职工信息按本来顺序补充worker[i]=worker[i+l];fori=0;in-l;i++outputi;//询问与否保存删除后职工信息printfnSave it\n\nl.Yes
2.No\nn;scanfn%du,i;;//保存删除后职工信息saven-l〃按键继续printfn\nPress anykey toback!;enter getchar;〃返回到菜单menu;〃显示函数void Showint i,p,a=0,b=0,c=0,j=0,k=0,l=0,m=0,n=0;二P P;〃清屏systemnclsn;f2;fori=0;ip;i++outputi;printfn\nnaverage salary:\nn;〃各项工资总和fori=0;ip;i++j+=worker[i|.jibengongzi;k+=worker[i].zhiwugongzi;l+=worker[i].jintie;m+=worker[i].yiliaobaoxian;n+=worker[i].gongj ijin;printfn%13d%lld%12d%7d%15dnj/p,k/p,l/p,m/p,n/p;printfH\nqian sanxiangrenshu baifenbi\nH;〃记录前三项工资在各个范畴内人数fori=0;ip;i++if worker[i].qiansan3000a++;else ifworker[i].qiansan=worker[i].qiansan=3000b++;else ifworker[i].qiansan=1000worker[i].qiansan=C++;〃显示前三项工资在各个范畴内人数及所占人数比例printfH over3000:%-7d%6d%%\nn,a,a*100/p;printfn〜3000:%-7d%6d%%\n”,b,b*100/p;printfn1000〜:%-7d%6d%%\n\c,c*l00/p;printfn\n;printfnPress anykey toback.;getchar;〃返回到菜单menu;〃退出函数void Exitinti,p,a=0,b=0,c=0,j=0,k=0,l=0,m=0,n=0;P=P;//清屏system,clsn;f2;fori=0;ip;i+4-outputi;printfH\nnaverage salary:\nn;〃各项工资总和fori=0;ip;i++j+=worker[i].jibengongzi;k+=worker[i].zhiwugongzi;l+=worker[i].jintie;m+=worker[i].yiliaobaoxian;n+=worker[i].gongj ijin;printfn%13d%lld%12d%7d%15d”,j/p,k/p,l/p,m/p,n/p;printfH\nqian sanxiangrenshu baifenbi\nH;//记录前三项工资在各个范畴内人数fori=0;ip;i++ifworker[i].qiansan3000a++;else ifworker[i].qiansan=worker[i].qiansan=3000b++;else ifworker[i].qiansan=1000worker[i].qiansan=C++;〃显示前三项工资在各个范畴内人数及所占人数比例printfn over3000:%-7d%6d%%\nn,a,a*100/p;printfn-3000:%-7d%6d%%\nn,b,b*100/p;printfH1000~:%-7d%6d%%\n\c,c*100/p;printfn\nM;getchar;//清屏system,clsn;;//退出系统界面printfH\n\n\n\n\n\n\n\nnprintfn\t*1*K、F**!KF**1*K!**!f f!!\nn;*1**1**7**T**1*T**7**7**T**T**T**T**7**T**T»*T**T**T**7**T»print*****\n”;printfH\t**Thank youfor theuse ofstaff wagemanagement system!**\n;printfn\t****\n;printfn\t****\n”;printfn\t**Good-bye!**\n;printfn\t****\n;、、printfn\t■0■!**1**i*■■£**X*■!*■],*1****X**1*■],X**1**X*******1*•!**1**X**x****■!**1*■■£**i*■!*\!**1*■!**1*■\1*■!**1*■!**X**1*■1*\11\.,,一,***•,•,**•*-,*****•,•,*****•,•,•,****•,•,****•,•,、•,*****•・、•,*****,一,***\n;printf\t\t\n\nn;getchar;flprintfHnum namejibengongzi zhiwugongzi jintie yiliaobaoxian gongjijin\n\nH;f2printfHnum namejibengongzi zhiwugongzi jintie yiliaobaoxiangongjijinsum\n\nn;//将输入信息保存到构造体中inputint iscanfH%d%s%d%d%d%d%dn,worker[i].num,worker|i].name,worker[i|j ibengongzi,worker[i].zhiwugongzi,worker!i].j intie,worker!i].y iliaobaoxian,worker|i].gongj ijin;〃输出信息outputint iprintfn%-3d%-5s%-12d%-12d%-8d%-14d%-10d%-7d\n\nu,worker[i].num,worker[i].name,worker[i].jibengongzi,worker[i].zhiwugongzi,worker[i].jintie,worker[i].yiliaobaoxian,worker[i].gongjijin,worker[i].sum;〃选取函数selectint i;printfn\n\nH;printfH\t\t\t*Successful!*\n”;printfn\n\nH;〃选取显示信printfHWhat doyou want to donow\n\nl.Show alldata
2.Back\nn;息或返回scanfn%dM,i;;〃返回到显示函数ShowQelse ifi==2;〃返回到菜单}menu〃向文献中输入数据saveint n〃定义一种文献指针FILE*fp;inti;〃判断打开写入文献与否为空iffp=fopennD:\\zggz.txtV,wbn==NULL printfn\nCan notopen file.\nn;return NULL;fori=0;in;i++ifworker[i].num!=0//判断与否写入了数iffwriteworker[i],sizeofstruct worker,l,fp!=l〃写入文献错误printfHfile writeerror!\nn;;〃关闭文献fclosefpP//定义一种文献指针FILE*fp;inti;〃判断打开只读文献与否为空iffp=fopennD:\\zggz.txtn;rbH==NULLprintfn\nCan notopen file.\nn;return NULL;fori=0;!feoffp;i++;〃读取文献freadworker[i],sizeofstruct worker,1,fp;〃关闭文献fclosefpreturn i-1;U!、调试分析.使用()可以使字符一种个地存入缓冲区1getchar、在删除、修改、添加函数中(保存)函数,可以有针对性地保存需要保存2save文献.使用(输入)和(输出)子函数,可以避免多次写入信息麻烦3input output函数在保存删除、修改后人数中有很大作用,在后来调用保存人数中起到了很
4.PO大作用、用数字代替需要选取选项,避免了输入字符麻烦
5、该程序使用是构造体,没有用到链表,因此在删除数据后需要6将背面数据放到前面,故将第个职工信息赋给第个职工n+1n各项平均工资
1092.
2625.
214588.8108(规定.源文献采用多文献工程构造.数据存储采用文献形式.原则输入输出123C.功能完善,恰当注释.关于文献内容需要自学)4,5
二、概要设计程序总体功能框架:
1.
五、顾客手册.在进入系统后显示菜单有输入函数、修改函数、查找函数、添加函数、删1除函数、显示函数、退出函数可供选取顾客可以依次用至七个数字选17,取需要进行操作(阐明如果顾客第一次进入该系统,或以迈进入系统没有保存数据,需要选取即选取输入函数输入数据)
1、在删除、修改、添加信息完毕后会询问顾客与否保存当前信息,顾客可依照2自己需要选取与否保存信息.在几种函数最后会询问顾客显示当前信息或是返回到菜单,顾客可以自己需3要选取.顾客在选取时需注意各个数字代表字符
4、顾客在输入职工人数后点击键,如果依然停在当前页面,需注意所输入5enter总职工人数与否超过了总人数(该程序中定义为)N N100o、注职工工号为整型,不是字符型6
六、测试数据菜单界面:If youwere thefirst toenter pleasesystemselect Input!1-----------Input2-----------Modify3-----------Search4-----------Add5-----------DeleteInput vourchoose1-7选取(输入)1ov/manypeople0-1002Please inputdatanum namejibengongzi zhivmgongzijintie yiliaobaoxiangongjijinzhang1286135li1185114what doyou want to donovi
1.Shou alldata
2.Back12924811938519904关
1.By nameto modify**
2.By numberto modify*Choose theway you*want to modify奘**MJfXNNKNKMXM***X KKK**%**XMItNKXW****^inputyour selection1Please inputthe namelzhang妙hat doyou want to modifyMXJOOCXXXXXJOOCXXXXXJOOCXXXXXJOOCMXXXXJOOCM*
1.name
2.number**
3.j ibengongzi
4.zhiwugongzi**
5.j intie
6.yiliaobaoxian**玉关7-gongj ijin**K**************************************Please inputyour selection3before modify;1286change to1386num namejibengongzi zhiwugongzi jintle yiliaobaoxiangongjij in sum1zhang13861352134Saue itI.Ves
2.Ho返回菜单,选取(查找)3Choose theway you wantto search****
1.By nameto search*****
2.By numbertosearch*Please inputyourselection2Please inputthe number1num namej ibengongzizhiwugongzijintie yiliaobaoxiangongj ijin sum1zhang13867941981091352134*Successful!*Mhat doyou wantto donow
1.Show alldata
22.Back返回菜单,选取(添加)4How manypeople doyou wantto add1Please inputtheir informationnun namej ibengongzizhiwugongzijintie yiliaobaoxiangongj ijin3wang89543898Successful!Mhat doyouwantto donow
1.Show alldata
2.Back2返回菜单,选取(删除)5Choose theway youwantto delete;乂***NNNKIOCMNNNNKMTMNNNNKMTMNNNNKMXMNNN****王
1.By nameto delete****
2.By numbertodelete***inputyourselection2Please inputthe nun)3nun namej ibengongzizhiwugongzijintie yiliaobaoxiangongj ijinsum1zhang138679419810913521342li11856281351141740Saue itI.Ves
2.Honum namej ibengongzizhiwugongzi jintle yiliaobaoxiangongjijin sum1zhang138679419810913521342li11856281359411417Mlnaveragesalary1285711166101124qian sanxiangrenshu baifenbiover3000:00%%2000*3000:151000*2000:150%Press anykey toback.返回菜单,选取(退出)7num namejibengongzi zhiwugongzijintie yiliaobaoxiangongjijin sum1zhang138679419810913521342li11856281351141740nauerage salary1285711166101124显示保存数据:qian sanxiangrenshu baifenbiover3000:02000*3000:11000*2000:1退出系统界面:Thank youfor theuse ofstaff wagemanagenent system!Good-bye!弓
七、附录源程序#include Hstdio.hH#define N1003a4aaaEEFFEFEFFFEE3a444#include nstring.hn struct workerint num;char name[20J;int jibengongzi;int zhiwugongzi;int jintie;int yiliaobaoxian;int gongjijin;int qiansan;int sum;}worker[N];void menu;void Input;void ModifyO;void Search;void Add;void DeleteQ;void Show;int mainsystemnclsn;menu;void menuint n;systemnclsn;printfH\n\n\nH;•AXIf\.\4Kt*K1*KJ*K£*K1*K!^K1KvlK1^K1\II\不下下不不不不不不不下不不不不不不乎不不不不不下下不不pnntt\t\t不不不不下不不不不不不下不不不不不不下不、n•printf\t\t****\n”;printf”\t\t**If youwere thefirst toenter thesystem**\n”;printf\t\t**please selectInput!**\n;printf\t\t****\n”;printf”\t\t**1------Input**\n;printf”\t\t**2------Modify**\n;printf\t\t**3------Search**\n;printf”\t\t**4------Add**\n;printf\t\t**5------Delete**\n;printf\t\t**6------Show**\n;printf”\t\t**7------Exit**\n;printf\t\t****\n;*JKF*KJ*KJq,KJ**1**7**T»*7**7**T**T»*7*printfn\t\t\nn;printfn\n\nn;printf\t\tlnput yourchoosel-7:H;scanfn%d\n;ifn=1n=7switchncase l:Input;break;case2:Modify;break;case3:Search;break;case4:Add;break;case5:Delete;break;case6:Show;break;case7:Exit;break;elsemenu;void Inputinti,p;clrscr;printfn\n\nHow manypeople100:;scanfu%d\p;ifp=0p=N{printfn\n\nn;printfnPlease inputdata:\nn;printfn\nH;printfnnum namejibengongzi zhiwugongzijintie yiliaobaoxiangongjijin\n\n;fori=0;ip;i++{inputi;worker[i].sum=worker[ij.jibengongzi+worker[ij.zhiwugongzi+worker[i].jintie-worker[i].yiliaobaoxian-worker[i].gongjijin;worker[i].qiansan=worker[i].jibengongzi+worker[i].zhiwugongzi+worker[i].jintie;}elseInput;savep;select;void ModifyOinti,j=-l,d,k,t,n;char m
[20];FILE*fp;systemnclsn;n=P;printfn\n\nn;printfnChoose theway youwantto modify:\nn;printfn\n\nn;KF!*1**7**7**T»*T»*7**T**T**T**T**T**T**r»*T*\n;printfn\t\t**\n;printf\t\t*l.By nametomodify*\n;printf”\t\t**\n;printf\t\t*
2.By numbertomodify*\n;printf”\t\t**\n;printfn\ninput yourselection:H;scanf,!%d\d;ifd!=ld!=2printfn\ninput error!Press anykey tocontinue.0;getchar;ModifyO;else ifd==l主菜单V.某些数据构造简介2定义职工构造体structworker{职工工号int num;职工姓名char name
[20];职工基本工资int jibengongzi;职工职务工资int zhiwugongzi;职工津贴int jintie;职工医疗保险int yiliaobaoxian;doprintfH\nPlease inputthe name:;scanfn%sH,m;fori=0;in;i++ifstrcmpm,worker[i].name==0••J=l;ifj==-lprintfn\nNot find!Please inputagain!\nH;whilej==-l;}elsedoprintfn\nPlease inputthe num:n;scanfn%d\k;fori=0;in;i++ifk==worker[i].num••J=l;ifj==-lprintfH\nNot find!Please again!\nH;whilej==-l;printfn\nWhat doyouwanttomodify\n\nn;printf*************************************\n•printf\t\t**\n”;printfM\t\t*l.name
2.number*\n;printf\t\t**\n;printf\t\t*
3.jibengongzi
4.zhiwugongzi*\rT;printf\t\t**\n;printf*\t\t*
5.jintie
6.yiliaobaoxian*\n;printfn\t\t**\n;printf\t\t*
7.gongjijin*\n;printf\t\t**\n;、,.、•卜•卜、•】、力、,.、•.•卜•卜•卜・[、•[、♦・7•1\nH;•卜•卜•[••;、•卜•卜•[••.、,卜•】、力、,.、.•卜♦♦printfn\nPlease inputyourselection:;scanfn%d\t;switchtcase l:printfn\nbefore modify:%sn,worker[j].name;printfn\nchange to:;scanfn%sn,worker[j].name;printfn\nafter modify:%sn,worker[j].name;break;case2:printfn\nbefore modify:%dn,worker[j].num;printfn\nchange to:;scanfn%dH,worker[j].num;printfn\nafter modify:%dn,worker[j].num;break;case3:printfH\nbefore modify:%dworker|j]jibengongzi;printfn\nchange to:;scanfn%dn,worker[j].jibengongzi;printfn\nafter modify:%dn,worker[j].jibengongzi;break;case4:printfn\nbefore modify:%dn,worker[j].zhiwugongzi;printfn\nchange to:;scanfn%dH,worker[j].zhiwugongzi;printfn\nafter modify:%dn,worker[j].zhi wugongzi;break;case5:printfn\nbefore modify:%dworker[j],jintie;printfn\nchange to:;scanfn%dn,worker[j].jintie;printfn\nafter modify:%dn,worker[j].jintie;break;case6:printfn\nbefore modify:%dn,worker[j].yiliaobaoxian;printfn\nchange to:;scanfn%dn,worker[j].yiliaobaoxian;printfn\nafter modify:%dn,worker[j].yiliaobaoxian;break;case7:printfn\nbefore modify:%dn worker[j].gongjijin;9printfn\nchange to:n;scanfn%dH,worker[j].gongjijin;printfn\nafter modify:%dn,worker[j].gongjijin;break;default:printfnError!choice again!!\nn;break;getchar;printfn\nn;printfnnum namejibengongzi zhiwugongzijintie yiliaobaoxiangongjijinsum\n\nn;worker[j].sum=worker[j].jibengongzi+worker[j].zhiwugongzi+worker[j].jintie-worker[j].yiliaobaoxian-worker[j].gongjijin;outputj;printfH\nSave it\n\nl.Yes
2.No\nH;scanfn%d\i;ifi-lsaven;printfn\nPress anykey toback!”;getchar;menu;}void Searchinti,j=-l,k,d,n;char m
[20];n=P;systemnclsH;printfnChoose theway youwanttosearch:\nn;printfH\n\nn;***东*****************东************东***printf*\n・printfn\t\t**\n;printfn\t\t*l.By nametosearch*\rT;printfH\t\t**\n;
2.By numberto searchprintfH\n\nn;printfHPlease inputyourselection:H;scanfH%dH,d;ifd==2doprintfn\nPlease inputthe number:n;scanfH%dH,k;fori=0;in;i++ifk-worker[i].num♦•J=l;}ifj==-lprintfHNot find!Please inputagain!\nn;whilej==-l;printfu\nH;printfnnum namejibengongzi zhiwugongzijintie yiliaobaoxiangongjijin sum\n\nn;outputj;else ifd==ldoprintfH\nPlease inputthe name:;scanf%sm;fori=0;in;i++尸;ifstrcmpm,worker[i].name==0••ifj==-lprintfnNot find!Please inputagain!\nH;whilej==-l;printfn\nn;printfHnum namejibengongzi zhiwugongzijintie gongjijinyiliaobaoxiansum\n\nn;outputj;ifd!=ld!=2printfn\nlnput error!Press anykey tocontinue.n;getchar;Search;select;void Addinti,k,m,n;FILE*fp;systemnclsn;n=P;printf\n\nHow manypeople doyouwantto add:”;scanfn%d\m;k=m+n;ifk=Nprintfn\n\nPlease inputtheir information:\n\nH;printfnnum namejibengongzi zhiwugongzijintie yiliaobaoxiangongjijin\n\n;fori=n;ik;i++inputi;worker[i].sum=worker[i].jibengongzi+worker[i].zhiwugongzi+worker[i].jintie-worker[i].yiliaobaoxian-worker[i].gongjijin;iffp=fopennD:\\zggz.txtn,nabn==NULLgetchar;menu;fori=n;ik;i++iffwriteworker[i],sizeofstruct worker,1,fp!=1printfnfile writeerror.\nH;fclosefp;select;}elseAdd;}void Delete{inti,j=-l,d,k,t,n;char m
[20];FILE*fp;systemnclsH;n=P;fp=fopenHD:\\zggz.txt,\,trbH;printfH\n\nn;printfChoose theway youwanttodelete:\nH;printfH\n\nn;prmtf***************************************\n•
2.By numbertodelete*\nl.By nameto deletepnntf***************************************\n•printfn\ninput yourselection:;scanfn%d\d;ifd!=ld!=2printfn\ninput error!Press anykey tocontinue.1*;getchar;Delete;else ifd==ldoprintf\nPlease inputthe name:;scanf%s\m;fori=0;in;i++ifstrcmpm,worker[i].name==0••尸;printfH\nNot find!Please again!\nH;whilej==-l;elsedoprintfH\nPlease inputthe num:;scanfn%dn,k;fori=0;in;i++ifk==worker[i].num••J=l;ifj==-lprintfn\nNot find!Please again!\nH;whilej==-l;printfH\nn;printfnnum namejibengongzi zhiwugongzijintie yiliaobaoxiangongjijin sum\n\nH;fbri=j;in-l;i++worker[i]=worker[i+1];fori=0;in-l;i++outputi;printfSave it\n\nl.Yes
2.No\nn;scanfn%dn,i;int gongjijin;职工公积金int qiansan;职工前三项工资基本工资、职务工资、津贴之和int sum;职工总工资}worker
[100];建立最多为100,、名为worker构造体.定义重要函数3void menu;void Input;void Modify;void Search;void Add;void Delete;void Show;void Exit;.几种重要函数简介4清屏函数〃;将前面操作屏幕清晰,但不会清除数据system〃cls菜单函数;显示主菜单,便于选取menu输入函数;用于输入数据Input修改函数;用于修改数据Modify查找函数;用于查找信息Search添加函数用于增长信息Add;删除函数用于删除信息DeleteO;显示函数用于显示信息Show;退出函数用于退出该系统ExitO;选取函数用于选取显示信息或返回到菜单select;ifi-lsaven-l;printfn\nPress anykey toback!;getchar;menu;void Showinti,p,a=0,b=0,c=0J=0,k=0,l=0,m=0,n=0;P=P;systemnclsn;printfnum namejibengongzi zhiwugongzijintie yiliaobaoxiangongjijin sum\n\nH;fori=0;ip;i++outputi;printfn\nnaverage salary:\n;fori=0;ip;i++{j+=worker[i].jibengongzi;k+=worker[i J.zhiwugongzi;l+=worker[i].jintie;m+=worker[i].yiliaobaoxian;n+=worker[i].gongjijin;printfn%13d%l ld%12d%7d%15d\j/p,k/p,l/p,m/p,n/p;printfn\nqian sanxiangrenshu baifenbi\nn;fori=0;ip;i++if worker[i].qiansan3000a++;else ifworker[i].qiansan=worker[i].qiansan=3000b++;else ifworker[i].qiansan=1000worker[i].qiansan=C++;}printfn over3000:%-7d%6d%%\n,\a,a*100/p;printfH〜3000:%-7d%6d%%\nbb*100/p;printfH1000〜:%・7d%6d%%\rT,c,c*100/p;printfn\nn;printfnPress anykey toback.;getchar;menu;void Exitinti,p,a=0,b=0,c=0,j=0,k=0,l=0,m=0,n=0;P=P;systemnclsn;printfnnum namejibengongzi zhiwugongzijintie yiliaobaoxiangongjijinsum\n\nH;fori=0;ip;i++outputi;printfn\nnaverage salary:\nH;fori=0;ip;i++j+=worker[i].jibengongzi;k+=worker[i].zhi wugongzi;l+=worker[i].jintie;m+=worker[i].yiliaobaoxian;n+=worker[i].gongjijin;}printfn%13d%lld%12d%7d%15d”,j/p,k/p,l/p,m/p,n/p;printfn\nqian sanxiangrenshu baifenbi\nn;fori=0;ip;i++if worker[i].qiansan3000a++;else ifworker[i].qiansan=worker[i].qiansan=3000b++;else ifworker[i].qiansan=1000worker[i].qiansan=C++;printfn over3000:%-7d%6d%%\n\aXa*100/p;printfn〜3000:%-7d%6d%%\n\b,b*100/p;printfH1000~:%-7d%6d%%\n”,c,c*100/p;printfn\nn;getchar;systemnclsn;printfn\n\n\n\n\n\n\n\nH;printfn\t*T**1*Iw*7*rT*1*ri**T**T**7^KI*ri**T**T*rj*rj*rj*ri**T*r*r1*ri*ri*l**2T^*1*K1^ri**1r*i*ri*ri**2^K1*K r1r^*K1^ri*1*T*rj^T*ri*l*1*\nn;•tC^/Vf\A■!*\!*.!**1*■£*•1*•!*•!*•!**1*■£**£*■£*■!*■!*■!*■£*•£*•£*•£*■!*.!**1**1*■£*■£*■£*•!*•!*■!*■!**£*•1*•£*•1*•!**!**1*■£**1*■£*■!*■!*■!**1*■£*■£*■£*■!*■!*•!*.i**£*■£*•£*•!*■!**1*\**printfn\tprintfu\t**Thank youfor theuse ofstaff wagemanagement system!**printfu\t**printfn\t**printfn\t Good-bye!**printfn\t丁,卜;•;••♦♦♦f\p♦[•♦[•♦;•卜•卜•[•卜;•;、•;••[•卜[•[•;••;••;、[•[•[•卜;•♦♦♦♦♦♦♦♦♦♦♦♦•;■;••[••[••[•・卜・]•,;••[••[••[••卜・[••;••;•[•[•,[•,卜•;♦♦♦•1••;••;•・[■•[•,[••;•♦■;••;••[■•[•,[••]•\B•printfH\t\t\n\nn;getchar;inputint iscanfn%d%s%d%d%d%d%dn,worker[i].num,worker!i].name,worker[i].jibengongzi,worker[i].zhiwugongzi,worker[i].jintie,worker[i].yiliaobaoxian,worker[i].gongjijin;}outputint iprintfH%-3d%-5s%-12d%-12d%-8d%-14d%-10d%-7d\n\nn,worker[i].num,worker[i].name,worker[i].j ibengongzi,worker[ij.zhiwugongzi,worker[i].jintie,worker[i].yiliaobaoxian,worker[i].gongjijin,worker[i].sum;selectint i;printfn\n\nu;printfn\t\t\t*Successful!*\n;printfn\n\nH;printfnWhat doyouwantto donow\n\nl.Show alldata
2.Back\nn;scanfn%d\i;ifi-lShow;else ifi==2menu;saveint nFILE*fp;inti;iffp=fopennD:\\zggzlxtn,nwbn==NULLprintfn\nCan notopen file.\nn;return NULL;fori=;in;i++ifworker[i].num!=0iffwriteworker[i],sizeofstruct worker,1,fp!=1printfnfile writeerror!\nn;fclosefp;PFILE*fp;inti;iffjp=fopennD:\\zggz.txtn,nrbn==NULL{printfn\nCan notopen file.\nn;return NULL;fori=0;!feoffp;i++freadworker[i],sizeofstruct worker,l,fp;fclosefp;保存信息函数用于保存信息save:保存人数函数用于保存已保存数据人数P;,本程序模块构造5⑴主函数模块int mainsystemnclsn;menu;}执行主函数后,执行菜单函数⑵菜单函数模块void menuint n;systemnclsH;printfn\n\n\nn;pnntf**********************************************\n•printf\t\t**If youwere thefirst toenter thesystem**\n;printf\t\t**please selectInput!**\n;printf”\t\t****\n;printfH\t\t**1--------Input**\n;printf\t\t**2--------Modify**\n;printf\t\t**3--------Search**\n;4--------Add**\n;printf\t\t**6-------ShowDelete7-------Exitprintf\t\t****\n,/11\.£■£■£\£.]£1\£I f\•a J\/、!\],.!.!、£\!.!\nri ri11\t\tn\•不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不,.、不不不不不不不不不不不不、printf!!\t\t\nH;printfn\n\nn;printfn\t\tlnput yourchoose-7:;scanfn%d\n;ifn=1n=7{switchncase l:Input;break;case2:Modify;break;case3:Search;break;case4:Add;break;case5:Delete;break;case6:Show;break;case7:Exit;break;}elsemenu;菜单函数中涉及输入函数、修改函数、查找函数、添加函数、删除函数、显示函数、退出函数依照菜单中各个函数代表数字选取相应数字进行操作
三、详细设计#include stdio.hn#include string.h〃定义构造体struct workerintnum;char name|20];int jibengongzi;int zhiwugongzi;int jintie;int yiliaobaoxian;int gongjijin;int qiansan;int sum;}worker[100|;〃定义几种重要函数void menu;void Input;void ModifyO;void Search;void Add;void Delete;void Show;void Exit;〃主函数int mainsystemnclsH;menu;void menu〃菜单函数intn;〃清屏system“cls;;〃菜单界面printfn\n\n\nn**\nprintf”\t\t**If youwere thefirst toenter thesystem**\n”;printfM\t\t**please selectInput!printfn\t\t****\nprintfn\t\t**1-------Input**\n;printf”\t\t**2--------Modify。
个人认证
优秀文档
获得点赞 0