手机通讯录模拟程序

本文介绍了一个使用C/C++编程语言在Windows 7环境下开发的手机通讯录模拟程序,该程序实现了添加、删除、查找和修改联系人信息等功能。采用顺序存储结构和折半查找法,具有较高的查找效率。程序还包括打电话和发短信的模拟操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码链接地址

手机通讯录模拟程序


程序说明:模拟手机的通讯录程序,实现添加、删除、查找以及修改等功能。

实现环境:windows 7 + C-Free 5.0 

编程语言:C/C++

程序设计: 程序包括8个部分:主程序、用户界面、查找、添加、删除、修改、打电话、发短信。

① 程序

分析:程序流程:运行程序 --> 读入通讯录记录 --> 显示用户界面 --> 根据选择执行操作 --> 将修改后的记录写会通讯录 --> 结束运行

Postscript:1、为求程序简单,选择操作时没有使用循环,而是采用了if结构,每次运行程序只能进行一项操作。2、在修改信息操作中,没有输入合法性检查。

②用户界面

          Name                    Number                      Remark

     ............................            ..........................                ............................

     ............................            ..........................                ............................

     ............................            ..........................                ............................

     Please choose your operation : 

          Call(c)    Send(s)    Add(a)    Delete(d)    Query(q)    Modify(m)  

③查找

分析:由于手机通讯录是按照记录姓名组织,是一种线性有序的逻辑结构。且查询操作频繁,添加和删除操作不频繁。因此,选择顺序存储结构。综合存储结构和时间复杂度考虑,采用折半查找法进行查找。时间复杂度O(log2n)

④添加

分析:因为手机通讯录的记录是有序的,所以添加记录后仍然要有序。首先要判断手机容量是否已满,若是,则操作失败。若否,则查找插入位置,插入记录,修改通讯录的长度。采用顺序查找法,时间复杂度O(n)

⑤删除

分析:删除通讯录中的记录是建立在查找的基础上的。如果查找成功,则删除这条记录,并修改通讯录的长度;否则,操作失败。调用query_user_record(),使用折半查找法,时间复杂度为O(log2n)。但删除后通讯录仍然要有序,需要移动记录,时间复杂度为O(n)。综合考虑,时间复杂度为O(n)

⑥修改

分析:修改通讯录中记录同样是建立在查找的基础上。如果查找成功,则修改这条记录;否则操作失败。调用query_user_record(),使用折半查找法,时间复杂度是O(n)

⑦打电话

分析:查找要通电话的记录,若查找成功,拨打即可;否则,操作失败。时间复杂度为O(log2n)

⑧发短信

分析:查找要发短信的记录,若查找成功,发送即可;否则,操作失败。时间复杂度为O(log2n)。可添加一些有趣的小程序,例如,发送ping命令,打开网页等等(打电话也是如此)。


微笑程序代码链接地址:http://download.youkuaiyun.com/detail/s_521_h/4280303

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值