【通讯录项目 (3 / 3)】基于顺序表的通讯录实现——通讯录项目实现 前言 前两章我们已经知道顺序表的功能并完成了功能实现,下面我们将实现通讯录的以下功能: 1 项目预备工作 1.1 多文件处理 如有不理解的地方请参考【通讯录项目 (2 / 3)】,下面不对 顺序表功能 进行详细说明 我们会使用顺序表大多数功能,请理解顺序表的功能在进行阅读。 2.1 初始化通讯录 “初始化”只需要简单的引用顺序表的初始化即可。 2.4 展示通讯录 展示通讯录的功能是对顺序表展示的扩展。 下面我们开始完善界面内容,来把通讯录的功能进行整合。
基于顺序表的通讯录实现——顺序表介绍 文章目录 基于顺序表的通讯录实现——顺序表介绍 1.1 数据结构 1.1.1什么是数据? 1.1.2什么是结构? 概念 :数据结构是计算机存储、组织数据的⽅式。 常⻅的数值1、2、3、4…、教务系统⾥保存的⽤⼾信息(姓名、性别、年龄、学历等 等)、⽹⻚⾥⾁眼可以看到的信息(⽂字、图⽚、视频等等),这些都是数据 1.1.2什么是结构?
基于顺序表的通讯录实现——顺序表功能实现 顺序表功能实现 基于顺序表的通讯录实现——顺序表功能实现 1 初始化与销毁 1.1 初始化 1.2 销毁 2 头部插入与删除 2.1 头部插入 2.1.1检查容量 2.1.2 插入数据 2.2 头部删除 2.2.1 检测数据是否为空 3 尾部插入与删除 3.1 尾部插入 3.2 尾部删除 4 指定位置插入与删除 4.1 指定位置插入 4.1.1 查找数据 4.2 ->size == ps->capacity; return ps->size == 0; } 使用断言即可,切记不要用“ps->size == ps->capacity”这样只能判断空间是否足够 3 在下一篇文章中我们将进行通讯录的实现。 在通讯录里,顺序表的类型不在是简单的" int ",而是结构体类型。 下面给出通讯录的基本功能供大家参考预习。
引言: 1.菜单 通讯录也如同游戏,需要菜单来供使用者选择,因此要用do...while... (第一次看我文章的小伙伴可以看看我这两篇文章啦:1.扫雷游戏(有讲解)-CSDN博客 2.猜数字游戏(C语言实现)-CSDN博客) 2.功能总结 通讯录有很多功能,因此我们在做出它之前总结一下他的功能 : 1.添加联系人 2.删除联系人 3.查看联系人 4.查找联系人 5.排序联系人 (根据自己的需要,可以是电话号码从小到大,也可以是名字从小到大) 6.修改联系人 0.退出 (退出是退出循环,所以设为 4.test.c函数的实现 #define _CRT_SECURE_NO_WARNINGS 1 #include "contact.h" /*静态通讯录*/ void menu() con->data[i].age); } } test.c: #define _CRT_SECURE_NO_WARNINGS 1 #include "contact.h" /*静态通讯录
/usr/bin/env python3 #-*- coding:utf-8 -*- def main(): ftele1 = open("TeleAddressBook.txt",'r') ftele2 join([list2_name[i],str('------------'),list2_email[i]]) s += '\n' lines.append(s) #写入文件 ftele3 = open('AddressBook.txt','w') ftele3.writelines(lines) ftele3.close() ftele1.close() ftele2.close
类似于通讯录里边的排序。实现的效果:所有的数据展示的时候,能够分组展示。顺序按照A-Z的书序进行排列。如果不是以A-Z开头,则默认为#一列。 一般我们从服务器拿到的数据都是一个数组。
NAME_MAX 20 #define SEX_MAX 6 #define TELE_MAX 12 #define ADDR_MAX 30 #define MAX 100 #define DEFAULT_SZ 3 //动态通讯录版本 typedef struct Contact { PeoInfo* data;//存放数据 int sz;//记录的是当前通讯录中存放的人的信息数 int capacity ;//记录的是当前通讯录的容量 }Contact; //初始化通讯录 void InitContact(Contact* pc); //增加联系人 void AddContact(Contact* *******************\n"); printf("***** 1.add 2.del ******\n"); printf("***** 3. Contact con;//通讯录 //初始化通讯录 InitContact(&con); do { menu(); printf("输入你的选择:"); scanf("%d"
3. 我们这里创建的是定容的通讯录,使用的是静态顺序表。 *********\n"); printf("***1.add************2.delete***\n"); printf("***3.search*********4.change*** printf("还未存放任何通讯录成员! 我们使用指针来接受通讯录结构体,使用地址传值。 3. 在后期,我们需要不断的改进函数,使得我们的通讯录更加直接美观。 input) { case 1: ContactAdd(&con); break; case 2: ContactDelete(&con); break; case 3:
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/116942.html原文链接:https://javaforall.cn
##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财#一、问题背景:在Android和IOS中,获取手机通讯录信息的方式,一般是申请通讯录权限后,获得手机所有的通讯录列表信息 在鸿蒙中通讯录的信息获取,也是需要先调用华为提供的通讯录选择组件,让用户主动从通讯录中选择需要传给APP的通讯录联系人,勾选确认之后传给APP。 let contactSelectionOptions: contact.ContactSelectionOptions = { isMultiSelect:false }; // 调用唤起通讯录选择组件 ,让用户去选择需要传入给APP的通讯录联系人 let promise = contact.selectContacts(contactSelectionOptions); // 异步获取 selectContacts fail: err->${JSON.stringify(err)}`); }); } build() { Row(){ Button('点击获取通讯录信息
思路 思路:通讯录: 1、人的信息:姓名+年龄+性别+地址+电话 2、通讯录中可以存放100个人的信息 3:功能: 1》增加联系人 2》删除指定联系人 3》查找指定联系人的信息 4》修改指定联系人的信息 人的信息 #define MAX 100 #define NAME_MAX 20 #define NAME_MAX 5 #define ADDR_MAX 30 #define TELE_MAX 12 3、 search 4.modify *****");//3查找 printf("****** 5.show 6.sort *****");//4修改 printf("****** Contact con; 6、初始化通讯录 //初始化通讯录 InitContact(&con); 初始化函数 void InitContact(Contact* pc)//初始化 { pc } 7、用do-while循环 main函数中代码 int main() { //创建通讯录 Contact con;//也可直接在这里等于0,就是不够灵活 //初始化通讯录 InitContact
(3)信息全展示:要求显示全部联系人信息 (4)排序:按姓名排序 三、系统设计 包括系统功能框架、数据结构设计、函数说明、运行界面、测试数据等 1.运用while循环使用户可以持续操作,直至用户输入‘0 ’退出通讯录 2.menu函数声明 void menu() { printf("******************************************************\n") 删除联系人 ****\n"); printf("**** 3.查找联系人 4. 运用switch对用户输入的数据进行分类并使用通讯录的不同功能 4. 删除联系人 ****\n"); printf("**** 3.查找联系人 4.
1.通讯录 生活中我们肯定会用到通讯录的,通讯录中会存放了我们认识人的联系方式,姓名,家庭住址等等。 那么一个通讯录它最基础应该有那些功能呢? printf("******************************\n"); printf("****1.ADD 2.DELE ****\n"); printf("****3. :>"); scanf("%d",&input); switch(input) { case 1: break; case 2: break; case 3: printf("******************************\n"); printf("****1.ADD 2.DELE ****\n"); printf("****3. printf("******************************\n"); printf("****1.ADD 2.DELE ****\n"); printf("****3.
前言: 上篇我们通过结构体的构建来创造通讯录的联系人内容以及封装100个联系人,并实现了通讯录的增删查改等基本功能,这篇我们要进行改造的内容就是将固定的100个联系人容量改为不定长,有几个联系人就进行扩容 1.进阶通讯录特点: ①基本的增删查改功能; ②通讯录的空间是不固定的,大小是可以调整的 ③默认能放3个人的信息,如果不够就每次增加2个人的信息 2.实现步骤: (1)定义一个结构体来存储联系人的基本信息例如 }Contact; (3)初始化通讯录; void InitContact(Contact* pc) { assert(pc);//断言判断指针是否为空 pc->data = malloc(DEFAULT_SZ void menu() { printf("*******Contact******\n"); printf("*** 1.ADD 2.DEL ***\n"); printf("***** 3. 100 #define MAX_NAME 20 #define MAX_SEX 5 #define MAX_TELE 12 #define MAX_ADDR 30 #define DEFAULT_SZ 3
我知道你们懒,代码直接贴到下面了,附上流程图 #通讯录管理 #coding:utf-8 Mail={} print(''' ——————通讯录————— |1.添加联系人 | |2.删除联系人 | |3.查询联系人 | |4.更新联系人 | |5.退出通讯录 | ________________ ''') while True: bh=input(' Mail[name] print('删除成功') print(Mail) else: print('该联系人在通讯录中不存在 :') elif bh=='3': print(Mail) elif bh=='4': name=input('请输入需要更新的联系人姓名:')
如果你没有看过通讯录初级,请先移步到那。 在前面我们写了一个静态的通讯录,通讯录的大小都是固定的,同时每次启动通讯录都需要重新输入数据。这用起来肯定是不人性化的。 进阶通讯录与原版的不同点就在于,通讯录的大小是会随着数据的添加而增大的,也就是动态内存管理,以及会对通讯录的数据进行存储,一旦通讯录被关闭数据就会自动存放在相应的文件。 然后将malloc开辟空间是地址给pc->data 3.对通讯录添加数据的修改 //静态 //void AddContact(contact* pc) //{ // if (pc->size > MAX 3.通讯录的销毁 因为通讯录的空间是动态内存开辟的,所以再最后是需要还给存储系统的,我们需要释放空间。 至于什么时候释放,当用户退出程序时释放空间。 printf("******************************\n"); printf("****1.ADD 2.DELE ****\n"); printf("****3.
今天来改进一下静态版本的通讯录,让通讯录的内存空间可以随大小变化; 一、测试部分 测试部分的改动不大,主要的改动还是在函数实现的部分和声明部分; void menu() { printf ("****** 1.Add 2.Del ***********\n"); printf("****** 3.Search 4.Modify ,改用malloc开辟空间 添加联系人的方式,当空间容量不够,使用realloc拓展空间 退出通讯录,需要使用free释放空间以及置空; //动态版本初始化通讯录 void InitContact #define DEFAULT_SZ 3 //定义每次 #define INC_SZ 2 //表示一个人的信息 typedef struct PeoInfo Capacity;//通讯录当前的容量 }Contact; //初始化通讯录 void InitContact(Contact* pc); //打印通讯录
今天我给大家介绍一个用网页来实现制作通讯录的方法。 这个通讯录适用于移动端(可拨打电话)。由于只做的是前端展示页面,只提供用户信息展示,通过手机号或姓名搜索相关联系人,分组管理。 来看一下这个通讯录的截图 ? 再来看一下代码 <! DOCTYPE html> <html> <head> <title>通讯录</title> <meta http-equiv="Content-Type" content="text/html; charset div> </div> </div> </body> </html> 这个代码为前端html页面代码,由于没有连接数据库,联系人数据暂时设置为固定的,此页面如果和后台程序联合起来就可以作为一套完整的<em>通讯录</em>程序 原文链接网页版<em>通讯录</em>
苹果手机通讯录怎么恢复?在存手机通讯录的时候发现手机里面有一些重复的通讯录号码,然后就想删除其中一个,删除后才发现原来两个号码是不一样的想要恢复删除的通讯录,可是想要恢复删除的通讯录不知道怎么办。 ,通讯录删除了怎么办?苹果手机通讯录怎么恢复? 进入iCloud之后从里面可以看到储存空间和使用iCloud的应用,在iCloud应用中找到通讯录,按钮是关闭的点击按钮打开使手机的通讯录和iCloud同步,这样通讯录就可以恢复了。 方法二:导入SIM卡通讯录 通过导入SIM卡通讯录将删除的手机通讯录恢复,在手机是设置中找到通讯录一栏,点击进入之后就可以在通讯录里面看到有个导入SIM卡通讯录了,点击之后即可导入SIM卡里面的通讯录了 苹果手机通讯录怎么恢复?根据上面的方法就可以将手机的通讯录恢复了,在手机上有很多的比较重要的数据,手机数据如果被覆盖了那么无法恢复了。
1 问题 通讯录具有输入信息,显示信息,查找以姓名作为关键字,删除信息。 2 方法 实现一个基于面向对象思想的,具有添加、查看、删除、修改、查找、保存数据功能的通讯录程序。 = current.next.next return current = current.next return "联系人未找到" 3