1、 1 计算机高级语言(计算机高级语言(C) 课程设计课程设计 手机通讯录模拟系统手机通讯录模拟系统 系部:系部: 学生姓名:学生姓名: 班班 级:级: 学号:学号: 指导老师:指导老师: 2010 年年 4 月月到到 6 月月 2 摘要摘要 用基本的编程语言用基本的编程语言 C 语言实现一些简单的手机通讯模拟系统功能语言实现一些简单的手机通讯模拟系统功能(新增、查看、(新增、查看、 拨号、修改、删除等功能)拨号、修改、删除等功能) 。主要用到结构体、循环语句、条件语句、选择结构。主要用到结构体、循环语句、条件语句、选择结构、指针、指针 等知识点, 来模拟手机通讯系统的基本功能。 在等知识点,
2、来模拟手机通讯系统的基本功能。 在编程中找出问题, 及编程中找出问题, 及自己探索解决方法,自己探索解决方法, 从而熟悉编程的流程,达到提高的目的。从而熟悉编程的流程,达到提高的目的。 3 摘要摘要 基本的言語実现简単基本的言語実现简単 c 言言 語模拟系统机能語模拟系统机能(、查看発信、查看発信、 改正、消去等机能改正、消去等机能)。主构造体、循环语句使、条件語句、选択构。主构造体、循环语句使、条件語句、选択构 造、针、模拟好基本機能造、针、模拟好基本機能 備。中、探索解决方法備。中、探索解决方法, 流熟知、目的。流熟知、目的。 4 手机通讯录模拟系统手机通讯录模拟系统 一、一、 问题描述问
3、题描述 用 C 语言设计出模拟手机通讯录管理系统,实现对手机中的通讯录进行管理。 (一) 、功能要求 (1) 、查看功能:选择此功能时,列出下列三类选项。 A、办公类 B、个人类 C、商务类 (当选中某类时,显示出此类所有数据中的姓名和电话号 码。 ) 项(2) 、增加功能:能录入新数据(一个结点包括:姓名、电话号码、分类(可选有: A 办公类、B 个人类、C 商务类) 、电子邮件) 。 例如:李四 13589664454 商务类 当录入了重复的姓名和电话号码时,则提示录入重复并取消录入;当通讯录信息超过 15 条时,存储 空间已满,不能在录入新数据;录入的新数据能按照递增的顺序自动进行条目
4、编号。 (3) 、拨号功能:能显示通讯录中的所有人的姓名,当选中某个姓名时,屏幕上模拟打 字机的效果依次显示出此人的电话号码中的各个数字。 (4) 、修改功能:选中某人的姓名时,可对此人的相应数据进行修改。 (5) 、删除功能:选中某人的姓名时,可对此人的相应数据进行删除,并自行调整后续 条目的编号。 二、算法设计二、算法设计 1、程序总体设计 5 图 1、程序功能图 每一个功能都编写一个函数,多个功能函数都要用到的子模块单独编写函数,供各 个实现功能的函数调用。在主函数中设置欢迎界面和菜单处理函数,通过菜单处理函数 调用各子函数处理模块,从而实现整个通讯录管理系统的功能。因为各个函数之间是并
5、 列关系,所以可以通过 switch 函数实现各个功能函数的调用。 2、详细设计 (1)信息结构体说明 查看功能 增加功能 拨号功能 修改功能 B个人类 C 商务类 删除功能 A 办公类 手机通讯录 管理系统 姓名拨号 6 图 2 、信息结构体说明 (2)函数说明 main(主函数) 调用各函数,模拟通讯录 look(查找函数) 查找联系人信息,并按所选类型输出相关信息 output(输出函数) 输出所有联系人信息 del(删除函数) 删除联系人信息 music(音乐函数) 通过输出声音,将号码逐个显示 new_info(新增函数) 新建结构体,存入信息 diag(拨号函数) 模拟拨号功能 error(错误函数) 提示错误,停止运行 revise(修改函数) 修改联系人信息 freelist(释放函数) 运行结束,释放空间 3、要函数和结构体 void error(); void output(); struct phone_info *new_info(); struct phone_info *del(); void music(); void diag(); void revise(); void freelist(); void look(); void main()