职工信息管理系统_第1页
职工信息管理系统_第2页
职工信息管理系统_第3页
职工信息管理系统_第4页
职工信息管理系统_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

《数据结构》课程设计报告设计题目职工信息管理系统专业班级姓名学号完成日期目录1。问题描述………………(3)精品文档放心下载系统设计………………(3)数据结构与算法描述…………………(5)4。测试结果与分析………(15)精品文档放心下载5。总 结…………………(20)感谢阅读6.参考文献………………(20)精品文档放心下载附录程序源代码…………(20)谢谢阅读职工信息管理系统问题描述试设计一个职工信息管理系统。要求可对职工信息进行插入、删除、查找、感谢阅读排序、输出等功能,职工对象包括编号、姓名、性别、出生年月、学历、工作年精品文档放心下载月、基本工资、电话、家庭住址等等。12。系统设计2。1设计目标随着计算机产业的不断发展和信息时代的到来,各个企业和部门对员工的信息管理也已经走上了数字化的阶段,尤其是利用微机对工资的管理已经在各个企业单位起着越来越多的作用.以前的财会人员完全是靠手写来完成员工的各种记录,每天都忙碌于各种繁多的票据之间,这种工作繁重复杂,容易出错,不易修改,所以使用一个好的管理系统对减轻管理人员的工作量是很有帮助的,也是一个企业发展不可缺少的基础,它的开发应用简单而不失一般性,操作方便,功能强大,系统化,规范化,自动化,而且经济使用的职工管理系统已经成为了各个企业和部门离不开的电脑软件.谢谢阅读本系统实现的操作和功能如下:1)职工信息表的建立:根据职工提供的信息,按单链表的方法建立职工信息表;精品文档放心下载2)职工信息的添加:根据公司的需要,增加新的职工,必须把职工的基本信息写入职工信息表,方便公司管理;谢谢阅读3)职工信息的查询:根据公司需要,查找某一个职工的信息,可以按姓名或编号查找,将都显示职工的全部信息。谢谢阅读4)职工信息的修改:根据公司或职工需要,如果信息需要修改,可对职工的人一个信息进行更改。感谢阅读5)职工信息的排序:根据公司需要,可对职工进行排序;感谢阅读6)职工信息的删除:根据公司需要,若职工不在公司工作,可对其信息删除,以及时更新职工信息表;精品文档放心下载7)职工信息的输出:根据公司需要,若要浏览职工信息,可对职工的全部信息输出,方便观看。谢谢阅读2。2设计思想职工信息表用单链表作为存储结构,且为了查找方便,职工信息应有序.为谢谢阅读了查找方便,职工的线性表按职工编号有序,并且,为了插入和删除方便,应以谢谢阅读链表作为存储结构。通过c++,使系统实现建表、增加信息、删除信息、查找信感谢阅读息、排序、输出等功能,而且提供一个界面来调用各个功能,并使界面尽可能清精品文档放心下载2晰美观。2.3系统模块划分菜单界面建职职职职职职统退立工工工工工工出职信信信信信信职工息息息息息息工信的的的的的的管息添查修排删输理表加询改序除出系尾插按按按无冒删输结插入姓编菜记泡除出束法新名号单录排结记程3.数据结构与算法描述查选序点录序建的查立结询询项法运职点实行3.2职工信息表的建立,将一个职工结点按其编号的次序插入有序职工链表工现信的相息应位置,以保持链表的有序性.基本思想是使用尾插法建立新的结点。建表精品文档放心下载表算法如下描述://用尾插法建立职工链表函数voidCreateList(NodePtr&head)精品文档放心下载{//尾插法建立带头结点的职工链表算法NodePtrrear;rear=newListNode;intflag=0;//结束标志置0rear=head;//尾指针初始指向头结点while(flag==0){NodePtrp;p=newListNode;p->link=NULL;cout〈<"请输入:";cout〈〈"编号姓名性别出生日期学历工作年月职务基本工资电话地址\n”;谢谢阅读cout3"——-——--—-----————-—-—--—-———-—-———--——-—--感谢阅读——\n”;cin〉>p-〉num>〉p—〉name>>p—〉sex〉〉p-〉感谢阅读birthday>>p—>education>>p->working_day;精品文档放心下载cin〉〉p-〉post〉>p-〉base_pay〉〉p->phone〉>p—>addr;精品文档放心下载rear—〉link=p;//新结点连接到尾结点之后谢谢阅读rear=p;//尾结点指向新结点cout〈<"结束建表吗?(0/1):”;cin>〉flag;}filesave(head);}3。2职工信息的输出voidPrintList(NodePtrhead)精品文档放心下载{NodePtrp;p=newListNode;p=head->link;//因为链表带头结点,使p指向链表开始接点感谢阅读cout<<"编号姓名性别出生年月学历工作年月职务基本工资电话地址\n";感谢阅读cout<<”—--—--—-—--—--———-—-—-—---—--—---—--—-——-———\n”;谢谢阅读while(p!=NULL){cout〈〈p—>num<〈"”<〈p—>name〈〈""<<p—>sex<<""<〈p->birthday〈〈””;谢谢阅读cout<〈p->education〈〈" ”<<p->working_day〈<" "〈<p—〉post谢谢阅读〈<” ";4cout<〈p—>base_pay<〈” ”〈〈p-〉phone<〈” ”〈<p->addr<精品文档放心下载〈endl;p=p—〉link;//后移一个结点}}3.2职工信息的查询,如果结点为空,输出:没有查到要查询的职工;若结点不为空,可按姓名和编号进行查询。感谢阅读voidListFind(NodePtr&head)谢谢阅读{//有序职工链表上的查找NodePtrp;p=newListNode;p=head->link;//假定职工表带头结点charnum[10],name[20];intxz;cout〈<"================\n";感谢阅读cout〈〈” 1。按编号查询 \n”;cout<〈" 2。按姓名查询 \n";cout<〈"================\n";感谢阅读cout<<"请选择:";cin〉〉xz;if(xz==1){cout<〈”请输入要查找者的编号:”;cin〉>num;do{if(strcmp(p—〉num,num)==0){感谢阅读cout<<"编号姓名性别出生年月学历工作年月职务基本工资电话地址\n”;谢谢阅读cout〈〈"————-——--——-—----—-——---—-———----——-\n";精品文档放心下载cout〈〈p—〉num〈<" "〈〈p-〉name<〈" "〈<p—>sex<〈" "感谢阅读5〈〈p-〉birthday〈〈” ”;cout〈<p-〉education〈〈""〈<p—>working_day<〈”"<〈p—〉post〈<"”;精品文档放心下载cout〈<p-〉base_pay〈〈" ”〈〈p->phone〈〈” ”<〈p->addr<精品文档放心下载〈endl;cout〈<"---—-———--------——------——-—————--——\n”;谢谢阅读break;}elsep=p-〉link;if(p==NULL)cout〈〈”没有查到要查询的职工!\n”;}while(p!=NULL);}if(xz==2){cout<<"请输入要查找者的姓名:";cin〉>name;do{if(strcmp(p->name,name)==0){精品文档放心下载cout〈〈”编号 姓名 性别出生年月学历 工作年月职务谢谢阅读基本工资 电话 地址\n";cout〈〈"---—-—--—--——----——---—--————---—-—-\n”;精品文档放心下载cout<<p->num〈<” "〈<p-〉name〈<" "<〈p—〉sex〈〈" "感谢阅读〈〈p—>birthday〈〈" ";cout〈<p—〉education〈〈" "<<p->working_day<〈" ”〈<p-〉谢谢阅读post〈<" ”;cout〈〈p—>base_pay<〈” ”<<p—>phone〈<” ”〈<p—>addr精品文档放心下载〈<endl;cout6〈〈”—-—--—---—-—--—-——-———-—-—--——--—-—-\n”;break;精品文档放心下载}elsep=p—〉link;if(p==NULL)cout<<”没有查到要查询的职工!\n";}while(p!=NULL);}}3.2职工信息插入voidInsertNode(NodePtr&head)精品文档放心下载{NodePtrp;p=newListNode;p—>link=head-〉link;head—>link=p;cin〉>p—〉num>>p—>name〉〉p-〉sex〉〉p—〉birthday〉>p—〉education〉〉p—>working_day;谢谢阅读cin〉〉p-〉post〉〉p->base_pay〉〉p—〉phone>>p->addr;感谢阅读}3.2职工信息的修改,先输入职工的姓名,若没有该职工,输出:该系统没有该姓名的职工信息,无法修改。。,若有该职工,则可以修改该职工的任何一个信息;具体算法如下:谢谢阅读voidModify(NodePtr&head) //修改职工信息谢谢阅读{NodePtrp;p=head-〉link;charname[15];//姓名cout<<"请输入你要修改职工信息的姓名:";cin>〉name;7while(p){if(strcmp(p—>name,name)==0)精品文档放心下载break;p=p-〉link;}if(p==NULL){cout〈〈"该系统没有该姓名的职工信息,无法修改...”<〈endl;谢谢阅读cout<<"请按任意键继续..。"〈<endl;getch();ListFind(head);}else{cout〈<"--—--—-你现在可以修改此职工的信息了----———”<<endl;感谢阅读//数据域。cout<〈”请输入职工新编号:";cin〉〉p-〉num;cout〈<endl<〈"请输入职工新姓名:";cin〉>p->name;cout<〈endl〈<"请输入职工新性别:”;cin〉>p->sex;cout<〈endl<<”请输入职工新出生年月:";精品文档放心下载cin〉>p—〉birthday;while(cin.fail()){cout<<”请输入正确的年份格式。”<〈endl;谢谢阅读cin。clear();8fflush(stdin);cin>〉p—〉birthday;}cout<<endl〈〈”请输入职工新学历:”;cin〉>p->education;cout〈〈endl〈〈"请输入职工新工作年月:”;感谢阅读cin>>p—〉working_day;cout<<endl〈<"请输入职工新职称:”;cin>〉p->post;cout〈〈endl〈〈”请输入职工基本工资:";cin>>p-〉base_pay;while(cin.fail()){cout<〈"请输入正确的工资数据."〈〈endl;精品文档放心下载cin.clear();fflush(stdin);cin〉>p—>base_pay;}cout〈<endl<<”请输入职工新电话:";cin〉>p->phone;cout<<endl<〈"请输入职工新地址:";cin〉〉p->addr;cout〈<endl;}}3。2职工信息的排序,若系统没有职工信息,无法进行排序,若有职工信息,则按冒泡法进行排序.具体算法如下:精品文档放心下载voidSort(NodePtrhead){9NodePtrp,q;p=head->link;if(p==NULL){cout〈<”该系统还没有储存一个职工,没法进行排序。.。”<〈endl;谢谢阅读cout〈<"请按任意键继续。。。\n";getch();//menu_select();}else{while(p!=NULL){q=p—〉link;while(q!=NULL){if(p-〉base_pay<q-〉base_pay)精品文档放心下载swap(p,q);q=q-〉link;}p=p->link;}cout〈<"排序成功。。.”〈<endl;}}voidswap(NodePtr&p,NodePtr&q)//交换两个节点里所含的信息精品文档放心下载{charnum[10];//编号charname[15];//姓名10charsex[5];//性别charbirthday[50];//出生年月chareducation[50];//学历charworking_day[50];//工作年月精品文档放心下载charpost[50];//职务intbase_pay;//基本工资charphone[50];//电话charaddr[50];//地址strcpy(num,p-〉num);strcpy(p—>num,q—〉num);strcpy(q—〉num,谢谢阅读num);strcpy(name,p—>name);strcpy(p-〉name,q—>name);strcpy(q—〉name,name);谢谢阅读strcpy(sex,p-〉sex);strcpy(p—〉sex,q->sex);strcpy(q—〉sex,sex);感谢阅读strcpy(birthday,p->birthday ) ;strcpy(p- 〉 birthday ,谢谢阅读q->birthday);strcpy(q->birthday,birthday);谢谢阅读strcpy(education,p-〉education);strcpy(p—〉education,q—〉education);strcpy(q-〉感谢阅读education,education);strcpy ( working_day , p- 〉 working_day) ; strcpy感谢阅读(p—>working_day,q->working_day);strcpy(q-〉working_day,working_day);精品文档放心下载strcpy(post,p—>post);strcpy(p-〉post,q->post);strcpy(q->post,post);感谢阅读base_pay=p-〉base_pay;p-〉base_pay=q->base_pay;q->base_pay=base_pay;精品文档放心下载strcpy(phone,p—>phone);strcpy(p—>phone,q-〉phone);strcpy(q—〉phone,感谢阅读phone);strcpy(addr,p->addr);strcpy(p->addr,q—〉addr);strcpy(q-〉addr,addr);感谢阅读}3.2职工信息的删除,先输入职工的工号,若结点为空,则输出:没有找到要删除的职工,若结点不为空,输出职工信息,提示真的要删除该职工吗,选择y或感谢阅读可进行操作。具体算法如下:voidDelNode(NodePtr&head)谢谢阅读{11NodePtrp,q;p=newListNode;q=newListNode;精品文档放心下载p=head—〉link;//假定职工信息表带头结点感谢阅读q=head;charnum[10];intflag=0;cout〈〈”请输入要删除者的编号:";cin>>num;do{if(strcmp(p—>num,num)==0){cout〈<”编号 姓名 性别出生年月 学历 工作年月职精品文档放心下载务基本工资 电话 地址\n";cout〈〈"-——----——-————-—-——--—----———---——--\n";精品文档放心下载cout<<p->num 〈 <" " 〈〈 p— 〉 name< 〈 "感谢阅读"<<p->sex<<" ”<<p—>birthday〈<” ";感谢阅读cout〈〈p—>education〈〈” "<<p—>working_day〈〈" ”<精品文档放心下载〈p—〉post〈<" ”;cout〈〈p—>base_pay<<” "〈<p->phone〈〈" ”<<p-〉addr谢谢阅读〈<endl;cout<〈”-—--————--—--——————--—-—-—--—-—-----\n”;精品文档放心下载flag=1;break;}elsep=p-〉link;if(p==NULL)cout〈<"没有查到要删除的职工!\n”;12q=q-〉link;}while(p!=NULL);if(flag==1){cout〈〈"真的要删除该结点吗?(y/n):”;谢谢阅读charjx;cin>>jx;if(jx=='y'||jx=='Y’){q—>link=p—>link;//删除结点free(p);//释放被删除的结点空间cout<〈”职工已被删除!\n”;}}//return0;}通过以上算法实现以下菜单模块:printf("欢迎进入职工信息管理系统\n”);printf(”==============================\n");printf(”1.职工信息表的建立\n");printf("2。职工结点的添加\n");精品文档放心下载printf(”3.职工结点的查询\n");printf(”4.职工信息的修改\n");printf(”5.职工信息的排序\n”);printf(”6。职工结点的删除\n");printf(”7。职工链表的输出\n”);printf("0。退出管理系统\n”);printf("==============================\n”);谢谢阅读printf(”请选择0—7:”);134.测试结果与分析(将测试结果抓图说明)5。总结通过本次课程设计,我学会了如何工程化的编写以下系统软件。首先,要对软精品文档放心下载件的需求有一个比较明确的认识,然后系统分析与系统设计,最后是代码设计与谢谢阅读调试。软件实现上,设计了清楚的界面,并采用功能模块的设计思想。精品文档放心下载在这个过程中,确实付出了很对努力,流了很多汗水,比如,要思考整个设计谢谢阅读过程,要一点一点的改正代码中出现的错误等等,但现在想想,都不值得一提,精品文档放心下载因为从中的收获比什么都重要。同时,我也知道,我的设计还存在不足之处,我感谢阅读会坚持不懈!继续努力!6。参考文献(包括书籍、论文、网络资料等)C++buider实例入门陈雪飞中国青年出版社C++buider彻底研究陈灿煌中国铁路出版社C++面向对象程序设计(第6版)清华出版社网络上一些代码资料谢谢阅读附录 程序源代码//主控菜单处理测试程序#include〈stdio。h>#include〈string>#include<stdlib.h>#include<conio。h〉#include〈fstream>#include<iostream〉usingnamespacestd;structListNode{//职工结点类型charnum[10];//编号charname[15];//姓名charsex[5];//性别charbirthday[50];//出生年月14chareducation[50];//学历charworking_day[50];//工作年月感谢阅读charpost[50];//职务intbase_pay;//基本工资charphone[50];//电话charaddr[50];//地址ListNode*link;//结点指针域};typedefListNode*NodePtr;精品文档放心下载NodePtrload();//导入信息到系统voidfilesave(NodePtrhead);//将链表中的信息保存到文件里intmenu_select();精品文档放心下载voidCreateList(NodePtr&head);感谢阅读voidPrintList(NodePtrhead);感谢阅读voidListFind(NodePtr&head);精品文档放心下载voidInsertNode(NodePtr&head);感谢阅读voidDelNode(NodePtr&head);精品文档放心下载//voidDomoDify(NodePtr&head);精品文档放心下载voidModify(NodePtr&head);精品文档放心下载voidSort(NodePtrhead);voidswap(NodePtr&p,NodePtr&q);//交换两个节点里所含的信息谢谢阅读//voidDisp(NodePtr&base_pay);谢谢阅读//主函数intmain(){NodePtrhead,p,ptr;//intbase_pay;head=newListNode;//申请头结点head=load();15//intn;//chartp[100];for(;;){switch(menu_select()){case1:cout<<"***********************\n";精品文档放心下载cout〈〈"*职工信息表的建立*\n”;cout〈<”***********************\n";CreateList(head);break;感谢阅读case2:cout〈<"***********************\n”;谢谢阅读cout〈<”*职工信息的添加*\n”;cout<〈”编号姓名性别出生日期学历工作年月职务基本工资电话地址\n”;感谢阅读cout<〈”****************************谢谢阅读******\n”;InsertNode(head);filesave(head);break;case3:cout〈〈"**********************************\n”;谢谢阅读cout<<"*职工信息的查询*\n”;cout<〈”************************谢谢阅读**********\n”;ListFind(head);break;case4:cout<〈”**********************************\n”;谢谢阅读cout〈<"*职工信息的修改*\n”;cout〈〈”****************************感谢阅读16******\n”;DomoDify(head);//修改结点Modify(head);break;case5:cout〈〈”**********************************\n";精品文档放心下载//cout<〈”*按工资排序*\n";cout<〈"******************************感谢阅读****\n";Sort(head);//按工资排序//PrintList(head);//Disp(tp,n);break;case6:cout<<"**********************************\n”;感谢阅读cout<<”*职工信息的删除*\n";cout〈〈”************************精品文档放心下载**********\n”;DelNode(head);//删除结点filesave(head);break;case7:cout〈〈”**********************************\n”;谢谢阅读cout<<"*职工信息表的输出*\n”;cout〈〈”*************************感谢阅读*********\n”;PrintList(head);break;case0:cout<<"再见!\n”;17return0;}}}voidfilesave(NodePtrhead)//将链表中的信息保存到文件里精品文档放心下载{NodePtrp=head—>link;FILE*fp;intnum=0;if((fp=fopen(”file.txt”,"w"))==NULL)感谢阅读{cout〈〈”新建文件失败.。."〈<endl;cout〈<"请按任意键退出系统.。。”<〈endl;精品文档放心下载getch();exit(0);}while(p!=NULL){num++;p=p—>link;}p=head-〉link;charc[255];sprintf(c,"文件中%d个信息如下:\n”,num);谢谢阅读fputs(c,fp);while(p!=NULL){fprintf(fp,”%s",p->num);fprintf(fp,"\t”);fprintf(fp,”%s”,p—〉name);fprintf(fp,”\t");感谢阅读18fprintf(fp,"%s”,p—>sex);fprintf(fp,"\t");感谢阅读fprintf(fp,"%s”,p->birthday);fprintf(fp,”\t”);谢谢阅读fprintf(fp,”%s",p-〉education);fprintf(fp,”\t”);谢谢阅读fprintf(fp,”%s”,p->working_day);fprintf(fp,”\t”);精品文档放心下载fprintf(fp,”%s”,p—>post);fprintf(fp,"\t");谢谢阅读fprintf(fp,"%d",p-〉base_pay);fprintf(fp,"\t”);感谢阅读fprintf(fp,"%s”,p—〉phone);fprintf(fp,”\t");感谢阅读fprintf(fp,”%s",p-〉addr);fprintf(fp,”\t");感谢阅读fprintf(fp,”\n");p=p—〉link;}fclose(fp);}NodePtrload(){NodePtrp,q,head;head=newListNode;head-〉link=NULL;q=head;charbase_pay[10];//p=newListNode;intnum,i=0;FILE*fp;if((fp=fopen("file。txt”,”r"))==NULL)精品文档放心下载{cout〈<”文件尚未存储数据。..!\n”;//exit(1);returnhead;}19charc[255];fgets(c,256,fp);sscanf(c,"文件中%d个信息如下:\n",&num);while(i〈num)感谢阅读{p=newListNode;//这里需要注意,必须放在这个循环的位置里,这是每一次都产生一个节点,链接到链表中去精品文档放心下载fscanf(fp,”%s",p—>num);fscanf(fp,”%s",p—>name);fscanf(fp,"%s",p—>sex);fscanf(fp,"%s”,p—〉birthday);谢谢阅读fscanf(fp,"%s”,p-〉education);谢谢阅读fscanf(fp,"%s",p-〉working_day);感谢阅读fscanf(fp,”%s",p—〉post);fscanf(fp,"%d",p—>base_pay);fscanf(fp,”%s”,base_pay);p—〉base_pay=atoi(base_pay);精品文档放心下载fscanf(fp,"%s”,p—〉phone);fscanf(fp,”%s”,p—〉addr);p—〉link=NULL;q-〉link=p;q=p;i++;}fclose(fp);returnhead;}//菜单选择函数程序intmenu_select()20{intsn;printf("欢迎进入职工信息管理系统\n");printf("==============================\n”);printf(”1.职工信息表的建立\n”);printf(”2。职工结点的添加\n”);printf("3.职工结点的查询\n”);感谢阅读printf(”4。职工信息的修改\n”);printf(”5。职工信息的排序\n”);printf(”6.职工结点的删除\n");printf("7.职工链表的输出\n”);printf("0。退出管理系统\n”);printf("==============================\n");谢谢阅读printf("请选择0-7:”);for(;;){cin>〉sn;if(sn<0||sn〉7)cout<〈”\n\t输入错误,重选0—6:";精品文档放心下载elsebreak;}returnsn;}//用尾插法建立职工链表函数voidCreateList(NodePtr&head)谢谢阅读{//尾插法建立带头结点的职工链表算法NodePtrrear;rear=newListNode;intflag=0;//结束标志置021rear=head;//尾指针初始指向头结点while(flag==0){NodePtrp;p=newListNode;p->link=NULL;cout〈〈”请输入:";cout<<”编号姓名性别出生日期学历工作年月职务基本工资电话地址\n”;精品文档放心下载cout<〈”—--———-——-—---—---—-——--—-——--—---———---———-\n";感谢阅读cin>>p-〉num>〉p—>name〉>p-〉sex>〉p->birthday〉>p-〉education〉〉p-〉working_day;精品文档放心下载cin〉〉p->post〉〉p->base_pay〉〉p->phone>>p—>addr;rear->link=p;//新结点连接到尾结点之后rear=p;//尾结点指向新结点cout<<”结束建表吗?(0/1):”;cin>>flag;精品文档放心下载}filesave(head);}//职工链表的输出函数voidPrintList(NodePtrhead)谢谢阅读{NodePtrp;p=newListNode;p=head-〉link;//因为链表带头结点,使p指向链表开始接点感谢阅读cout<〈”编号 姓名 性别出生年月学历 工作年月职务基本工精品文档放心下载资 电话 地址\n”;22cout<<”—-—-—-——---—--——----—-————--———-———-—-—-感谢阅读—-——\n”;while(p!=NULL){cout<<p->num<<””〈〈p->name〈〈”"〈〈p-〉sex<<”"〈〈p—〉birthday〈<"”;精品文档放心下载cout〈<p—〉education〈<"”<〈p-〉working_day<<”"〈<p—>post<<””;谢谢阅读cout〈<p—〉base_pay<<" ”〈p->phone〈〈" "<<p—>addr<精品文档放心下载〈endl;p=p-〉link;//后移一个结点}}//有序职工链表的查找voidListFind(NodePtr&head)谢谢阅读{//有序职工链表上的查找NodePtrp;p=newListNode;p=head-〉link;//假定职工表带头结点charnum[10],name[20];intxz;cout<<"================\n";精品文档放心下载cout〈〈" 1.按编号查询 \n";cout〈〈” 2。按姓名查询 \n”;cout<<”================\n";谢谢阅读cout<〈”请选择:”;cin>〉xz;if(xz==1){cout〈<"请输入要查找者的编号:";23cin>〉num;do{if(strcmp(p—〉num,num)==0){谢谢阅读cout<〈"编号姓名性别出生年月学历工作年月职务基本工资电话地址\n";感谢阅读cout〈〈”—-——-———-———--——--——-——-——-——————--—\n";cout<<p-〉num<〈”"<〈p->name<<"”<<p—〉sex<精品文档放心下载〈" ”<<p->birthday<<” ”;cout〈<p->education<<"”<<p—>working_day<<"”〈<p—〉post<<”";精品文档放心下载cout<〈p—〉base_pay〈〈” "〈<p-〉phone<<” ”<<p—〉精品文档放心下载addr<<endl;cout〈<"———---—----——-——--—--—-——---—----——-\n”;感谢阅读break;}elsep=p—〉link;if(p==NULL)cout〈〈"没有查到要查询的职工!\n”;}while(p!=NULL);精品文档放心下载}if(xz==2){cout<〈”请输入要查找者的姓名:”;cin>〉name;do{if(strcmp(p—>name,name)==0){谢谢阅读cout<<"编号姓名性别出生年月学历工作年月职务基本工资电话地址\n”;感谢阅读cout24〈〈"-------———-————----—-—--—-—--————-——\n";精品文档放心下载cout<〈p—〉num〈〈”"〈<p—〉name<〈”"<<p—〉sex<<""<〈p—>birthday<〈””;感谢阅读cout〈<p—>education〈<"”<<p—〉working_day〈〈””〈<p—>post<<"”;谢谢阅读cout<〈p—〉base_pay<<" "〈〈p-〉phone〈<" ”<<p—〉感谢阅读addr<〈endl;cout<〈”-—-—-——-—-—-—-—-———---—--—---—-————-\n”;break;精品文档放心下载}elsep=p-〉link;if(p==NULL)cout〈〈"没有查到要查询的职工!\n”;}while(p!=NULL);}}在职工链表head中插入结点voidInsertNode(NodePtr&head)感谢阅读{NodePtrp;p=newListNode;p-〉link=head-〉link;head->link=p;cin〉〉p-〉num〉>p—>name〉〉p—>sex〉>p->birthday>>p-〉education>>p—〉working_day;谢谢阅读cin>>p-〉post>〉p->base_pay〉〉p->phone>〉p->addr;感谢阅读}//职工信息的修改voidModify(NodePtr&head) //修改职工信息谢谢阅读25{NodePtrp;p=head—〉link;charname[15];//姓名cout〈〈”请输入你要修改职工信息的姓名:";cin〉>name;while(p){if(strcmp(p-〉name,name)==0)感谢阅读break;p=p—>link;}if(p==NULL){cout<<”该系统没有该姓名的职工信息,无法修改。。."〈〈endl;cout<<”请按任意键继续。。.”〈〈endl;getch();感谢阅读ListFind(head);}else{cout<<"--———--你现在可以修改此职工的信息了---—--—”〈<endl;精品文档放心下载//数据域。cout<〈”请输入职工新编号:";cin〉>p->num;cout<<endl<〈”请输入职工新姓名:";cin〉>p-〉name;cout<〈endl<〈"请输入职工新性别:”;cin〉〉p—〉sex;26cout〈<endl<<”请输入职工新出生年月:”;精品文档放心下载cin>>p-〉birthday;while(cin。fail()){cout〈<”请输入正确的年份格式。”<<endl;精品文档放心下载cin.clear();fflush(stdin);cin>〉p—〉birthday;}cout〈〈endl<<"请输入职工新学历:";cin>>p-〉education;cout〈<endl〈〈”请输入职工新工作年月:”;感谢阅读cin>>p—>working_day;cout〈〈endl〈<”请输入职工新职称:";cin〉>p—>post;cout〈〈endl〈<"请输入职工基本工资:";cin>〉p-〉base_pay;while(cin.fail()){cout<〈"请输入正确的工资数据。”〈<endl;谢谢阅读cin.clear();fflush(stdin);cin〉〉p—>base_pay;}cout〈〈endl〈〈"请输入职工新电话:”;cin>〉p—〉phone;cout<<endl〈〈”请输入职工新地址:";cin>>p—〉addr;cout〈<endl;27}}/*利用冒泡排序法实现数组的按基本工资排序,从高到低*/谢谢阅读voidSort(NodePtrhead){NodePtrp,q;p=head—>link;if(p==NULL){cout<〈”该系统还没有储存一个职工,没法进行排序。.."<<endl;cout〈<"请按任意键继续。.。\n”;getch();谢谢阅读//menu_select();}else{while(p!=NULL){q=p->link;while(q!=NULL){if(p—〉base_pay<q-〉base_pay)感谢阅读swap(p,q);q=q—>link;}p=p-〉link;}cout<<”排序成功.。。"〈<endl;}28}voidswap(NodePtr&p,NodePtr&q)//交换两个节点里所含的信息谢谢阅读{charnum[10];//编号charname[15];//姓名char

温馨提示

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

评论

0/150

提交评论