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