1、C语言课设存档资料 成绩: 华东交通大学理工学院课 程 设 计 报 告 书所属课程名称 C语言程序设计 题 目 通讯录管理系统 分 院 电 信 分 院 专业班级 11电气5班 学号 2011 学生姓名 指导教师 黄 建 华 20 12 年 6月 18日 目录第1章 需求分析 .?第2章 整体设计 .?第3章 详细设计 .?第4章 系统测试 .?第5章 课程设计心得 .?第6章 参考文献 .?第一章 需求分析 为了通讯、联系的方便,需要有通讯录的管理,具有查找、增加、删除、改动等功能,更加快捷,从而节省时间,是这个快节奏时代的必需品,因此通讯录更加丰富了我们的生活。第二章 整体设计第三章 详细设
2、计#include#include#includetypedef struct Telephone/定义名为Telephone的结构体 char name50; char sex30; char tel30; char city30; char eip30; struct Telephone *next;TEL;TEL *head;void Initiate();/开始void Menu();void Create();/的功能是:创建新的通讯录。void Add();/ 在通讯录的末尾,写入新的信息,并返回选单void Find();/查找记录void Alter();/修改记录如果未找到要
3、修改的人,则提示通讯录中没有此人的信息,并返回选单。void Delete();/删除某人的信息,如果未找到要删的人,提示通讯录中没有此人的信息,并返回选单。void List();/的功能是:显示通讯录中的所有记录。int main() int choice; char yes_no; Initiate(); do system(cls); Menu(); printf(请选择0-6的数字n); scanf(%d,&choice); printf(n); switch(choice) case 1:Create(); break; case 2:Add(); break; case 3:Fi
4、nd(); break; case 4:Alter(); break; case 5:Delete(); break; case 6:List(); break; case 0: printf(*感谢您的使用*n); exit(0); break; default: printf(输入有误!请重新输入n); break; printf(是否继续 Y or N? n); do scanf(%c,&yes_no); while(yes_no!=Y&yes_no!=y&yes_no!=N&yes_no!=n); while(yes_no=Y|yes_no=y);/初始化void Initiate()
5、 if(head=(TEL *)malloc(sizeof(TEL)=NULL) exit(1); head-next=NULL;/显示菜单void Menu() printf(*欢迎使用通讯录系统*); printf(n); printf(n); printf( 1.创建通讯录。n); printf( 2.插入信息。n); printf( 3.查询记录n); printf( 4.修改记录n); printf( 5.删除记录!n); printf( 6.显示所有记录n); printf( 0.退出通讯录n); printf( 请输入06 n);/创建通讯录void Create() TEL *
6、p1100,*p2; int m,i; printf(请输入创建个数:); scanf(%d,&m); for(i=1;iname); printf(性别:n); scanf(%s,&p1i-sex); printf(电话:n); scanf(%s,&p1i-tel); printf(城市:n); scanf(%s,&p1i-city); printf(邮编:n); scanf(%s,&p1i-eip); p1i-next=NULL; if(head-next=NULL) head-next=p1i; else for(p2=head;p2-next!=NULL;p2=p2-next); /找
7、到结点尾 p2-next=p1i; printf(信息已添加!n); return; /保存到链表/添加通讯录信息void Add() TEL *p,*q; if(q=(TEL *)malloc(sizeof(TEL)=NULL) exit(1); printf(请输入要添加的信息!n); printf(姓名:n); /添加信息 scanf(%s,&q-name); printf(性别:n); scanf(%s,q-sex); printf(电话:n); scanf(%s,q-tel); printf(城市:n); scanf(%s,q-city); printf(邮编:n); scanf(%
8、s,q-eip); for(p=head;p-next!=NULL;p=p-next) ; p-next=q; q-next=NULL; printf(此信息已添加!); return;/查找通讯录信息void Find() TEL *p; char name50; if(head-next=NULL) printf(此通讯录为空!n); return; printf(请输入要查找的姓名:n); scanf(%s,&name); for(p=head-next;p!=NULL;p=p-next) if(strcmp(p-name,name)=0) printf(姓名t性别t城市t邮编t电话n)
9、; printf(%st%st%st%st%sn,p-name,p-sex,p-city,p-eip,p-tel); else if(p-next=NULL) printf(无此信息!n); /修改通讯录信息void Alter() char name50; /先查找 后删除 TEL *p, *p1; if (head-next = NULL) printf(此通讯录为空!n); return; printf(请输入要修改的姓名:n); scanf(%s,name); for(p=head-next;p!=NULL;p=p-next) if(strcmp(p-name,name)=0) bre
10、ak; else if(p-next=NULL) printf(无此信息!n); return; p1=(TEL *)malloc(sizeof(TEL); printf(姓名:n); /添加信息 scanf(%s,p1-name); strcpy(p-name,p1-name); printf(性别:n); scanf(%s,p1-sex); strcpy(p-sex,p1-sex); printf(电话:n); scanf(%s,p1-tel); strcpy(p-tel,p1-tel); printf(城市:n); scanf(%s,p1-city); strcpy(p-city,p1-
11、city); printf(邮编:n); scanf(%s,p1-eip); strcpy(p-eip,p1-eip); printf(此信息已修改!n); /显示修改的信息 printf(姓名t性别t城市t邮编t电话n); printf(%st%st%st%st%sn,p-name,p-sex,p-city,p-eip,p-tel); free(p1);/删除通讯录信息void Delete() char name50; /先查找 后删除 TEL *p = head-next, *p1 =head-next,*p2; if (head-next = NULL) printf(此通讯录为空!n
12、); return; printf(请输入要删除的姓名:n); scanf( %s,name); while (strcmp(p-name,name)!=0 )& p-next !=NULL) p1=p; p =p-next; if (strcmp(name, p-name)=0) /输出删除信息 if (p = head-next&p-next!=NULL) head-next = p-next; else if(p=head-next&p-next=NULL) head-next=p-next; printf(信息已删除,先此通讯录为空!n); return; else p1-next =
13、 p-next; else printf(此信息不存在!n); return; printf(此信息已删除!n); printf(姓名t性别t城市t邮编t电话n); for(p2=head-next;p2!=NULL;p2=p2-next) printf(%st%st%st%st%sn,p2-name,p2-sex,p2-city,p2-eip,p2-tel);/显示所有记录void List() TEL *p; if(head-next=NULL) printf(此通讯录中无记录!n); return; printf(姓名t性别t城市t邮编t电话n); for(p=head-next;p!=
14、NULL;p=p-next) printf(%st%st%st%st%sn,p-name,p-sex,p-city,p-tel,p-eip);第四章 系统测试第五章 设计心得课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。回顾起此次课程设计,至今我仍感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,在整整一个星期的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学
15、过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,这毕竟独立做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体通过这次课程设计之后,一定把以前所学过的知识重新温故。第六章 参考文献1 谢希仁. 计算机网络(第五版)M. 北京:电子工业出版社,2008年2月2 胡小强 计算机网络M 北京:北京邮电大学出版社2005年1月3 姚大鹏 C语言实践教程【M】: 中国水利水电出版社致 谢
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1