收藏 分享(赏)

C语言课程设计1-1.ppt

上传人:ysd1539 文档编号:8147712 上传时间:2019-06-11 格式:PPT 页数:24 大小:789.50KB
下载 相关 举报
C语言课程设计1-1.ppt_第1页
第1页 / 共24页
C语言课程设计1-1.ppt_第2页
第2页 / 共24页
C语言课程设计1-1.ppt_第3页
第3页 / 共24页
C语言课程设计1-1.ppt_第4页
第4页 / 共24页
C语言课程设计1-1.ppt_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、1144127 于殿国,C语言程序设计,设计流程图,void 添加 条目,void 修改 条目,void 姓名 查询,void 删除 条目,Void 按电话 查找,Void 浏览,调用main主函数,开始,Void 清空,Void 保存并 退出,整体思路 一、定义结构体数组 Telephone 二、主函数采用switch语句分别执行不同的功能 将功能模块化分别进行处理 三、分别实现各个模块的空能 四、实现结构体的创建和保存(主要) 五、结构体指针的应用(.) 六、链表的使用,结构体的内容的输入和保存一、p1=(TEL *)malloc(sizeof(TEL); 申请节点为输入信息作准备 二、输

2、入信息 保存 void Open() FILE *fp;char *Book=“books.txt“;,if(fp=fopen(“books.txt“,“rb+“)=NULL)printf(“输出”)return;head=(TEL *)malloc(sizeof(TEL);head-next=NULL;temp=p2=head;while(! feof(fp) 循环读取,if(head=NULL)printf(“记录为空n“);return;elsep=head-next;if(fp=fopen(Book,“wb+“)=NULL)printf(“打不开文件n“);return;,while(

3、p!=NULL) 保存信息 fwrite(p,sizeof(TEL),1,fp);p=p-next;printf(“保存完毕“);fclose(fp) 释放链表空间,for(;head-next!=NULL;)p=head-next;head-next=head-next-next;free(p);free(head); ,void Open() FILE *fp;TEL *p1=NULL,*p2=NULL,*temp=NULL;if(fp=fopen(“books.txt“,“rb+“)=NULL)printf(“这是一个新通讯录“);return;,head=(TEL *)malloc(s

4、izeof(TEL);head-next=NULL;temp=p2=head;while(! feof(fp) 循环读取p1=(TEL *)malloc(sizeof(TEL);temp=p2;p2-next=p1;,fread(p1,sizeof(TEL),1,fp);temp-next=NULL;fclose(fp);关闭文件,void添加记录TEL *p1=NULL,*p2=NULL;p1=(TEL *)malloc(sizeof(TEL); 申请节点 输入记录p1-next=NULL; if(head=NULL)head=(TEL *)malloc(sizeof(TEL); head-

5、next=p1;,elsefor(p2=head;p2-next!=NULL;p2=p2-next); p2-next=p1; 找到节点尾printf(“此信息以添加n“); ,Void修改条目 TEL *p=head-next; char name20; if(head=NULL)printf(“记录为空无法查找n“);return;,printf(“请输入要修改的内容:n“);scanf(“%s“, ,Void 查找信息按姓名TEL *p;char findname20; 判断是否为空 如上printf(“输入要查找的姓名n“);scanf(“%s“,findname);for(p=hea

6、d-next;p!=NULL;p=p-next) 循环判断,if(strcmp(p-name,findname)=0) 查找 输出,查找信息按电话 TEL *p; char findtel20; 判断记录是否为空 输入要查找的电话 scanf(“%s“,findtel); for(p=head-next;p!=NULL;p=p-next)循环 for(p=head-next;p!=NULL;p=p-next)比较 输出,浏览TEL *p; for(p=head-next;p!=NULL;p=p-next) Printf 采用循环输出,清空TEL *p = head-next; 判断是否为空的函

7、数 是否确定清空 scanf(“%d“,p=p-next),memset(p-name,0,sizeof(p-name)*sizeof(char); 依次赋值 循环赋值 赋值0清空 输出清空成功,删除信息char findname20; 先按姓名查找然后删除 TEL *p=head-next, *pr = head-next; 判断是否为空 while (strcmp(p-name,findname)!=0 )& p-next != NULL) 查找相同记录,pr =p;p =p-next; 后一条覆盖前一条进行清空if (strcmp(findname, p-name)=0) 输出格式if (p = head-next) head-next = p-next; else pr-next = p-next; free(p); ,谢谢观赏,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报