《C语言课程设计通讯录管理系统1 .doc》由会员分享,可在线阅读,更多相关《C语言课程设计通讯录管理系统1 .doc(19页珍藏版)》请在三一办公上搜索。
1、课程设计报告书课程名称: C语言课程设计 班 级: 学 号: 姓 名: 指导老师: 设计时间: 通讯录课程设计一 设计要求和目的二 概要设计系统功能模块图:添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱后,会提示是否继续添加。显示:可以以表格形式输出所有通讯录里的记录删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容查询:可以选择用姓名、电话、地址三种方式查询修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改保存:,输入文件名(带后缀名)后,即可将通讯录信息保存到文件一 详细设计(1).通讯录:t
2、ypedef struct char score; /*编号*/char name10; /*姓名*/ char num15; /*号码*/ char email20;/*邮箱*/char age8;/*年龄*/char adds20;/*住址*/Person;void main() /*主函数*/ int n=0; for(;) switch(menu_select() case 1: printf(nt添加记录到通讯录n); /*添加记录*/ n=Input(pe,n); break; case 2: printf(nttt 通讯录记录表n); /*显示记录*/ Display(pe,n)
3、; break;case 3: printf(nt从通讯录中删除记录n); n=Delete_a_record(pe,n); /*删除记录*/ printf(t); system(pause); break; case 4: printf(nt在通讯录中查找记录n); Query_a_record(pe,n); /*查找记录*/ printf(t); system(pause); break;case 5: printf(nt修改通讯录中的记录n); Change(pe,n); /*修改数据*/ printf(t); system(pause); break; case 6: printf(n
4、t保存功能n); WritetoText(pe,n); /*保存数据*/ printf(t); system(pause); break; case 0: printf(ntt谢谢使用,再见!n); /*结束程序*/ printf(ntt); system(pause); exit(0); (2).工作流程图:添加:添加通讯录记录显示:显示通讯录记录删除:删除通讯录记录查询:查询通讯录记录先选择查询方式,以姓名查询方式为例 修改:修改通讯录记录二 源程序代码#include#include#include typedef struct Studentlong id;char name20; c
5、har sex5; char age4;char Birthday15;char phone12; char email20;char address50; struct Student *next;Stud;void add(Stud *head)Stud * p = (Stud *)malloc(sizeof(Stud); printf(请输入学号:);scanf(%d, &p-id); printf(请输入姓名:);scanf(%s, &p-name); printf(请输入性别boy或girl:);scanf(%s, &p-sex); printf(请输入年龄:);scanf(%s,
6、&p-age); printf(请输入出生年月:);scanf(%s, &p-Birthday); printf(请输入联系方式:);scanf(%s, &p-phone); printf(请输入E-mail:);scanf(%s, &p-email); printf(请输入通信地址:);scanf(%s, &p-address);p-next = head-next;head-next = p;void search(Stud *head, int id)Stud * p = head-next;while(p!=NULL)if(p-id=id) printf(学号:%d ,p-id); p
7、rintf(姓名:%s ,p-name);printf(性别;%sn,p-sex); printf(年龄:%sn, p-age); printf(出生年月:%sn, p-Birthday); printf(联系方式:%sn, p-phone); printf(E-mail:%sn, p-email); printf(通信地址:%sn, p-address);break; else p = p-next; void del(Stud *head, int id) Stud * p = head; while(p-next!=NULL) if(p-next-id = id)Stud * q = p
8、-next;p-next = q-next; free(q);break;else p = p-next;void print(Stud *head) Stud * p = head-next; while(p!=NULL) printf(学号:%d ,p-id); printf(姓名:%s ,p-name);printf(性别:%sn,p-sex);printf(年龄:%sn, p-age);printf(出生年月:%sn, p-Birthday); printf(联系方式:%sn, p-phone); printf(E-mail:%sn, p-email); printf(通信地址:%sn
9、, p-address);p=p-next;void modi(Stud *head,int id) Stud * p = head; while(p-next!=NULL) if(p-next-id = id)Stud * q = p-next;p-next = q-next; free(q);break;else p = p-next;p = (Stud *)malloc(sizeof(Stud); printf(请重新输入学号:);scanf(%d, &p-id); printf(请重新输入姓名:);scanf(%s, &p-name); printf(请重新输入性别boy或girl:)
10、;scanf(%s, &p-sex); printf(请重新输入年龄:);scanf(%s, &p-age); printf(请重新输入出生年月:);scanf(%s, &p-Birthday); printf(请重新输入联系方式:);scanf(%s, &p-phone); printf(请重新输入E-mail:);scanf(%s, &p-email); printf(请重新输入通信地址:);scanf(%s, &p-address);p-next = head-next;head-next = p;void main() Stud * head = (Stud*)malloc(sizeo
11、f(Stud); head-next = NULL; while(1) int ch;printf( 1 增加学生 2 删除学生 3 查询学生信息n 4 打印学生信息 5 修改学生信息 0退出程序n); scanf(%d, &ch);switch(ch)case 0: return;case 1: add(head); break;case 2: int id;printf(输入删除学生的学号:);scanf(%d, &id);del(head, id);break;case 3:int id;printf(输入查询学生的学号:);scanf(%d, &id);search(head, id);break;case 4: print(head); break; case 5:int id;printf(输入修改学生的学号:);scanf(%d, &id);modi(head, id);break;default: printf(输入错误n);三 测试数据及其结果分析测试:1)显示的主菜单界面2)添加界面:3)显示界面:4)删除界面:删除后,通讯录里的显示记录:5)查询界面:以姓名查询方式为例:6)修改界面:修改后,通讯录里的显示记录:7)保存界面:四 课程设计总结