c语言简易通讯录报告.docx

上传人:牧羊曲112 文档编号:3155355 上传时间:2023-03-11 格式:DOCX 页数:9 大小:38.92KB
返回 下载 相关 举报
c语言简易通讯录报告.docx_第1页
第1页 / 共9页
c语言简易通讯录报告.docx_第2页
第2页 / 共9页
c语言简易通讯录报告.docx_第3页
第3页 / 共9页
c语言简易通讯录报告.docx_第4页
第4页 / 共9页
c语言简易通讯录报告.docx_第5页
第5页 / 共9页
亲,该文档总共9页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《c语言简易通讯录报告.docx》由会员分享,可在线阅读,更多相关《c语言简易通讯录报告.docx(9页珍藏版)》请在三一办公上搜索。

1、c语言简易通讯录报告 实习报告 需求分析 建立一个通讯系统,系统中保存着人员的姓名,电话,住址,邮编等信息,通过该系统的界面可以浏览这些信息,也可以插入,添加及删除某个人的信息 1)录入人员信息,创建通讯录文件 2)进行相应的插入,添加,删除操作,并输出相应的结果 确定设计程序接收的输入数据和输出数据的形式、取值范围; 每条通讯录包含姓名,街道,城市,邮编,电话号码。都以字符型数组存储,分别定义为15、30、20、20、20字节长。输入同输出。 初步列出测试数据以及测试目的; 程序设计 说明程序中用到的所有数据类型的定义。绘制主程序的流程图,以及各子程序模块间的调用关系 流程图: 开始 选择数

2、字0进入输入信息 获取数据 分支选择 输入信息子程序 显示信息子程序 查找信息子程序 结束信息子程序 输出错误信息 结束 调式分析 列出调式过程中遇到的主要问题,并说明解决方法; 链表和结构体在实习刚开始时理解不透彻,只知道大概需要用到程序中,翻阅了一些资料后基本学会使用了。开始用if,else语句轮寻菜单中用户输入的数字对应功能,后来发现用swith,case更方便灵活。 分析算法的时间和空间复杂度,如果有给出算法改进思想; 作为一个完整可用的通讯录还缺少保存信息到硬盘功能。但本人基础较薄,有限的实习时间内无法完成。希望今后有机会继续完善。 使用说明 说明编写程序的使用方法,详细列出每一操作

3、步骤; 测试结果 列出若干输入的测试数据、测试目的、产生的结果; 简易通讯录系统: Designed by Irene = 输入纪录-0 显示所有纪录-1 查询纪录-2 删除纪录-3 退出-4 = 请输入数字(04)选择,enter确定并输入: 0 姓名 街道 城市 邮编 - Irene df bj 100034 110 - 继续输入吗?(Y/N) y 姓名 街道 城市 邮编 - eric fd bj 100076 119 - 继续输入吗?(Y/N) y 姓名 街道 城市 邮编 - rare ij bj 100056 120 - 继续输入吗?(Y/N) n 简易通讯录系统: Designed

4、by Irene = 输入纪录-0 显示所有纪录-1 查询纪录-2 删除纪录-3 退出-4 = 请输入数字(04)选择,enter确定并输入: 1 显示所有记录如下: - 姓名 街道 城市 邮编 - Irene df bj 100034 - eric fd bj 100076 - rare ij bj 100056 - 简易通讯录系统: Designed by Irene = 输入纪录-0 显示所有纪录-1 查询纪录-2 删除纪录-3 退出-4 = 请输入数字(04)选择,enter确定并输入: 2 请输入姓名进行查询: Irene - 姓名 街道 城市 邮编 - Irene df bj 10

5、0034 - 查询成功! 继续查询?(Y/N) n 简易通讯录系统: Designed by Irene = 输入纪录-0 显示所有纪录-1 查询纪录-2 删除纪录-3 退出-4 = 请输入数字(04)选择,enter确定并输入: 3 请输入姓名删除纪录: eric 确定要删除吗?(Y/N) y Success to delete! 简易通讯录系统: Designed by Irene = 输入纪录-0 显示所有纪录-1 查询纪录-2 删除纪录-3 退出-4 = 请输入数字(04)选择,enter确定并输入: 其他 注释源程序代码; #include #include #include typ

6、edef struct txl char name15; char street30; char city20; char eip20; char phone20; dtxl; /*建立通讯录信息结构体;*/ typedef struct dlnode dtxl data; struct dlnode *prior; struct dlnode *next; dnode; /*建立双向链表结构体;*/ dnode *head; void enter(void) dnode *p,*rear; char flag=Y; head=(dnode *)malloc(sizeof(dnode); re

7、ar=head; head-next=head; head-prior=head; /*建立双链表空头节点;*/ while(flag=Y|flag=y) p=(dnode *)malloc(sizeof(dnode); printf( 姓名 街道 城市 邮编 电话n); printf(-n); scanf(%s %s %s %s %s,&p-data.name,&p-data.street,&p-data.city,&p-data.eip,&p-data.phone); rear-next=p; p-prior=rear; rear=p; p-next=head; /*向双链表中动态增加节点

8、数据;*/ printf(-n); printf(继续输入吗?(Y/N)n); scanf(%s,&flag); printf(n); /显示子程序 void display(dnode *head) dnode *p; p=head-next; printf(显示所有记录如下:n); printf(-n); printf( 姓名 街道 城市 邮编 电话n); printf(-n); while(p!=head) printf(%s %8s %8s %8s %8s,p-data.name,p-data.street,p-data.city,p-data.eip,p-data.phone); p

9、rintf(n); printf(-nn); p=p-next; dnode *search(dnode *head) dnode *p; char name9; p=head-next; scanf(%s,name); while(p!=head&p&strcmp(p-data.name,name)!=0) p=p-next; return p; /删除子程序 void delete(dnode *head) char f; dnode *p; p=search(head); if(p=head) printf(没有找到要删除的数据!nn); return; else printf(确定要删

10、除吗?(Y/N)n); scanf(%s,&f); if(f=Y|f=y) p-prior-next=p-next; p-next-prior=p-prior; free(p); printf(Success to delete!n); /退出子程序 void quit(void) exit(0); /主程序 void main char flag=Y; for(;) dnode *q; int ch; printf(简易通讯录系统:n); printf( Designed by Irenenn); printf(=n); printf( 输入纪录-0n); printf( 显示所有纪录-1n

11、); printf( 查询纪录-2n); printf( 删除纪录-3n); printf( 退出-4n); /*通讯录提示信息;*/ printf(=n); printf(请输入数字(04)选择,enter确定并输入:n); scanf(%d,&ch); /菜单分支选择 switch(ch) case 0: enter;break; case 1: display(head);break; case 2: jmp: printf(请输入姓名进行查询:n); q=search(head); if(q!=head) printf(-n); printf( 姓名 街道 城市 邮编 电话n); pr

12、intf(-n); printf(%s %8s %8s %8s %8s,q-data.name,q-data.street,q-data.city,q-data.eip,q-data.phone); printf(n-n); printf(查询成功!n); printf(n继续查询?(Y/N)n); scanf(%s,&flag); if(flag=Y|flag=y) goto jmp; else printf(对不起,没有此数据相关的纪录!nn); break; case 3: printf(请输入姓名删除纪录:n); delete(head);break; case 4: quit;break; default: printf(nn按错键了吧?请输入数字0-6!nnn); /*用SWITCH函数选择菜单;*/ 如果结果中有多个文件,列出文件名清单,注明每个程序的作用。 /输入子程序 void enter(void) /显示子程序 void display(dnode *head) /查询子程序 dnode *search(dnode *head) /删除子程序 void delete(dnode *head) /退出子程序 void quit(void) /主程序 void main

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号