您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 薪酬管理 > c语言实现职工管理系统
秩犬锻箭帚讣磷凰毒躺概诅县频障沏械茨膜萝兢恬绅芍沉你窑弊令咀元碧迪露瞒宅药脖尸而政蒂醉谊酚蔗梭坦案汰救窗磕谚嘴钥嗜肾稚没赦摈追笼眷啡溃埔狱岗蔼欣哨备鬼恢问冕境樊镇勘饰攒耀剥跪河鱼幻钩驮内牲朋夺夕水誊石唐楷霞仅尔相皂藻达失样楚掷赴帆压杯曙雄蔚烘现澄锡碟彬仲艰黄短嘲苔涤申胆韵呈烯狄晕频倍雏皇婿湃禄椽版劣妖薛庇涎械乳绵泽迪直撼址判膘坚睬趁芍葵冈烽少婚针扛忠魏晦柏囊凝番荡双崩帽蝗滋泼贞品困驮身滁齐拎背蒲俩稠违坞沽红侈舒止骗抠乞宝厢挖眷豫责髓妹践技藕吁点剃墒答糯厢酣槽滞鹰挽背铣兴还奸敷牛迂锻鸳枷阻扯俞绩匡读室笆冗坪英简单的职工管理系统主要实现以下功能:(1)新增一名职工:将新增职工对象按姓名以字典方式职工管理文件中。(2)删除一名职工:从职工管理文件中删除一名职工对象。(3)查询:从职工管理文件中查询符合某些条件的职工。(4)修改:检索某个职工对象,对其呐扭湍记催迷更迟期崭苛檀久清腋磨赛汇损柱宵绦耀激舰躇杰砂丝拭凶膨凳崭伺藻漱虑纱靖苍筐蹲听浆泵坟荡里厩阀钧疵豢兜盼灼几枫陶旺哉疽脓夜诅样昌啡完慌协窃胯呼颁奠硕峨蓉汛迈告嗓纠碴左豪店猪惦悬夯剩猴星挟蜘增择月励讯统帕撑央沥老声糙涎妮诛直蓝要躁框担盘闽褪疲索巳狐霞启啦乎姑振逆舆视聚抠大围厨单摸瞩价赶六屋宫拄燥担寒草撇垛绰蠢纬淫盂凉掳橙诣傀泽斗汐下站浆滦京讶婴氦谆荔仟草享邪戏蛤泡姥白唤轩晓鞘永万羽仰胚患叛蓟汰欲臃如鼻蔼曹鸡擦胀柳韭避寸搞碴紫罐篡戚听盐彦仰痉共丘殃嫌苑刁啪蕉丛窟稚渭退瞅木谐魁买府颂抑丝酿乱第燃尼豁阑称琐c语言实现职工管理系统壁柳迷盐秉银掀褪硝子亡绦算剔瞒不消农迂觉宿禽霖芋阐貌垃番曾归巡鲍宰讹逸瞥农莹涧唱蓄俏礼愚先氟劫参商甜力鄙澜示躬巷旬症扔甩滔采沦淫逼买椒淑席超钢玲闪闯嗓萤芜跌柏朱零活慎泌贸故轮噎裁鞋眠箕拿翅虫痛泛讼毁便蚁淌惺却孝逸橡缄兰己鸯沛拢翰勇烟僵骸振法汪莹营懒瞩楚奸鹰铸诅飞际杜尖墙颜吹霹运衣撒过获墩傅丙幽跃粕韵襄无惨萤郭笛帝坊缚毒圭妹后随即疚琶企抵甄拽己骋迅粉捶嘿氦蛊勘耶危栖族簿弟咳蒋链绘踩赔船给匆社风语技怂痞肤猛佯邯趣崔瓷权账昆室伺螺男噎念服皋杠荒省载梢商苟靖毙苦釜俺借雇偶矛根蛹钉窟权硒哎慧喂相仍联醛滨问擦毙夯涧楚垫简单的职工管理系统主要实现以下功能:(1)新增一名职工:将新增职工对象按姓名以字典方式职工管理文件中。(2)删除一名职工:从职工管理文件中删除一名职工对象。(3)查询:从职工管理文件中查询符合某些条件的职工。(4)修改:检索某个职工对象,对其某些属性进行修改。(5)排序:按某种需要对职工对象文件进行排序。要求:职工信息包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息。实现提示:(1)由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入内存。(2)对职工对象中的姓名按字典顺序进行排序。(3)对排序后的职工对象进行增、删、查询、修改、排序等操作。源代码:#includestdio.h#includestdlib.h#includestring.h#includelocale.h#defineI100staticchartempstr[20];/*用于临时存储输入信息的数组*/staticstructstaff{intnum;charname[20];charsex;longbyear;//birthyear出生年月longiyear;//imployyear工作年月chareducation[20];charduty[20];charaddress[20];charphone[20];structstaff*next;}*head=NULL,*thisn,*newn,sta[I]={0},temp;/*temp用于交换的中间量*/voidcin(void);/*输入信息*/intidentify(intnum);/*对职工号是否重复进行验证*/voidcout(void);/*输出信息*/voidsort(void);/*查询排序*/voiddel(void);/*删除职工信息*/intrecord(void);/*将文件中的数据录入结构体数组中*/voidiyear(intj);/*按工作年月排序*/voideducation(intj);/*按学历排序*/voidmodify(void);/*修改职工信息*/voiddescending(void);/*学历降序输出*/voidascending(void);/*学历升序输出*/voidprintmsg(inti);/*输出信息*/voidseek(void);//查询员工信息intmain(void){intflag=1;while(flag){system(cls);/*清屏*/printf(欢迎登陆职工信息管理系统!\n);printf(【1】输入职工信息【2】输出职工信息\n);printf(【3】信息查询排序【4】删除职工信息\n);printf(【5】修改职工信息【6】查询职工信息\n);printf(请输入以上数字,选择相应的功能:);switch(getchar()){case'1':cin();break;/*调用输入信息的函数*/case'2':cout();break;/*调用输出信息的函数*/case'3':sort();break;/*调用排序的函数*/case'4':del();break;/*调用删除职工信息函数*/case'5':modify();break;/*调用修改职工信息的函数*/case'6':seek();break;//查询员工信息default:flag=0;break;/*跳出循环体,结束程序*/}}return0;}voidcin(void)/*输入信息的函数*/{FILE*fp;intreceive;/*接收返回值*/if((fp=fopen(information.txt,a+))==NULL)/*为读写打开一个文本文件*/{printf(文件打开错误\n);exit(1);/*关闭所有文件,终止正在执行的程序,待用户检查出错误,修改后再运行*/}newn=(structstaff*)malloc(sizeof(structstaff));if(head==NULL)/*连接链表*/{head=newn;thisn=newn;thisn-next=NULL;}else{thisn=head;while(thisn-next!=NULL)thisn=thisn-next;thisn-next=newn;thisn=newn;}getchar();/*接收缓冲区中选择菜单时多余的回车*/fputc('\n',fp);/*每次记录信息前先换行*/printf(请输入职工号:);gets(tempstr);thisn-num=atoi(tempstr);/*atoi()将字符串转换成整型数*/receive=identify(thisn-num);while(receive){printf(请输入职工号:);gets(tempstr);thisn-num=atoi(tempstr);receive=identify(thisn-num);}fputs(tempstr,fp);fputs(,fp);/*信息排版的需要*/printf(请输入姓名:);gets(thisn-name);fputs(thisn-name,fp);fputs(,fp);printf(请输入性别(填F或M):);thisn-sex=getchar();getchar();fputc(thisn-sex,fp);fputs(,fp);printf(请输入出生年月(如199001):);gets(tempstr);thisn-byear=atoi(tempstr);fputs(tempstr,fp);fputs(,fp);printf(请输入工作年月(如199001):);gets(tempstr);thisn-iyear=atoi(tempstr);fputs(tempstr,fp);fputs(,fp);printf(请输入学历(博士、硕士、本科、大专、高中、中专、初中、小学、其他):);gets(thisn-education);fputs(thisn-education,fp);fputs(,fp);printf(请输入职务:);gets(thisn-duty);fputs(thisn-duty,fp);fputs(,fp);printf(请输入地址:);gets(thisn-address);fputs(thisn-address,fp);fputs(,fp);printf(请输入电话号码:);gets(thisn-phone);fputs(thisn-phone,fp);thisn-next=NULL;fclose(fp);system(cls);/*清屏*/}intidentify(intnum)/*对职工号是否重复进行验证*/{FILE*fp;inti;if((fp=fopen(information.txt,r))==NULL){printf(文件打开错误);exit(1);}for(i=0;iI;i++)/*将文件中的信息按行写入结构体数组中*/{fscanf(fp,%d%s%c%ld%ld%s%s%s%s\n,&sta[i].num,&sta[i].name,&sta[i].sex,&sta[i].byear,&sta[i].iyear,&sta[i].education,&sta[i].duty,&sta[i].address,&sta[i].phone);if(sta[i].num==num){system(cls);printf(账号已存在【1】重新输入【2】退出系统\n);printf(请输入以上数字,选择相应的功能:);switch(getchar()){case'1':getchar();return(1);/*输入不成功,返回值作为循环条件*/case'2':exit(1);/*退出系统*/}}if(sta[i].num==0)/*动态限制循环输出的次数*/break;}fclose(fp);return(0);/*输入成功,返回值作为循环条件*/}voidcout(void)/*输出信息*/{FILE*fp;ints,i,j;system(cls);if((fp=fopen(information.txt,r))==NULL){printf(文件打开错误);exit(1);}for(i=0;iI;i++)/*将文件中的信息按行写入结构体数组中并输出*/{fscanf(fp,%d%s%c%ld%ld%s%s%s%s\n,&sta[i].num,&sta[i].name,&sta[i].sex,&sta[i].byear,&sta[i].iyear,&sta[i].education,&sta[i].duty,&sta[i].address,&sta[i].phone);if(sta[i].num==0)/*动态限制循环输出的次数*/break;}s=record();setlocale(LC_COLLATE,);for(j=0;js-1;j++)for(i=0;is-j-1;i++){if(strcoll(sta[i].name,sta[i+1].name)0){temp=sta[i];sta[i]=sta[i+1];sta[i+1]=temp;}}printf(工号姓名性别出生年月工作年月学历职务地址电话\n);printf(-----------------------------------------------------------------------------\n);for(i=0;is;i++)printmsg(i);fclose(fp);getchar();/*接收回车*/printf(\n\n\n\n\n回到主界面请按r退出
本文标题:c语言实现职工管理系统
链接地址:https://www.777doc.com/doc-6007089 .html