资源预览内容
第1页 / 共17页
第2页 / 共17页
第3页 / 共17页
第4页 / 共17页
第5页 / 共17页
第6页 / 共17页
第7页 / 共17页
第8页 / 共17页
第9页 / 共17页
第10页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
通讯录系统的设计与实现 桂林电子科技大学 电信三班傅得耕3.1系统的需求分析通讯录系统作为一个应用软件将为人民提供一个可以串联人与人之间的信息的一个平台。根据系统界面的提示信息对通讯录进行查询、初始化等操作。系统功能需求分析描述如下: (1)创建联系人。 (2)显示所有联系人:显示可以进行的操作。(3)删除联系人。(4)查询:根据姓名进行查询,并可显示所有关于该人的信息。(5) :退出。3.2系统的设计3.2.1 系统的总体设计 下面从系统的整体流程的功能模块、系统界面及数据结构进行总体设计。 (1)总体思想 本系统主要设计思想是实现通讯录系统信息的创建联系人、删除、查找等主要功能。系统的设计方法是结构化实际方法,系统用C语言进行开发用户可以清晰的了解联系人的情况。 (2)系统模块结构图 根据需求分析结果,通讯录系统可以分为五大模块:创建联系人模块、显示功能模块、查找联系人功能模块、删除联系人模块以及退出模块。系统模块结构如图: 通讯录系统查找联系人删除联系人创建联系人显示联系人3.2.2 系统的概要设计 系统主菜单。 显示系统的主菜单,里面有相应的功能代码,根据选择各功能代码进入不同的界面。功能主要包括:退出系统、查询、创建显示及删除。 查询人物信息 进入此菜单功能模块,输入您要查询的图书的名字。图书查询模块流程如图:开始 提示输入姓名输入正确查询 否 是 重新输入 是退出系统 否3.3 测试结果系统主界面创建显示系统查询系统删除系统3.4 源代码#include #include #include #define LEN sizeof(struct people)struct peoplechar name10;char address50;char postcode7;char phonenum12;struct people * next;int n = 0, c;static struct people * head;void insert();void show();void delete(char *);void query(char *);int main(int argc, char const *argv)struct people * peo;char nam10;int i, choose = 0;for (i = 0; i 60; +i)printf(*);printf(ntttt通讯录n);printf(ttt1.创建联系人n);printf(ttt2.显示所有联系人n);printf(ttt3.删除联系人n);printf(ttt4.查找联系人n);printf(ttt5.退出nn);for (i = 0; i name);printf(地址:);scanf(%s, &p1-address);printf(邮编:);scanf(%s, &p1-postcode);printf(电话:);scanf(%s, &p1-phonenum);head = p1;p1-next = NULL;else p1 = head;while (p1-next != NULL)p1 = p1-next;p2 = p1;p1 = (struct people *)malloc(LEN);printf(姓名:);scanf(%s, &p1-name);printf(地址:);scanf(%s, &p1-address);printf(邮编:);scanf(%s, &p1-postcode);printf(电话:);scanf(%s, &p1-phonenum);p2-next = p1;p1-next = NULL;n += 1;void show()struct people * p;printf(姓名t 地址t 邮政编码t 电话号码n);p = head;if (head != NULL)doprintf(%s t %s %s t %s n, p-name, p-address, p-postcode, p-phonenum);p = p-next; while (p != NULL);void delete(char * name)struct people * p1, *p2;if (head = NULL)printf(没有数据n);p1 = head;while (strcmp(name, p1-name) & p1-next != NULL)p2 = p1;p1 = p1-next;if (!strcmp(name, p1-name)if (p1 = head)head = p1-next;elsep2-next = p1-next;printf(已经删除%s的数据n, name);n = n - 1;else printf(找不到这个人n);void query(char * name)struct people * p;p = head;if (head != NULL)doif (!strcmp(name, p-name)printf(姓名:%sn, p-name);printf(地址:%sn, p-address);printf(邮编:%sn, p-postcode);printf(电话:%sn, p-phonenum);p = p-next; while (p != NULL);elseprintf(输入错误n);第四章 心得体会经过一个多星期的编译原理课程设计,在我的努力下,顺利完成该课程设计。通过该课程设计,掌握了编译程序工作的基本过程及其各阶段的基本任务,熟悉了编译程序总流程框图,了解了编译程序的生成过程及其相关的技术,对课本上的知识也有了更深的理解。老师常说,课本上的知识是机械的,表面的,要学会去运用,要举一反三。现在终于深刻的了解了这句话。经过这次的课程设计,发现书本上很深奥的知识变的更为简单,同样,对实验原理也了有更深的理解。知道和理解了该理论在计算机中是怎样执行的, 对该理论在实践中的应用有深刻的理解 。通过该课程设计,把死板的课本知识变得生动有趣,激发了学习的积极性。能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。课程设计中程序比较复杂,在调试时应该仔细,在程序调试时,注意指针,将不必要的命令去除。除了课堂外,课程设计是最能学到东西的,最考验人的。在做课程设计的这段时间,时刻都感到自己学的知识有多么的贫瘠。经过这次课程设计,让我对C这门语言有了更深的认识,操作能力有了提高要想是写出的代码能运行,需要耐心细心,毅力以及充沛的体力。只有经过多次编辑,多次编译,再多次运行,才能编写出更好的程序,有时候需要多次的更正才能达到所要的运行结果。参考文献谭洁强 C程序设计第二版 清华大学出版社 16
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号