通讯录管理系统的设计与实现精选文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通讯录管理系统的设计与实现精选文档
TTMS system office room 【TTMS16H-TTMS2A-TTMS8Q8-
大连民族大学
计算机科学与工程学院实验报告
实验题目:1. 学生信息管理系统的设计与实现
2. 暴力算法在旅行商问题中的应用
课程名称:信息系统开发案例
实验类型:□演示性□验证性□操作性□设计性综合性
专业:软件工程班级:144
学生姓名:赵耀学号:30
实验日期:2017年3月6日—4月27日
实验地点:金石滩校区I303机房
实验学时:24学时实验成绩:
指导教师:赵戈
通讯录管理系统的设计与实现
摘要
本项目用C++语言开发了一个简单的通讯录管理系统,该系统能对联系人
信息进行“增删改查”。系统的UI设计基于Windows系统自带的控制台。测试结
果表明该通讯录管理系统可以稳定正确运行,具有较高的可靠性。
关键词:通讯录管理系统;C++语言;Windows 控制台
目录
1.选题的背景和意义
当今时代,计算机已经成为人们生活中不可或缺的一部分,它打破了地域时间限制,改变了人们的工作和生活方式。人们之间的联系越来越便捷,这就使得要经常与很多人保持着联系,而单纯依靠人脑已经很难记住所有人的联系方式还有其各做附加信息。通讯录系统能方便用户的需求,满足用户迅速、准确的查找修改或者删除联系人信息,把各个联系人信息以文件保存。本文介绍了c++编写简易通讯录管理:系统的分析,功能模块的设计,系统的流程图及运行界面。此系统的主要管理的信息由:联系人的姓名、性别、电话号码,加深对c++语言程序设计的理解,提高算法设计的能力,锻炼编程的能力。用c 语言编程一个通讯录管理系统软件,要求能实现通讯录管理系统中的增加信息,删除信息,显示通讯里的所有信息,按名字查询信息,保存通讯录,退出系统。。
2.需求分析
用例图
通讯录管理系统的用例图如下图所示:
图用例图
用例文本
表输入联系人的用例文本用例编号001
用例名称输入联系人
用例描述首次输入联系人的姓名,电话号码,地址参与者用户
前置条件无
后置条件联系人信息记录存入内存
主事件流 1.系统显示输入前的通讯录人员表
2.用户输入联系人姓名
3.用户输入联系人电话
4.用户输入联系人地址
5.教师输入学生的英语成绩
6.系统显示输入后的通讯录人员表
扩展事件流无
表查询联系人的用例文本
表显示联系人的用例文本
3.总体设计
通讯录管理系统功能模块图
图通讯录管理系统的功能模块图
主控main函数执行流程图
图主控main函数的执行流程
执行流程图的解释说明
下面通过一个成绩输入的例子来进一步说明上述程序流程图:
Step 1:程序启动时显示系统主菜单,用户通过输入数字选择菜单项:
Step 2: 如果用户输入数字“1”,手动添加联系人信息或者文件导入
Step 3: 返回主界面后用户输入数字“4”,则显示所有人联系人信息
存储结构设计
本项目利用文本文件作为主要的外存存储结构,内存所用的数据结构是哈希表。
1.联系人信息结构体
struct node
{
string name;
string num;
string add;
char sign;
int count;
};
结构node 将用于存放联系人的基本信息,它将作为哈希表的数据域,其中各个字段的含义如下所示:
string name;保存姓名
string num;保存号码
string add;保存地址
char sign;哈希表标记
int count;联系人数量
4.详细设计
3程序运行结果
图给出了程序刚启动时的主菜单界面,用户通过输入1-9间的数字来选择菜单操作。
图程序启动时的主菜单界面
1.总结和展望
毋容置疑这次设计的程序是有很多不足的地方的,缺点还是很多。当电话号码重复时依然可以存储,只可以用姓名进行查找,等其他问题,发现自己欠缺的东西还是不少,要学习更多只是来完善自己,充实自己。
附录
程序源代码:
主函数代码
旅行商问题暴力算法的设计与实现
1.问题简介
旅行商问题(TravelingSalesmanProblem,TSP)又译为旅行推销员问题、货郎担问题,简称为,是最基本的路线问题,该问题是在寻求单一旅行者由起点出发,通过所有给定的需求点之后,最后再的最小路径成本。最早的旅行商问题的数学规划是由Dantzig (1959)等人提出。
2.算法介绍
数学建模
例如:给定4个地点{a,b,c,d}及其各地点之间的路程,找出其最短路径
模型示意图
算法思想
首先是在图为完全图的前提下,构造各地点间的图的结构,采用邻接数组的形式,将各个城市间的距离存储于图的数组中,用一个函数递归寻找从同一个顶点出发的各个地点的所有路径,再求出各个路径的路程,并与相应的路径输出,对路程数组进行冒泡排序后,经比较找出最短路径并输出。
算法流程图
3实验目的
通过程序找到最短路径和最短距离。
计算所有走法的个数,记录走过的地点,循环循环求各种路线的路程,变换路线顺序,求对应路线的路程,输出按该路线结果,比较并选择最优路线,输出最短距离和路径。
5实验代码