用C语言实现一个简易通讯录

通讯录

实现通讯录,是基于c语言的IO文件操作、数据结构里面的顺序表实现。

具体功能

实现了

  1. 信息的添加
  2. 信息的显示
  3. 信息的修改(修改单一属性)
  4. 将内存中的信息保存到文件中去
  5. 将文件中的信息加载到内存中(每次程序运行数据就会丢失)
  6. 信息的删除
  7. 信息的查找(按照各自的属性查找)
  8. 给每一条信息设置了唯一的标识id
  9. 通讯录的销毁

头文件中的声明

在c语言中我们采用结构体来记录每一个人的具体信息
用顺序表的数据结构来来对数据的操作

#ifndef __ADDRESSBOOK_H__
#define __ADDRESSBOOK_H__

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<windows.h>

#define NAME_MAX 200 //名字
#define GENDER_MAX 100 // 性别
#define ADDRESS_MAX 200 // 地址
#define NUMBER_MAX 200 // 电话
#define SEQLIST_MAX 1000 // 存储的最大信息数量
#define FILE_PATH "address_book.txt" // 写入文件的位置

typedef struct person_inf
{   
    char name[NAME_MAX];
    char gender[GENDER_MAX];
    char number[NUMBER_MAX];
    char address[ADDRESS_MAX];
}person_inf;

typedef struct address_book
{
    size_t size;
    person_inf data[SEQLIST_MAX];
}address_book;

//初始化通讯录
void address_book_init(address_book *book);

//添加信息
void address_book_add(address_book *book);

//显示信息
void address_book_display(address_book *book);

//删除所有信息
void address_book_delete_all(address_book *book);

//保存信息
void address_book_save(address_book *book);

//加载信息
void address_book_load(address_book *book);

//修改信息
void address_book_update(address_book *book);

//删除信息
void address_book_delete(address_book *book);

//查找信息
void address_book_find(address_book *book);

//销毁通讯录
void adderss_book_destory(address_book *book);

#endif

函数的定义

在这里我们实现了,基本的增删查改,保存信息加载信息。


#define _CRT_SECURE_NO_WARNINGS

#include "AddressBook.h"

//初始化通讯录
void address_book_init(address_book *book)
{
    if(book == NULL)
    {
        return ;
    }
    book->size = 0;
}

//添加信息
void address_book_add(address_book *book)
{
    size_t cur = 0;
    if(book == NULL)
    {
        printf("book is NULL\n");
        return ;
    }
    cur = book->size;
    ++book->size;
    printf("添加信息\n");
    printf("请输入要添加的姓名\n");
    scanf("%s",book->data[cur].name);
    printf("请输入要添加的性别\n");
    scanf("%s",book->data[cur].gender);
    
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值