手机通信录管理系统设计C语言课程设计

上传人:M****1 文档编号:464330501 上传时间:2023-05-27 格式:DOC 页数:34 大小:122.50KB
返回 下载 相关 举报
手机通信录管理系统设计C语言课程设计_第1页
第1页 / 共34页
手机通信录管理系统设计C语言课程设计_第2页
第2页 / 共34页
手机通信录管理系统设计C语言课程设计_第3页
第3页 / 共34页
手机通信录管理系统设计C语言课程设计_第4页
第4页 / 共34页
手机通信录管理系统设计C语言课程设计_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《手机通信录管理系统设计C语言课程设计》由会员分享,可在线阅读,更多相关《手机通信录管理系统设计C语言课程设计(34页珍藏版)》请在金锄头文库上搜索。

1、 通信录管理系统设计C语言课程设计 通信录管理系统设计要求 模拟 通信录管理系统,实现对 中的通信录进行管理。功能要求如下:(1)查看功能:选择此功能时,列出以下三类选择。办公类个人类商务类中选中某类时,显示出此类所有数据中的姓名、 号码和电子邮件。(2)增加功能:能录入新数据。 一个结点包括:姓名、 号码、分类(办公类、个人类、商务类)、电子邮件。例如:杨* 135896*商务类 *。 当录入了重复的姓名和 号码时,那么提示数据录入重复并取消录入;当通信录中超过15条信息时,储存空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。(3)修改功能:选中某个人姓名时,可对此人

2、的相应数据进行修改。(4)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。【需求分析】根据题目要求,由于联系人信息时存放在文件中,所以应提供文件的输入、输出等操作;在程序中需要查看联系人信息,应提供显示、查看功能;要实现修改和删除联系人功能,所以应提供对文件的修改和删除操作。【总体设计】以下分析整个系统,根据上面的需求分析,可将这个系统的设计分为四大模块(如图一): 图一 系统功能模块图【详细设计】 主函数 主函数设计比拟简洁,仅有一个语句。程序main /*主函数*/ menu; 主菜单 主菜单函数提供用户对系统功能的选择,包括浏览联系人、增加联系人、修改

3、联系人、删除联系人。该函数的流程图如图二所示。程序如下,这样编写的目的在于系统执行完每局部模块后能够方便返回到系统界面。 图二 主菜单流程图 程序 void menu /*菜单函数*/ int n0,w1;doputstt*MENU*nn;putstttt1.Browse all;putstttt2.Add members;putstttt3.Modify information;putstttt4.Delete information;putsnntt*n;printfChoose your number1-4: bb;scanf%d,&n;ifn1|n4w11;getchar;elsew1

4、0;whilew11;switchncase 1:browse;break; /*浏览联系人模块*/case 2:add;break; /*增加联系人模块*/case 3:modify;break; /*修改联系人模块*/case 4:del;break; /*删除联系人模块*/ 各联系人信息包括有姓名、 号码、联系人类型、电子邮件。可以使用结构体数组,那么姓名、 、类型和电子邮件作为结构体成员。 struct member/*联系人结构体*/ char name20; /*联系人姓名*/char tel11; /*联系人 */int type; /*联系人类型:1为办公类;2为个人类;3为商

5、务类*/char email30; /*联系人电子邮件*/ memN; /*N为全局变量,表示能够储存的联系人数量*/ 注意:memN中的N为联系人数目,程序中采用宏定义的方式,可以随时在源程序宏定义中修改,本程序宏定义#define N 15. 浏览联系人模块需求分析 该模块的功能是使用户可以浏览或者分类浏览各联系人信息。如图三所示,当用户输入1、2、3、4时,分别显示办公类联系人、个人类联系人、商务类联系人和所有联系人。 图三 浏览联系人模块流程图 程序 void browse /*浏览联系人函数*/ int m,n0,w1;mload;doputsnntt *BROWSR*;putstt

6、tt1.show clerical members; /*查询办公类联系人*/putstttt2.show personal members; /*查询个人类联系人*/putstttt3.show commercial members; /*查询商务类联系人*/putstttt4.show all members;/*查询所有联系人*/putstttt5.return to menu; /*返回菜单*/printfChoose your number1-5: bb;scanf%d,&n;ifn1|n5w11;getchar;elsew10;whilew11;ifn1printf_clem;/*

7、显示办公类联系人*/putsninformation has been showed,Press any key to return to menun;systempause; /*暂停系统工作*/getchar;menu;else ifn2printf_perm;/*显示个人类联系人*/putsninformation has been showed,Press any key to return to menun;systempause; /*暂停系统工作*/getchar;menu;else ifn3printf_comm;/*显示商务类联系人*/putsninformation has

8、 been showed,Press any key to return to menun;systempause; /*暂停系统工作*/getchar;menu;else ifn4printf_allm;/*显示商务类联系人*/putsninformation has been showed,Press any key to return to menun;systempause; /*暂停系统工作*/getchar;menu;elsemenu; 增加联系人模块需求分析该模块的功能是使用户实现增加新联系人的功能,从键盘输入新联系人信息并参加到原文件中。该模块流程图如图四所示。 程序 void

9、 add int m,w1,n,t,w2,i,j; /*m为现有联系人数量*/mload;/*加载联系人信息,并将联系人数量输入m*/ifmN 图四 增加联系人模块流程图printfthere is no terabytes to saven;printfPress any key to return to menu.;getchar;systempause;menu;elseputstplease input contracts name:; /*输入联系人姓名*/scanf%s,memm.name;/*将联系人姓名保存至结构体*/putstplease input contracts te

10、lephone number:;scanf%s,memm.tel;do/*选择联系人类型语句*/putsnnnnnplease choose contracts type:nnn;puts1,clericalt;puts2,personalt;puts3mercialt;putsplease choose contracts type: bb;scanf%d,&n;ifn!1&n!2&n!3w11;getchar;elsew10;whilew11;switchn/*将联系人类型信息存入结构体中*/case 1:memm.type1;break;case 2:memm.type2;break;c

11、ase 3:memm.type3;break;putstplease input contracts email address:;scanf%s,memm.email;doputsAre you sure to save 1.yes2.no bb;scanf%d,&t;ift1|t2w21;getchar;elsew20;whilew21;ift1fori0;im;i+ifstrcmpmemi.name,memm.name0putsname has existed!cannot save,Press any key to meun!;forj0;j20;j+memm.namej0;forj0

12、;j11;j+memm.telj0;memm.type0;fori0;i30;i+memm.emailj0;systempause;menu;ifstrcmpmemi.tel,memm.tel0putstelephone number has existed!cannot save,Press any key to menu!;forj0;j20;j+memm.namej0;forj0;j11;j+memm.telj0;memm.type0;fori0;i30;i+memm.emailj0;systempause;menu;savem;/*保存联系人信息至文本文档*/putsinformation saved!n;putsthere follows all the informations:n;printf_allm+1;getchar;putsPress any key to return to menu;systempause;menu;ift2 /*如果用户不保存,那么将刚刚存入结构体中的数据删除*/fori0;i20;i+memm.namei0;fori0;i11;i+memm.teli0;memm.type0;fori0;i30;i+memm.emaili0;putsinformation not saved!n;putsthere follows

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号