- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1题目与要求
1.1 问题提出
本人计划用C语言设计出模拟手机通信录管理系统,实现对手机中的通信录进行管理。
1.2 本系统涉及的知识点
结构、数组、循环、函数、分支
1.3 功能要求
我计划用C语言设计出模拟手机通信录管理系统,实现对手机中的通信录进行管理。
(1)增加功能:能录入新数据(一个结点包括:姓名、电话号码、分类、电子邮件)。例如
杨春?? 商务类? chuny@126.com
当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通信录中超过200条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。
(2)查看功能:选择此功能时,列出下列三类选择:
A? 办公类? B? 个人类 C 商务类 ,当选中某类时,显示出此类所有数据中的姓名和电话号码)
用户可以进一步根据序号或者姓名选择具体记录。
(3)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改。
(4)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。
(5)存盘功能:对当前已经录入的通信录信息保存为通信录文件,同时还可以用户根据用户的选择对文件进行备份,并且所用提示词语很友好。
(6)打开文件:打开已经存在的通信录文件。
(7) 采用DOS环境下的文本菜单界面。
2 功能设计
2.1 算法设计
利用void语句设计如图所示主菜单:
光标模块。我的程序支持方向键控制光标,先定义,再利用指针做到。
键盘模块。先定义Back、Esc、Enter等(具体请见程序),再用指针解决。
读文件模块。若不存在则新建并写入初始化后的数组,返回记录个数。涉及fopen、fclose和fread函数。
增加记录模块。任意位置按Esc键退出,返回记录总数,并于主菜单显示增加的个数。
删除记录模块。姓名重复则输入序号字符串再转化为整数,由于情况简单直接讨论。
排序。涉及关系运算,循环语句,条件语句等。可按姓名或电话按升序排序,并在主菜单中显示排序情况。
排序Order
按F由姓名排序
按S由电话号码排序
图1
修改记录 。姓名重复输入序号字符串再转化为整数。
显示所有。在程序开头部分已经声明,由pgup、pgdn、home、end键及上下键控制。
查找记录。直接输入姓名或电话,则显示匹配内容,姓名为纯数字者不显示。
保存记录。若磁盘故障或已满则退出。在退出时显示友好提示字符。
主模块
主模块
光标模块
修改记录
读文件
增加记录
键盘模块
删除记录
排序
查找记录
显示所有
保存记录
图2
2.2 部分模块流程图
开始
开始
显示待输入选选项键入一个字母
显示待输入选选项
键入一个字母
键入ESC
Y
N
键入
F
S
按姓名排序
按电话排序
结束
3 程序代码设计
1 读文件
(1)函数原形:readrecord(struct person psn[]),
(2)功能:利用if和for语句来编辑,逐个读入。
(3)变量及类型:int n, 整形变量,记录通信录中的人数
struct person psn[],读取人名
(4)说明:此模块读文件,若不存在则新建并写入初始化后的数组,返回记录个数。
4 C
1 程序运行成功。
2 我在此次设计中学到很多以前不懂的知识,以及一些技巧。但是在其中也遇到了很多困难,比如循环方面的语句出错,多亏老师和同学的指导和帮助,以及查阅了一些资料,最终所有问题都解决了。
5 结束语
我真诚的感谢申艳梅老师,她以丰富的专业知识和耐心细致的教学态度展示了一个大学优秀教师的形象。每次我向她请教,她都不厌其烦真诚以待,让我记忆犹新。
参考文献
[1] 谭浩强,C程序设计(第二版),北京:清华大学出版社,2001.1
[2] 况湘玲,陈利,王祥编。C语言程序设计实训。北京:中国水利水电出版社,2001
[3] 张基温编著。新概念C语言程序设计。北京:中国铁道出版社,2003
[4] 顾元刚编著。C语言程序设计教程。北京:机械工业出版社,2004.6
附录:程序清单
#include stdio.h
#include conio.h
#define Back 8
#define Enter 13
#define Esc 27
#define home 71
#define end 79
#define upkey 72
#define dnkey 80
#define pgup 73
#define pgdn 81
struct person{
char name[20];
char tel[20];
char eml[25];
cha
您可能关注的文档
最近下载
- (高清版)DB15∕T 3765—2024 草地碳汇监测与核算技术规程.pdf VIP
- 施工员(市政)模拟考试题(附答案).doc VIP
- 化疗后骨髓抑制护理课件.pptx VIP
- 饲料企业从业人员法规考核试题300道带答案与解析!绝对验证过的!.pdf VIP
- 挫折与心理防御.ppt VIP
- 《离子反应第一课时》说课稿全国高中化学说课一等奖.docx VIP
- 市政工程毕业论文12篇.doc VIP
- 消防控制室值班人员培训PPT课件 消防控制室工作人员培训 消防控制室操作员培训材料.pptx VIP
- 教育科学研究方法课题研究报告.pptx VIP
- 教育科学研究规划课题研究报告.pptx VIP
文档评论(0)