




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一.具体任务安 组员分 二.开发环 四、源代 五、运行结 六、收获及体 ..................................................................................................................................................................................................................................................................................16.........................................................................................................................................七、参考文 一.具体任务安排时周周周201235020323(组长2012350203182012350203031、和队友共同并优化算二.开发环此重点在于对C语言程序的应用。微软经过多发,从VC4到VC6,VC的各种功能不断增强,MFCVC强大的功能开发应用程序是VisualC++6.0VisualStudio2008三、算法设计思想及流程图新建新建查询添加修改删除加载方保们思考,互相帮助的团队精神。想要建立一个单位员工的管理系统,方便查询其每个员工的一些信息。首先,应运用c语言中结构体的知识。把员工的各项信息到结构体的链表中,定义一个新的结ruct构体类型”,它包括num,name,phone等不同类型的数据项。其次:运用数据结构中线性表 建立单链表有两种方法,头法和入法。头法是将每次新的结点链表结点的是要求将一个数据结点按其的顺序有序表的相 四、源代码 #include<stdio.h>#includetypedefstruct{/*员工通讯信息的结构类型定义/*/*员工 typedefstructnode{DataTypedata; structnode*next; intEmployeeNum(LinkListL){LinkListNewL;intnum=0;>next!=NULL){NewL=NewL->next;num++;
//统计通 个//有信息的结点算一个人//累计人数}return}FILE*fp;int L){intchoose;
//系统界面//调用统计人数函数//清理界面printf("\t★☆★☆★☆★单位员 管理系统
<1>\t<2><3>\t<4><5>\t<6>
printf("\t★<7>保存记录 \t<8>加载记录 printf("\t★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆ //输 elsebreak;}return}intch){inti=(int)ch;returnreturn}voidInit(LinkList&L,int //初始L(LinkList)malloc(sizeof(ListNode)*i);分配内存if(L=={}}voidCrea inkList&L){ LinkListNewL;intpnum; //初始化 { //分配内存给//优化系统添加的!用于防止员 LinkList
//防止重复 //自创比较字符串算法,与strcmp相似if(SL- //num中5个字符的比较if(SL->data.num[n]==NewL- 个一个 //相同则比较下一个 //字符完全相同的话则执行下 } //初始化n}}}}//输入信息 intif(isChar(NewL- }scanf("%s",&NewL-} } } }else 输入}{intn;}f(int*{*pn=}voidload(LinkList&L){ LinkListprior;LinkListNewL(LinkList)malloc(sizeof(ListNode)); //分配内存给NewL //分配内存给//NewL->next=NULL;prior=NewL;//L= //fp只读,不存在则退出程序{}printf("\t员 \t员 号码 LinkList NewL= NewL->next= printf("\t%-8s\t%-8s\t%-14s\t%-NewL->data.num,NewL->,NewL->data.phone,NewL- prior->next= prior=L=BitchL- L- L-} L-}} //关闭文件 }voidsave(LinkListL){ LinkListNewL;LinkList //intif((fp=fopen("tongxun.txt","w"))==NULL)//fp只写{printf("\n文件打开失败 //打开失败则创}printf("\t员 \t员 号码\n");//纯属为了好 //令NowL指向最后一个有用的结点if(NowL->next==NULL)break;}while(NowL //NowL等于L是退出,为了按队列保存NewL=NewL-} //令NowL指向 NewL=NewL-} }intTraverse(LinkListL){ LinkListNowL;LinkListNewL;NowL=L;NewL=L;intprintf("\t列号\t员 \t员 号码\n");if(NowL->nextNULL) //令NowL指向最后一个有用的结点NowL=NowL-}while(NowL!=L){ while(NewL->nextNowL){NewL=NewL-}//按左对齐打印出屏幕printf("\t%-d\t%-8s\t%-8s\t%-14s\t%-8s\n",i,NowL->data.num,NowL-,NowL->data.phone,NowL- }returnwhile(NowL-printf("\t%8s\t%8s\t%14s\t%8s\n",NowL->data.num,NowL->,NowL- }voidInsert(LinkList LinkListNewL;intnum,i; scanf("%s",&NewL-LinkListSL;SL=L;intn=0; //下面算法为了防止重 }}}}//登记数据 num--printf("恭喜你!添加成功 //恭}else 输入}voidDele inkList&L){ LinkListNewL;intnum; //分配内存给新结点 //NewL指向L的头结 //遍历一次为了准确删除 //判断输入是否合法only=i- //队列排序和链表遍历顺序相反,因此列号与正真的顺序
if(only>=1){while(o}NewL->next=NewL->next //衔接被删除结点的以下结点}printf("删除成功}else 输入}voidmodify(LinkListL){ LinkListNewL; intnum;int //分配内存 //NewL直线 //记录列号 only--} printf("==============修改区================\n");//进入修改算法 printf("==============修改区printf("恭喜你!修改成功}else 输入 }voidinquiry(LinkListL){ LinkListNewL;charnum[5]="\0"; //临时结点NewL指向printf("\t员工 \t员工 while(NewL->next!=NULL) //按左对齐遍历printf("\t%-8s\t%-8s\t%-14s\t%-NewL->data.num,NewL->,NewL->data.phone,NewL- NewLNewL->next;//}if(L- //检测是否为空{ //用于检测是否输入正确{}
printf("选择'1' 查询,选择'2'按名字查询:\n");//本算法安排两种scanf("%d",&choose);if(choose==1||choose==2)break;//输入正确则退出检测循环elseprintf("请选择'1'或'2'!\n"); // 查 //清理屏幕//临时结点NewL指向L的printf("\t员工 \t员工 while(NewL->next!=NULL) {printf("\t%-8s\t%-8s\t%-14s\t%- NewL=NewL->next;//准备下一结点} //清理缓存while(NewL->next!=NULL){//检测是否到链表的尾if(!strcmp(num,NewL->data.num))//字符串的比较{ }NewLNewL->next;//if(NewL->next==NULL){//找不到则执行该语句 为%s的员工\n",num);}} //按名字查 优化查询写 //临时结点指向L的头结printf("\t员工 \t员工 while(NewL->next!=NULL) {printf("\t%-8s\t%-8s\t%-14s\t%- NewL=NewL->next;} printf("该员工的通讯信息为\ }else{//NewL=NewL-}}printf("很遗憾!%s\n",name);}}}else{//若链表为空这引导用户建表if(num[0]=='Y'||num[0]=='y') );//调用Create函数else //如果选N/n则没有任何动作}elseprintf("} }void intchoose; LinkListL; choose (L);//调用并得到返回的选case1:charch; casecasecasecase casecase7:save(L);break;caseload(L);break;printf("==}}}五、运行结果环”[:\Documnt5and5etting5\Admini5trator\桌面\匹bug\单位员 笞理.它云 ********单位员工湮讯录管理系统****** * (1>新建单位员工哩讯信 <2>杳询单位员工通讯信 *(3>添加单位员工通讯信 <4>修改单位员工通讯信息会息1会*<5>删除单位员工通讯信息息1已记<?>已记*
<6>显示所有员工通讥 会<8> 会 制:*请选择(按o退出系统)**************** 制:*环”[:\Documnt5肆讳踝kj
5etting5\Admini5trator\桌面\匹bug\单位员 笞理.它云 马马??cgycyp..吨毗'暑塌四环”[:\Documnt5四环”[:\Documnt5and5etting5\Admini5trator\桌面\匹bug\单位笞理.它云入成要功5除6?桉工560:?44环”[:\Documnt5and5etting5\Admini5trator\桌面\匹bug\单位员 笞理.它云 *******单位员工唾讯录管理系统******会 *(1>新建单位员工通讯信 <2>查询单位员工通讯信
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- huATN-658-MNPR-101-生命科学试剂-MCE
- 文明礼仪常规教育
- 把爱带回家-送法到家 让孩子健康成长
- 呼和浩特市教育系统所属事业单位人才引进笔试真题2024
- 小儿发热健康教育
- 内科医生常见工作范畴与技能要求
- 心理健康教育读书活动
- 炼铝厂试题带答案
- 学校后勤防恐防暴支持职责
- 煤矿生产副队长岗位职责
- GB/T 700-2006碳素结构钢
- GB/T 41419-2022数字化试衣虚拟人体用术语和定义
- GB/T 24218.1-2009纺织品非织造布试验方法第1部分:单位面积质量的测定
- GB/T 1633-2000热塑性塑料维卡软化温度(VST)的测定
- 《病毒学》(研究生)全册配套完整课件
- 第十七章其他熔化焊接与热切割作业课件
- 手术讲解模板:肩关节全部置换术课件
- 腧穴总论 2特定穴课件
- 数显压力表说明书
- JJF 1255-2010 厚度表校准规范-(高清现行)
- DB4409∕T 06-2019 地理标志产品 化橘红
评论
0/150
提交评论