首页
学习
活动
专区
工具
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.结语 以上就是通讯录不定容实现增删查改功能的完整代码啦

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

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.结语 三版通讯录循序渐进,从最开始的定容增删查改等功能的实现(上篇),到可以不定容的通讯录(中篇),最后到可以保存数据到文件并从文件中加载保存的联系人

6210

c++实现个人通讯

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

65450

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()//菜单 {

8710

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("通讯没有该联系人

94030

C语言通讯录功能的实现

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

6410

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

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

54140

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。

15010

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

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.6K2218

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

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

78960

C语言进阶篇】模拟实现通讯录 (内附源码)

文章目录 前言 一 、 通讯录的简介 1.1 联系人的类型定义 1.2 通讯录的定义 1.3 通讯录要实现的功能 二 、 如何实现这些功能 2.1 test.c实现 mian() 函数的实现 menu...() 菜单函数的实现 test() 通讯录选择的实现 2.2 Contact.h 的声明 2.3 Contact.c 功能函数的定义 0️⃣ 初始化通讯录 1️⃣ 新增联系人的实现 2️⃣ 删除联系人的实现...修改联系人的测试 5️⃣ 查看所有联系人 6️⃣ 排序联系人 四、通讯录整体工程 test.c contact.c contact.h 全篇总结 前言 hello!...《结构体的万字解析》 一 、 通讯录的简介 通讯录大家可以说是在熟悉不过了,那么今天就来用我们所学的C语言知识实现一下。通讯录无非就是增加联系人和删除等,增删查改这些功能。...3️⃣查询联系人的测试 4️⃣ 修改联系人的测试 这里我们就把翠花的信息重新修改,为小美了,说明这个函数也实现了 5️⃣ 查看所有联系人 6️⃣ 排序联系人 四、通讯录整体工程 test.c #define

9310
领券