首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

通讯实现

前言: 上篇我们通过结构体的构建来创造通讯录的联系人内容以及封装100个联系人,并实现通讯录的增删查改等基本功能,这篇我们要进行改造的内容就是将固定的100个联系人容量改为不定长,有几个联系人就进行扩容...1.进阶通讯录特点: ①基本的增删查改功能; ②通讯录的空间是不固定的,大小是可以调整的 ③默认能放3个人的信息,如果不够就每次增加2个人的信息 2.实现步骤: (1)定义一个结构体来存储联系人的基本信息例如...printf("****** 0.EXIT ******\n"); }//后面通过case语句来进行你想要的操作 (5)基本功能函数 可以通过http://t.csdnimg.cn/gIo96百行代码实现简单通讯录来查看哦...#define _CRT_SECURE_NO_WARNINGS 1 //contact函数实现contact.c源文件 #define _CRT_SECURE_NO_WARNINGS 1 #include"contact.h...break; default: printf("选择错误,请重新输入\n"); } printf("\n"); } return 0; } 4.运行结果(如图) 5.结语 以上就是通讯录不定容实现增删查改功能的完整代码啦

7910
您找到你想要的搜索结果了吗?
是的
没有找到

C语言】通讯实现(下)

1.进阶通讯录特点(下) ①基本的增删查改功能; ②通讯录的空间不固定,大小可以调整; ③通过C语言文件操作来储存通讯录信息到硬盘上; 2.实现步骤 基本实现步骤同上、两篇 【[C语言]通讯实现...) - CSDN App】http://t.csdnimg.cn/K5tqO 【【C语言】通讯实现(上) - CSDN App】http://t.csdnimg.cn/ZrZQk 此外还有文件加载、写入...、关闭等实现如下: (1)保存增加的联系人数据到文件 void SaveContact(Contact* pc)//保存联系人到文件 { FILE* pf = fopen("contact.dat...#define _CRT_SECURE_NO_WARNINGS 1 //contact函数实现contact.c源文件 #include"contact.h" int CheckCapacity(Contact...} //关闭文件 fclose(pf); pf = NULL; } 4.结语 三版通讯录循序渐进,从最开始的定容增删查改等功能的实现(上篇),到可以不定容的通讯录(中篇),最后到可以保存数据到文件并从文件中加载保存的联系人

7010

c++实现个人通讯

期末考试作业: 主要结合教材1-4章所学知识开发一个个人版通讯录,要求通讯录可以实现以下功能: 添加联系人 删除联系人 查找联系人 联系人列表 通讯录存盘 读出通讯录 退出 功能提示: 为存储通讯录中联系人信息...,需定义一个类Address,成员包括姓名、电话、邮箱地址、地址、邮编等;而且需要定义获取这些成员的成员函数,以及用于添加联系人、判断通讯录是否为空等函数。...初步设想用数组来存储这些联系人信息,数组大小就是通讯录的容量,每个数组元素是一个类对象,当添加联系人时,需要查找数组是否有空位,如果有,则将联系人添加进来;当删除一个联系人时,将这个位置标记为空,可以用于下一次添加...nu[]);//根据电话号码查找联系人; void searchPostCodedress2(char na[]);//根据姓名查找联系人; void Save(); //实现保存功能...break; } } } } void POSTCODEDRESDBOOK::Save()//实现保存功能

67150

C语言】通讯实现(上)

1.通讯录功能:    实现增、删、查、改等基本功能 2.实现步骤: (1)定义一个结构体来存储联系人的基本信息例如:名字、电话、性别等; typedef struct PeoInfo { char...; void InitContact(Contact* pc) //传递通讯录的指针来修改通讯录 { memset(pc->data, 0, sizeof(pc->data));//使用memset库函数来初始化...].age, pc->data[i].tele, pc->data[i].addr);//打印查找到的联系人 } return; } ...更多功能可关注等待后续或者私信我哦~ 3.完整代码实现...--基本功能实现的函数代码  //contact函数实现contact.c源文件 #define _CRT_SECURE_NO_WARNINGS 1 #include"contact.h" int Search_by_name...--整个通讯录的流程框架 //test.c文件--流程 #define _CRT_SECURE_NO_WARNINGS 1 #include"contact.h" void menu()//菜单 {

11410

c语言实现通讯

前言 目录 前言 一、通讯录: 1.1 通讯录介绍: 1.2 通讯录功能介绍: 效果展示: 二、通讯录的实现: 2.1 通讯录类型的声明: 2.2 通讯录的初始化: 2.3 添加联系人函数: 2.4...查询指定联系人函数: 2.5 删除联系人函数 动态图解: 2.6 修改指定联系人函数 总结 总代码: 主测试区: 函数实现区: 函数声明区: 一、通讯录: 1.1 通讯录介绍: 本次通讯录采用...用一个参数 sz 记录当前联系人个数. 1.2 通讯录功能介绍: 1.添加联系人 2.删除联系人 3.修改联系人 4.查询联系人 5.展示通讯录 效果展示: 二、通讯录的实现: 2.1...我们知道,后面我们需要实现下列功能 删除联系人 修改联系人 这些功能都需要先找到目标联系人,所以我们先实现这个函数,后续需要在删除联系人和修改联系人时,可以直接调用该函数即可, 为了更好让该函数可以被其他函数复用..."请输入要修改的联系人的姓名:\n"); scanf("%s", name); ret = FindName(cont, name); if (ret == -1) { printf("通讯没有该联系人

97030

C语言通讯录功能的实现

C语言通讯录功能的实现 一、项目需求: 我们需要一个通讯录,可以用来存储1000个人的信息,每个人的信息包括:姓名、性别、年龄、电话、住址。...并且在通讯要求实现下述功能: 添加联系人信息 删除指定联系人信息 查找指定联系人信息 修改指定联系人信息 显示所有联系人信息 以名字排序所有联系人 二、模块化代码 在代码编辑,为了避免代码过于冗长...建立如下文件 contact.h (头文件,用来引入库函数,存放声明) contact.c实现通讯录每个部分的功能) test.c (主函数,用于测试通讯录功能是否成功实现) 注意:.c文件需要使用自定义头文件的声明...enum { Exit, Add, Del, Search, Modify, Show, Sort, }; 写在contact.h头文件 那么循环可以更改为上述名字。...我们在将exit功能和default功能实现一下。

9210

C】—文件版本通讯录的实现

关于C语言的知识放在专栏:C 小菜坤日常上传gitee代码:https://gitee.com/qi-dunyan ❤❤❤ 个人简介:双一流非科班的一名小白,期待与各位大佬一起努力!...目录 思路 代码实现 完整代码(可自取) 思路 在前面的文章,已经讲解了动态版本的通讯录的实现,但是动态通讯录存在一个致命缺陷,就是它不能自动保存数据,而前面一篇文章中学到了数据持久化的方法之一:即把数据存放在磁盘文件上...假如我们在退出的时候,通过文件操作,把我们所写的数据存在磁盘文件里,然后我们再进行下一次的使用的时候,在初始化阶段就从磁盘读取这些数据,这不就实现了。...代码实现 代码的实现并不困难,只不过是在动态内存版本的基础上进行了一些文件操作,用来保存和读取数据。...从文件读取信息(初始化阶段完成) //读通讯录文件信息 //size_t fread(void* ptr, size_t size, size_t count, FILE* stream) void

55740

C语言实现通讯录(超详细)

7.显示所有联系人信息  2.通讯录的实现 2.1创建两个源文件和一个头文件 首先我们创建contact.c和test.c,contact.h,在头文件包含了程序所需的各种头文件并且实现对各种函数的声明...InitContact(&con);//初始化通讯录 在contact.h声明函数: void InitContact(Contact* pc);//初始化通讯录 在contact.c中进行函数的实现...实现:  首先判断一下通讯录空间是否满了,使用if判断sz是不是等于MAX。...: case DEL: DelContact(&con); break; 在contact.c实现: 删除联系人先判断一下通讯录是否为空,名字单独创建一个数组,然后输入名字,然后开始在通讯录查找名字...);//查找联系人 在contact.c实现: 这里其实是使用到了Findbyname这个函数和展示函数,需要注意的是要把下标换成ret。

35210

类似 golang 的 c 语言通讯实现

简单介绍golang 在云计算场景下可以说是风头无量,而且 golang 的很多设计理念基于 c,大家可能想不到,c 也是可以实现面向对象编程的,我们可以参考 golang 面向对象来实现一波。...注意:面向对象是一种编程思想或者说设计思想,并不是那个语言特有的,所以哪怕 c 也可以实现这种思想。通讯录整体分析通讯录首先就是需要设计结构体,通讯录的结构体就比较简单,首先就是通讯录的人和电话。...person *person}func(contacts *cts)person_delete(person **ppeople, person *ps){...}因此说,面向对象其实是一种思想,c 语言这样的面向过程的语言也是可以实现这样的开发...不过对于通讯录操作跟普通的增删改查还是不太一样的,我们通讯录需要持久化,简单来说就是刷新到硬盘上,这最简单涉及两个操作,一个是把当前的通讯录持久化到硬盘文件,另一个就是将硬盘中文件加载到内存数据结构...,知道很多人会说,都什么年代了,还在做通讯录这种老掉牙的东西,这里主要是为了引入两个方向问题:1、使用向 c 语言其实也可以说实现面向对象,面向对象其实一个思想。

9610

C 链表 - linux 如何实现

链表是基本数据结构, 一开始学习数据结构时, 我一般这么定义, 对应实现从头或尾插入的处理函数, struct int_node_old { int val; struct int_node_old...查看linux的源码, 发现linux也为我们提供了相似的实现(源码), 把一些共性统一起来。 类是 python for_each处理,有些意思。...linux 下的链表定义在文件 include/linux/types.h, 采用的是双向列表 struct list_head { struct list_head *next, *prev;...list 利用这个定义, 我定义了一个自己的list数据结构, 并copy了一些接口实现,感受下,linux 是如何管理链表的。...另外一种做法是定义list_head, 包含一个成员变量,指向其所属,FreeRTOS是如此做的。

2.7K30

并发的同步--WCF并发体系的同步机制实现

在《WCF 并发的本质》,我们谈到了WCF提供的三种不同的并发模式,使开发者可以根据具体的情况选择不同的并发处理的策略。...串行执行即同步执行,在WCF并发框架体系,这样的同步机制是如何实现的呢?...一、Concurrency.Single模式下的同步实现 实际上,WCF并发框架体系下针对Concurrency.Single模式的实现非常简单,其本质就是对InstanceContext进行加锁。...二、Concurrency.Reentrant模式下的同步实现 在ConcurrencyMode.Single并发模式下,从请求被WCF服务端运行时分发给相应的InstanceContext到请求处理完成的整个过程...在下一篇文章,我将从具体的实例上下文模式的角度来剖析WCF的并发,敬请期待。

81660

C语言实现简易手机通讯录,自学C语言小项目!

功能: 新增联系人 查找联系人 删除联系人 修改联系人 查看所有联系人 清空所有联系人 以名字排序所有联系人 这是一个简单的通讯录,实现方案是初级版。只能在程序运行期间存在(没有写入文件)。...---- 二、菜单实现和用户交互 菜单实现和用户的交互 0.退出1.新增联系人2.查找联系人3.删除联系人4.修改联系人5.查看所有联系人6.清空所有联系人7.以名字排序所有联系人 int menu()...\n"); } 1234567891011121314151617 十、查看所有联系人 打印所有联系人和通讯记录条数。...void sortPerson(AddressBook* addressbook){ if (addressbook->size <= 0){ printf("通讯没有联系人,请添加!...按名字排序: 十四、完整代码 文末源码:源码地址 更多案例可以go公众号:C语言入门到精通

1.7K2218
领券