资源预览内容
第1页 / 共44页
第2页 / 共44页
第3页 / 共44页
第4页 / 共44页
第5页 / 共44页
第6页 / 共44页
第7页 / 共44页
第8页 / 共44页
第9页 / 共44页
第10页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
C语言程序设计课程设计报告个人通讯录管理系统设计专 业_网络工程_ _ 班 级_(3)班_学 号_3148119322 姓 名_吴道金 _学 号_ 3148119319 _姓 名_ 林东垚 _学 号_ 3148119359 _姓 名_ 林家勇 _学 号_3149119349_姓 名_上官景铨_ _工程学院软件学院2015年 月 日(正文部分)一、需求分析建立一通讯录,输入、住址等信息,然后对通信簿进行显示、查找、添加、修改及删除。功能要求(1) 通讯录的每一条信息包括、单位、固定、移动手机、分类(如同事、朋友、同学、家人等)、EMAIL、QQ等。(2) 输入功能:可以一次完成若干条信息的输入。(3) 显示功能:完成全部通讯录信息的显示(一屏最多显示10条,超过十条应能够自动分屏显示)(4) 查找功能:可以按等多种方式查找通讯信息(5) 增加、删除、修改功能:完成通讯录信息的多种更新二、总体设计三、详细设计void menu(); /*菜单*/ void Add(); /*添加记录*/ void print(); /*输出记录*/ void Find(); /*查找记录( 按 )*/ void Delete(); /*删除记录*/ void SaveFree(); /*保存到文件*/ void Creat(); /*打开文件*/ 四、程序源代码#include #include #include struct list char name20; char addr20; char num20; char qq10; char phnum20; char email30; struct list *next; ; typedef struct list LIST; LIST *head=NULL; void menu(); /*菜单*/ void Add(); /*添加记录*/ void print(); /*输出记录*/ void Find(); /*查找记录( 按 )*/ void Delete(); /*删除记录*/ void SaveFree(); /*保存到文件*/ void Creat(); /*打开文件*/ void main() char c; Creat(); /*打开文件*/ while(1) menu(); /*显示菜单*/ scanf( %c,&c); switch(c) case 1:Add();break; /*添加记录*/ case 2:print(); break;/*输出条目*/ case 3:Find(); break;/*查找条目1.按*/ case 4:Delete(); /*删除信息*/ print(); break;/*输出删除后的结果*/ case 0:SaveFree(); /*保存并释放存*/ exit(0); /*退出*/ break; default: printf(选择错误!); break; /*菜单*/ void menu() printf(n*通讯录系统*n); printf(*t1.添加记录 *n); printf(*t2.输出记录 *n); printf(*t3.查询记录 *n); printf(*t4.删除记录 *n); printf(*t0.保存并退出! *n); printf(*n); printf(t请选择将要进行的操作:n); /*添加记录*/ void Add() LIST *p1=NULL,*p2=NULL; p1=(LIST *)malloc(sizeof(LIST); /*申请结点*/ printf(输入:n); /*添加信息*/ scanf(%s,p1-name); printf(输入地址:n); scanf(%s,p1-addr); printf(输入学号:n); scanf(%s,p1-num); printf(请输入qq号:n); scanf(%s,p1-qq); printf(输入:n); scanf(%s,p1-phnum); printf(请输入email:n); scanf(%s,p1-email); p1-next=NULL; /*保存到链表*/ if(head=NULL) head=(LIST *)malloc(sizeof(LIST); /*申请空间*/ head-next=p1; else for(p2=head;p2-next!=NULL;p2=p2-next); /*找到结点尾*/ p2-next=p1; printf(此记录已添加!); /*输出学生信息*/ void print() LIST *p=NULL; if(head=NULL) printf(这是一个新记录,请添加记录n); return; printf(*通讯录系统*n); /*输出信息*/ printf(tt地址t学号ttqqttttemailn); for(p=head-next;p!=NULL;p=p-next) printf(%stt%st%st%st%st%sn,p-name,p-addr,p-num,p-qq,p-phnum,p-email); /*查找信息1.按、2、按学号*/ void Find() LIST *p; char name120,num120; int i; printf(请输入查找方式1、按;2、按学号); scanf(%d,&i); if(i=1) printf(请输入要查找的:n); scanf(%s,name1); printf(*通讯录系统*n); printf(tt地址t学号tqqtttemailn); for(p=head-next;p!=NULL;p=p-next) if(strcmp(p-name,name1)=0) printf(%stt%st%st%st%st%sn,p-name,p-addr,p-num,p-qq,p-phnum,p-email); else if(i=2) printf(请输入要查找人的学号:n); scanf(%s,num1); printf(*通讯录系统*n); printf(tt地址t学号tqqttemailn); for(p=head-next;p!=NULL;p=p-next) if(strcmp(p-num,num1)=0) printf(%stt%st%st%st%st%sn,p-name,p-addr,p-num,p-qq,p-phnum,p-email); else printf(请选择1和2两哥数字n);/*删除信息*/ void Delete() char name120; /*先查找 后删除*/ LIST *p = head-next, *pr = head-next; printf(请输入要删除的:n)
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号