【C语言基础】C语言通讯录(加了文件读写)

AddressBook.h

#pragma once

#include<stdio.h>
#include<stddef.h>

//#define FILE_PATH  "./Contact.txt"
#define FLIE_PATH2  "D://学习工作/我的代码/作业/数据结构/AddressBook/Contact.DAT"

//定义两个结构体

#define NAME_SIZE 200
#define PHONE_SIZE 200
#define ADDR_SIZE 200

typedef struct PersonInfo {

	char name[NAME_SIZE];
	char phone[PHONE_SIZE];
	char addr[ADDR_SIZE];

}PersonInfo;

typedef struct AddrBook {

	PersonInfo* data;
	size_t size;
	size_t capacity;

}AddrBook;

#define DEFSULT_SZ 5

//初始化通讯录
void InitContact(AddrBook* addr);
//对通讯录进行扩容
void CheckCapacity(AddrBook* addr);
//在通讯录中增加条目
void AddContact(AddrBook* addr);

//通过姓名查找,如果有返回数组下标
int FindContactWithName(AddrBook* addr, char* name);
//通过电话号码查找,如果有就返回下标
int FindContactWithPhoneNumber(AddrBook* addr, char* phonenumber);

//删除通讯录中的联系人信息
void DeleteContact(AddrBook* addr);


//打印通讯录中所有联系人信息
void AddrBookDisplay(AddrBook* addr);

//打印单个联系人
void PrintSingleContact(AddrBook* addr, int index);

//按规则查找指定联系人
void AddrBookFind(AddrBook* addr);

//销毁通讯录
void AddrBookDestory(AddrBook* addr);

//修改通讯录中某个联系人的信息
void AddrBookModify(AddrBook* addr);

//把联系人保存到文件流中
void FlieSave(AddrBook addr);

/*从 文件中读取已保存的联系人信息*/
void FileRead(AddrBook addr);


AddressBook.c

#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include"AddressBook.h"

void InitContact(AddrBook* addr) {

	if (addr == NULL) {
		return;
	}
	addr->size = 0;
	addr->data = (AddrBook*)malloc(DEFSULT_SZ *sizeof(AddrBook));
	if (addr->data == NULL) {
		printf("初始化失败!");
		return;
	}

	addr->capacity = DEFSULT_SZ;
}

void CheckCapacity(AddrBook* addr) {
	if (addr 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值