【项目】—— 通讯录1(C语言)
通讯录是存储和管理我们的个人信息的程序应用。这里我们实现一个静态的通讯录(固定容量,无法扩容)
通讯录的功能
- 存储100个联系人的信息(姓名、性别、年龄、电话、地址)
- 添加联系人
- 删除联系人
- 修改联系人
- 根据姓名查寻联系人
- 根据姓名将联系人升序排序
- 展示所有联系人
目录
一、通讯录的结构
通讯录由C语言实现,实现环境是VS2019
编译程序,结构如下
- 头文件
contact.h
:引入头文件,并声明通讯录的数据类型和函数声明 - 源文件
contact.c
:实现通讯录各个功能的函数 - 测试文件
test.c
:写有main
函数,启动程序并实现业务逻辑
二、头文件
1. 头文件引用
#pragma once //防止头文件重复引用
#include <stdio.h> //标准输入输出,具体作用懂得都懂
#include <assert.h> //我们会对每个函数内部的一些变量进行断言,方便我们调试
#include <string.h> //我们会对字符串进行操作
#include <Windows.h> //我们会执行一些命令行
2. 结构体声明
//定义变量最大数量
#define MAX_INFO 100 //100个联系人
#define MAX_NAME 20 //姓名占20字符
#define MAX_SEX 10 //性别占10字符
#define MAX_TEL 20 //电话占20字符
#define MAX_ADDR 50 //地址占50字符
//个人信息
typedef struct PeoInfo
{
char name[MAX_NAME]; //姓名
char sex[MAX_SEX]; //性别
int age; //年龄
char tel[MAX_TEL]; //电话
char addr[MAX_ADDR]; //地址
} PeoInfo;
//通讯录
typedef struct Contact
{
PeoInfo data[MAX_INFO]; //联系人
int count; //联系人数量
} Contact;
3. 函数声明
void menu(); // 菜单
void init(Contact* pc); // 初始化
void add(Contact* pc); // 添加
void del(Contact* pc); // 删除
void search(const Contact* pc); // 查寻
void alter(Contact* pc); // 修改
void sort(Contact* pc); // 排序
void show(const Contact* pc); // 展示
三、测试文件
当我们声明完变量和函数时,不要着急去实现函数,而是先构思好逻辑业务,构思好后再实现函数,边实现边调试,才能将BUG
消灭到最初的时候
int main()
{
Contact con;
init(&con);
menu();
int chose = 0;
do
{
printf("请输入您要进行的操作序号>");
scanf("%d", &chose);
system("cls"); //此时有一个清屏,让黑乎乎的界面更加美观,清完之后打印菜单,方便用户操作
menu();
switch (chose)
{
case 0