任务19 简单个人电话号码查询系统
系列文章
任务19 简单个人电话号码查询系统
- 问题描述
人们在日常生活中经常需要查找某个人或某个单位的电话号码,本实验将实现一个简单的个人电话号码查询系统,根据用户输入的信息(例如姓名等)进行快速查询。 - 基本要求
(1) 在外存上,用文件保存电话号码信息;
(2) 在内存中,设计数据结构存储电话号码信息;
(3) 提供查询功能:根据姓名实现快速查询;
(4) 提供其他维护功能:例如插入、删除、修改等;
(5) 按电话号码进行排序。
文章目录
- 系列文章
- 一、实践目的与要求
- 1、目的
- 2、要求
- 二、课题任务
- 三、总体设计
- 1.存储结构及数据类型定义
- 2.程序结构
- 3.所实现的功能函数
- 四、小组成员及分工
- 五、 测试
- 文件读取
- 添加联系人
- 删除联系人
- 修改联系人
- 查询联系人
- 退出
- 六、源代码获取
一、实践目的与要求
1、目的
通过此次实践环节主要达到以下目的:
(1)进一步理解和运用结构化程序设计的思想和方法,学会根据具体问题选择合理的计算机存储结构实现数据的存储,构造较有效率的算法;
(2)学会算法描述的方法,并编制具有结构清晰、合理和易读性的小型实用程序;
(3)并会设计测试方案,完成程序的测试,能撰写出该程序的技术报告,为文档整理工作打下一个初步的基础;
(4)培养小组成员间互相学习,取长补短,协同工作的能力。
2、要求
(1)模块化程序设计,锯齿型书写格式,代码要有足够的注释;
(2)根据课题中规定的要求实现既定目标;
(3)撰写格式排版规范、结构完整的技术文档。
二、课题任务
(题目、内容及主要功能描述)
简单个人电话号码查询系统
- 问题描述
人们在日常生活中经常需要查找某个人或某个单位的电话号码,本实验将实现一个简单的个人电话号码查询系统,根据用户输入的信息(例如姓名等)进行快速查询。 - 基本要求
(1) 在外存上,用文件保存电话号码信息;
(2) 在内存中,设计数据结构存储电话号码信息;
(3) 提供查询功能:根据姓名实现快速查询;
(4) 提供其他维护功能:例如插入、删除、修改等;
(5) 按电话号码进行排序。
三、总体设计
1.存储结构及数据类型定义
(采用了什么存储结构、被处理数据定义的数据类型,数据类型定义中要有注释说明)
typedef struct {char name[50];char phoneNumber[20];
} Contact;
2.程序结构
(程序整体的模块结构图)
3.所实现的功能函数
(每个功能对应的函数名、函数形参及返回值说明)
void addContact(Contact* contacts, int* count, const char* name, const char* phoneNumber)// 添加联系人 函数名addContact 函数形参Contact* contacts, int* count, const char* name, const char* phoneNumber 函数返回值void
void deleteContact(Contact* contacts, int* count, const char* name) // 删除联系人 函数名deleteContact 函数形参Contact* contacts, int* count, const char* name 函数返回值void
void updateContact(Contact* contacts, int count, const char* name, const char* newPhoneNumber) // 修改联系人 函数名updateContact 函数形参Contact* contacts, int count, const char* name, const char* newPhoneNumber 函数返回值void
const char* findContact(const Contact* contacts, int count, const char* name)// 查询联系人 函数名findContact 函数形参const Contact* contacts, int count, const char* name 函数返回值const char*
void saveContactsToFile(const Contact* contacts, int count, const char* filename) // 保存联系人到文件 函数名saveContactsToFile 函数形参const Contact* contacts, int count, const char* filename 函数返回值void
int loadContactsFromFile(Contact* contacts, const char* filename) // 从文件中加载联系人 函数名loadContactsFromFile 函数形参Contact* contacts, const char* filename 函数返回值int
int comparePhoneNumbers(const void* a, const void* b) //用于比较两个联系人的电话号码 函数名comparePhoneNumbers 函数形参const void* a, const void* b 函数返回值int
void sortContactsByPhoneNumber(Contact* contacts, int count) 函数名
sortContactsByPhoneNumber 函数形参 Contact* contacts, int count 函数返回值void
int main(); 函数名main 函数形参无 函数返回值int
四、小组成员及分工
(组长、组员及每人承担的具体模块任务或其他)
组长:
void addContact(Contact* contacts, int* count, const char* name, const char* phoneNumber)// 添加联系人 函数名addContact 函数形参Contact* contacts, int* count, const char* name, const char* phoneNumber 函数返回值void
void deleteContact(Contact* contacts, int* count, const char* name) // 删除联系人 函数名deleteContact 函数形参Contact* contacts, int* count, const char* name 函数返回值void
void updateContact(Contact* contacts, int count, const char* name, const char* newPhoneNumber) // 修改联系人 函数名updateContact 函数形参Contact* contacts, int count, const char* name, const char* newPhoneNumber 函数返回值void
组员1:
const char* findContact(const Contact* contacts, int count, const char* name)// 查询联系人 函数名findContact 函数形参const Contact* contacts, int count, const char* name 函数返回值const char*
void saveContactsToFile(const Contact* contacts, int count, const char* filename) // 保存联系人到文件 函数名saveContactsToFile 函数形参const Contact* contacts, int count, const char* filename 函数返回值void
int loadContactsFromFile(Contact* contacts, const char* filename) // 从文件中加载联系人 函数名loadContactsFromFile 函数形参Contact* contacts, const char* filename 函数返回值int
组员2:
int comparePhoneNumbers(const void* a, const void* b) //用于比较两个联系人的电话号码 函数名comparePhoneNumbers 函数形参const void* a, const void* b 函数返回值int
void sortContactsByPhoneNumber(Contact* contacts, int count) 函数名
sortContactsByPhoneNumber 函数形参 Contact* contacts, int count 函数返回值void
int main(); 函数名main 函数形参无 函数返回值int
五、 测试
(整合各功能模块后的测试结果截图及说明)
文件读取
添加联系人
删除联系人
修改联系人
查询联系人
退出
针对于文件的读写以及数据的排序工作,在添加、删除和修改联系人后调用排序功能,每步都保存在文件中。
六、源代码获取
本次的分享就到这里啦,创作不易,感谢点赞收藏
任务19 简单个人电话号码查询系统相关推荐
- 输入手机号查询信息C语言,简单个人电话号码查询系统.doc
课程设计任务书 2011-2012学年第1学期 电子与信息工程系 专业 班级 课程设计名称: 数据结构课程设计 设计题目: 简单个人电话号码查询系统 完成期限:自2012 年 1月2日至2012 年 ...
- 数据结构个人电话号码查询系统实验报告
实验目的及要求 目的:通过设计一个<个人电话号码查询系统>,进一步熟悉一些二叉树的概念.以及基本知识和技能,利用所学的基本知识和技能解决简单的面向对象的程序设计问题.实现根据用户输入的信息 ...
- 哈希表实现电话号码查询系统(c++)
问题描述:设计哈希表实现电话号码查询系统,实现下列功能: (1) 假定每个记录有下列数据项:电话号码.用户名.地址. (2) 一是从数据文件old.txt(自己现行建好)中读入各项记录,二是由系统随机 ...
- html做成绩查询,一个简单的成绩查询系统
一个简单的成绩查询系统 作者:未知 文章来源:www.jspcn.net 发布日期:2005年01月19日 作者:Javazealot 先建一个数据库(std.mdb):其中有两个表 1.pw( ...
- 电话号码查询系统(数据结构之哈希表)
哈希表 哈希表(Hash Table)是一种根据关键字直接访问内存存储位置的数据结构.通过哈希表,数据元素的存放位置和数据元素的关键字之间建立起某种对应关系,建立这种对应关系的函数称为哈希函数. 1. ...
- 《程序设计综合设计》课程设计--电话号码查询系统
2.问题描述 1.设每个记录有下列数据项:电话号码.用户名.地址: 2.从键盘输入各记录,分别以电话号码和用户名为关键字建立哈希表: 3.查找并显示给定电话号码的记录: 4.查找并显示给定用户名的记录 ...
- 设计散列表实现通讯录查找系统_[源码和文档分享]利用哈希表实现电话号码查询系统...
第一章 需求分析 1.1 问题描述 设计一个电话号码查询系统,为来访的客⼈提供各种信息查询服务. 1.2 基本要求 设计每个记录有下列数据项:电话号码.用户名.地址 从键盘输入个记录,分别以电话号码和 ...
- 编写电话号码查询系统
编写电话号码查询系统 一.项目简介 设计一个通讯录管理软件,做到能够增加组.删除组. 修改组.查询好友.加好友.修改好友,删除好友,退出. (1) 通讯录的每一条信息包括姓名,手机,电话,性别,分组: ...
- java编程电话号码查询_java课程设计电话号码查询系统(15页)-原创力文档
山东建筑大学 Java 课程设计报告 设计题目 电话号码查询系统 学生姓名黄瑜 学号 2010121187 专业班级信计101 指导教师 王文 1 1 1.设计目的 1.通过JAVA 课程设计,使大家 ...
最新文章
- 人脸识别种族偏见:黑黄错误率比白人高100倍 | 美官方机构横评189种算法
- ios 动态监听键盘输入法和高度
- 冒泡排序与快速排序(java实现)
- 特殊构造(非捕获总结)
- 2 数据源配置_论多数据源(读写分离)的实现方案
- Open XML操作Excel导入数据
- 审批流_审批流的优化从何入手
- adam优化_认识 AdaMod: 一个新的有记忆的深度学习优化器
- A1089. 阶乘计算
- android vmware 分辨率,android 常见分辨率与DPI对照表
- iOS之深入解析Hash在iOS中的应用
- 电脑编程软件都有哪些
- html中设计对联,js实现很实用的对联广告代码 可自适应高度
- R语言:循环读取相似文件名的文件:
- 【Week 7 作业】A - TT 的魔法猫、B - TT 的旅行日记、C - TT 的美梦
- Rust 正则表达式 Regex
- 当ivms平台无法登录以及服务状态显示未注册的处理办法
- 经典数据挖掘算法(介绍了包括18大数据挖掘在内的多种经典数据挖掘算法)
- cp文件时,文件名带有空格无法正常cp怎么办?
- Linux查看tomcat是否启动,查看tomcat监听端口