1、 程序设计课程设计报告 题题 目:目:学生通讯录管理 班班 级:级: 设设 计计 者:者: 时时 间间: : 得得 分:分: 通讯录管理系统通讯录管理系统 【设计目的设计目的】 设计“通讯录管理系统”使其具有数据插入、修改、删除、显示和查询等功能。 (1) 数据包括:人名、工作单位、电话号码和 E-mail 地址。 (2) 可对记录中的姓名和电话号码进行修改。 (3) 可增加或删除记录。 (4) 可显示所有保存的记录。 (5) 可按人名或电话号码进行查询。 【设计思路设计思路】 根据要求,电话簿数据以文本文件存放在文件中,故需要提供文件的输入、输出等操作;还 需要保存记录以进行修改, 删除,
2、查找等操作; 另外还应提供键盘式选择菜单实现功能选择。 【总体设计总体设计】 图 1 系统功能模块图 【详细设计详细设计】 1. 主函数 主函数设计要求简洁,只提供部分提示语和函数的调用 【程序】 通讯录管理系统 数据输入 数据修改 删除 数据添加 查找 浏览 图 2. 主函数流程图 V oid menu() /*主界面*/ int n, w1; void enter(); void add(); void modify(); void browse(); void deleter(); void search(); do puts(“t*菜单*tnn“); puts(“tttt1.新建联系人
3、“); puts(“tttt2.添加联系人“); puts(“tttt3.修改“); puts(“tttt4.删除“); puts(“tttt5.浏览“); puts(“tttt6.查找“); puts(“tttt7.退出“); puts(“nnt*通讯录*tn“); printf(“请选择服务种类(1-7) : bb“); scanf(“%d“, if(n7) w1=1;getchar(); else w1=0; while(w1=1); switch(n) case 1: enter(); break; /*输入模块*/ case 2: add(); break; /*添加模块*/ 显示一
4、系列功能选项 输入n, 判断n是否是17 ? 根据 n 的值调用各功能模块函数 结束 开始 n 附录:源代码 #define N 50 #include #include struct people char name20; char company50; char num15; char mail20;peopN; void printf_face() printf(“nt 姓名t 单位t 电话号码t 邮箱n“); void printf_one(int i) printf(“t%st%st%st%sn“,peopi.name,pany,peopi.num,peopi.mail); void
5、 printf_n(int n) int j; for(j=0;jnn 1).姓名 2).单位 3).电话号码 4).邮箱 5).所有数据 6).取 消并返回“); printf(“请选择?: bb“); scanf(“%d“, if(c6|c6|c1); do switch(c) case 1: printf(“name:“); scanf(“%s“,peopi.name); break; case 2: printf(“company:“); scanf(“%s“,pany); break; case 3: printf(“number:“); scanf(“%s“,peopi.num); break; case 4: printf(“e-mail:“); scanf(“%s“,peopi.mail); break; case 5: input(i); break; case 6: menu(); puts(“nNow:n“); printf_face(); prin