C语言课程设计手机通讯录管理系统.doc

上传人:夏** 文档编号:562052289 上传时间:2023-04-10 格式:DOC 页数:33 大小:376.50KB
返回 下载 相关 举报
C语言课程设计手机通讯录管理系统.doc_第1页
第1页 / 共33页
C语言课程设计手机通讯录管理系统.doc_第2页
第2页 / 共33页
C语言课程设计手机通讯录管理系统.doc_第3页
第3页 / 共33页
C语言课程设计手机通讯录管理系统.doc_第4页
第4页 / 共33页
C语言课程设计手机通讯录管理系统.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

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

1、 C语言课程设计手机通信录管理系统 院 系:材化学院 姓 名:梁 顺 飞学 号:20141001736 班 号:031143-13 指导教师:张 冬 梅2014年12月 目录 一 题目要求- 1 -二 需求分析- 1 -三 总体设计- 1 -四 详细设计- 2 -1.主函数- 2 -2.各功能模块设计- 4 -(1)查看模块- 4 -(2)增加模块- 6 -(3)修改模块- 8 -(4)删除模块- 10 -(5)显示模块- 11 -3.公共函数- 13 -五 上机操作- 13 -1.数据源- 13 -2.编译、连接和运行- 14 -3.结果- 14 -(1)主菜单函数- 15 -(2)查看模块

2、- 15 -(3)增加模块- 17 -(4)修改模块- 19 -(5)删除模块- 21 -(6)显示模块- 22 -(7)退出模块- 23 -六 总结- 24 -附录 源程序- 25 -一 题目要求模拟手机通讯录管理系统,实现对手机中的通讯录进行管理。功能要求如下:(1)查看功能:选择此功能时,列出下列三类选择。A:办公类B:个人类C:商务类当选中某类时,显示出此类所有数据中的姓名和电话号码 (2)增加功能:能录入新数据每个结点包括:姓名,电话号码,分类(办公类、个人类、商务类),电子邮件。例如:杨春,13589664454,商务类,。当录入重复的姓名和电话号码时,则提示数据录入重复并取消录入

3、;当通讯录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。(3)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改。(4)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。二 需求分析根据题目要求,由于通信录信息是存放在文件中,所以应提供文件的输入、输出等操作;在程序中需要浏览个人的信息,应提供显示、查找、增加、删除等操作;另外还应提供键盘式选择菜单实现功能选择。三 总体设计根据上面的需求分析,可以将这个系统的设计分为如下六大模块:查找、增加、修改、删除、显示、退出。手机通信录管理系统数据查找数据增加数据修

4、改数据删除数据显示退出图1.1 系统功能模块图四 详细设计1.主函数主函数一般设计得比较简洁,只提供输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。如图1.2显示一系列功能选项输入n,判断n是否是0-9根据n的值调用各功能模块函数NY图1.2 主函数流程图程序/*菜单*/void menu() /*主界面*/int n,w1;/*变量n保存选择菜单数字,w判断输入的数字是否在功能菜单对应数字范围内*/ do puts(tt*MENU*nn);puts(tttt 1. 查询成员资料);puts(tttt 2. 增加一位成员资料);puts(tttt 3. 修改一位成员资料);put

5、s(tttt 4. 删除一位成员资料);puts(tttt 5. 成员总名单查看);puts(tttt 6. 退出系统);puts(nntt*n);printf(请选择您要执行的功能(1-6): bb);scanf(%d,&n);if(n5)w1=1;getchar();else w1=0; while(w1=1); switch(n) case 1:search();break; /*查看模块*/ case 2:add();break; /*增加模块*/ case 3:modify();break; /*修改模块*/ case 4:del();break; /*删除模块*/ case 5:b

6、rowse();break; /*显示模块*/ case 6:exit(0); /*退出*/ /*主函数*/main ()menu ();2.各功能模块设计(1)查看模块数据结构我们的原始数据只有一类,为个人通信录信息,取名为:person.txt。分析单独看各数据信息,姓名、电话号码、分类、电子邮件都是字符型,可以采用字符型数组。数据信息存放在文件中,一条记录对应一个人,既符合习惯又方便信息管理。现在要考虑的问题是:一个人的记录从文件中读出来后以什么形式存放?我们应该很容易想到:每个人的信息是不是可以采用结构体的形式呢?这样把个人通信信息的姓名、电话号码等作为结构体成员不就可以把一个人的信息

7、作为一个整体来处理了吗?如果要存放若干个人的信息就用结构体数组。 struct personchar name10;char phone11;char classify10;char e_mile20;perN; char A=office;char B=single;char C=business;注意stuN中N为所有记录人的个数,程序中采用宏定义的方式,可以随时在源程序宏定义中改,本程序宏定义#define N 15。同时还定义三种分类:办公类、个人类、商务类。流程图输入要找人的分类判断输入的分类是否存在 Y N 显示不存在显示这类人的姓名和电话号码 返回菜单图1.3 查看模块流程图程序

8、 /*查看功能*/search() void menu();int n,j,k=-1; char p10; n=load(); printf(nnClassify A:officenClassify B:singlenClassife C:businessnn Enter classify that you want to search! Classify:); /*输入要找的人的分类*/ scanf(%s,p); for(j=0;jn;j+) if(strcmp(p,perj.classify)=0) k=j; printf(n(%d).%s %sn,j,perj.name,perj.pho

9、ne); if(k=-1) /*如果要查找的分类不存在,则显示不存在*/ printf(nnNO EXIST!); menu();(2)增加模块需求分析该模块的功能是:能录入新数据每个结点包括:姓名,电话号码,分类(办公类、个人类、商务类),电子邮件。当录入重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通讯录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。流程图输入要增加人的姓名和电话号码 判断输入的姓名和电话号码是否已经存在 Y N 判断记录是否超过15条显示已存在Y N Y N继续输入这个人的分类和电子邮件显示空间储存已满 返回菜单 图1.4 增加模块流程图程序/*增加功能*/void add() void menu();int n,j; FILE *fp; char name10,classify10,e_mile20; char phone11; n=load(); printf(nnThe name and phone of the person you want to add are:nn); /*输入要增加人的姓名和

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

当前位置:首页 > 高等教育 > 大学课件

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