(简易手机通讯录管理系统)
更新时间:2024-07-08 09:38:01 阅读量: 综合文库 文档下载
一、课题名称
简易手机通讯录管理系统(线性表、查找、排序)
二、主要内容
简易手机通讯录管理系统的设计主要是实现对手机通讯录的管理和相关操作。基本功能如下:
(1)联系人信息录入、添加功能:包括手机号(此处用短号,5位,不能重复)、姓名、家庭住址的录入和添加。
(2)联系人信息查询功能:能①按手机号进行查询。②按联系人姓名进行查询。 (3)排序:①能按手机号升序进行排序;②能按姓名进行升序排序,姓名相同时按手机号从小到大进行排序
(4)联系人信息的修改、删除功能:①按手机号进行联系人信息的修改和删除。 ②按姓名进行联系人信息的修改和删除,多个姓名时,再指定具体的号码。 (5)统计功能:统计自己的联系人有多少个。
三、课题设计的基本思想,原理和算法描述
(1)本次课程设计题目为简易手机通讯录管理系统,主要运用到线性表中顺序表的相关知识,以及顺序查找的思想和冒泡排序算法。 (2)界面设计 //菜单函数 int menu() { int c;
printf(\☆☆☆☆☆☆☆手机通讯录信息管理系统☆☆☆☆☆☆☆☆\\n\\n\ printf(\***\\n\ printf(\ printf(\ printf(\ printf(\ printf(\ printf(\ printf(\
1.添加联系人信息\\n\2.查询联系人信息\\n\3.对联系人信息进行排序\\n\4.修改联系人信息\\n\5.删除联系人信息\\n\6.统计联系人个数\\n\0.退出信息管理系统\\n\
printf(\***\\n\\n\
printf(\★请输入您的选择(0-6):\ while(1) { } return c; } //主函数 void main() {
SqList * L; InitList(L); system(\ while(1) {
switch(menu()) {
case 1:system(\信息的增加\\n\case 2:system(\信息的查询\\n\scanf(\if(c<0||c>6)
printf(\▲输入错误!请重新选择:\
else
break;
case 3:system(\对信息进行排序\\n\
case
4:system(\
信
息
的
修
改
\\n\
case 5:system(\信息的删除\\n\
6:system(\
统
计
联
系
人
个
数
case
\\n\ } }
(3)功能模块的实现 ?初始化顺序表
void InitList(SqList *&L)
case 0:printf(\再见!\\n\
default:printf(\▲输入错误!请重新选择:\}
{
L=(SqList *)malloc(sizeof(SqList)); L->length=0; }
?增加信息函数。
定义变量a起标记作用,用于判断输入信息是否与已有信息重复 void ListAdd(SqList *&L) //增加函数 {
int a=0;//标记
printf(\号码(五位数字!):\ printf(\姓名:\ printf(\性别:\ printf(\家庭住址:\ for(int i=0;i
?查找符合条件的信息的下标并返回到需要调用的函数体中 int FindNum(SqList *&L) {
printf(\★输入需要进行操作的号码:\ char num[10]; scanf(\ int i=0;
while(i
printf(\不存在该联系人!\\n\
if(strcmp(L->data[i].num,L->data[L->length].num)==0) { }
printf(\该号码已经存在\\n\a=1;break;
}
④查询信息函数
分两种情况:按号码查找与按姓名查找。由于号码唯一所以可以直接调用之前的查找下标函数。按姓名查找时则需要考虑到重名的情况,所以用一个for循环将所有符合条件的信息全部输出。
void Search(SqList *&L) {
if(L->length==0) { } else {
int m,i;
printf(\通讯录此时为空,无法进行查找!\\n\
printf(\ printf(\按联系人号码进行查询\\n\ printf(\按联系人姓名进行查询\\n\
printf(\ int a;
printf(\★请输入您的选择(1 or 2):\ scanf(\ switch(a)
{ case 1:
m=FindNum(L); if(m
printf(\您查询的信息如下\\n\
姓名
性别
家庭住址\\n\
printf(\号码
printf(\%s %s
%s\\n\
} break;
case 2:
printf(\★输入需要进行操作的姓名:\
char name[20]; scanf(\ for( i=0;i
{
if(strcmp(L->data[i].name,name)==0) {
printf(\号码
姓名
性别
家庭住址\\n\
printf(\%s %s
%s\\n\ } }
⑤修改函数
按号码修改时先调用之前查找下标的函数,找到符合条件的信息后直接输入信息将原有信息覆盖。按姓名修改时当只有一个信息符合条件时与按号码修改算法一样,当出现重名情况时提示用户选择相应的号码再调用按号码修改的算法。每一次修改都进行一次判断,判断修改后的信息是否与表中已有信息重复。 void ListModify(SqList *&L) {
if(L->length==0) { } else {
int m,n;
printf(\通讯录此时为空,无法进行信息的修改!\\n\
} break;
} else { }
printf(\不存在该联系人\\n\
default: }
printf(\输入错误!\break;
int b=0;
正在阅读:
(简易手机通讯录管理系统)07-08
商法考试题及参考答案05-06
普惠性民办幼儿园认定自评表10-04
实木门定做和设计需要注意哪些呢?04-30
3c 虚功原理推导单元刚度矩阵04-05
危险源识别、评价汇总表 - 图文04-30
安全文明施工组织设计03-30
三亚飘视觉婚纱摄影怎么样?我的亲身体验05-06
劳 动 合 同12-15
卡特尔16种人格因素问卷11-22
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 手机通讯
- 简易
- 管理系统
- 优品课件之2018届八年级英语下册第十单元导学案(人教版)
- 党群工作科党务管理岗位实习报告
- 人教版四年级数学下册教学反思(全册)
- 溶液法测定极性分子的偶极矩实验报告
- 110kV翡翠输变电工程施工创优实施细则 - 图文
- 重庆黔江区职称改革办公室电子公文 - 图文
- 35kV多华线315(炼钢厂)电能质量分析
- 结构设计原理电子书(DOC)
- 三校生高考电工基础试题
- 论我国无效婚姻制度-毕业论文
- 逍遥游理解性默写完美版
- 中共乐至县广播电影电视局机关支部委员会选举大会主持词
- 2019-16年给军人的八一建军节祝福语-精选word文档(2页)
- 江苏开放大学 形成性考核作业
- 足球实施方案
- 2012年山东省济南市外国语学校小升初数学试卷
- 加强教学反思,有效提高教学创新研究
- 2018-2019学年外研版九年级上册英语Module1测试卷及答案
- 2012年党课考试试题及答案资料
- pe管施工方案