哪里有做网站系统的,app平台搭建,济南做网站哪家好怎么选,wordpress管理员权限获取基于顺序表基础实现通讯录项目 前言通讯录的实现 前言
Hello,亲爱的CSDN的小伙伴们#xff0c;你们好#xff01;基于上一篇博客的基础上#xff0c;今天我来带领大家实现通讯录项目#xff0c;上一篇博客在这里哦#xff01;顺序表的实现
通讯录的实现
顺序表的实现在… 基于顺序表基础实现通讯录项目 前言通讯录的实现 前言
Hello,亲爱的CSDN的小伙伴们你们好基于上一篇博客的基础上今天我来带领大家实现通讯录项目上一篇博客在这里哦顺序表的实现
通讯录的实现
顺序表的实现在上一篇博文中这里就不再过多讲解了。 我们知道顺序表可以插入内置类型也可以插入自定义类型。实现通讯录项目我们要自定义联系人系列内容再一条一条的插入顺序表中就构成了我们所知的通讯录。 接下来是代码的实现
通讯录的头文件
#define NAME_MAX 20
#define GENDER_MAX 10
#define AGE_MAX 20
#define TEL_MAX 20
#define ADDR_MAX 100
typedef struct personInfo
{char name[NAME_MAX];char gender[GENDER_MAX];int age[AGE_MAX];char tel[TEL_MAX];char addr[ADDR_MAX];
}personInfo;typedef struct SeqList Contract;//通讯录的初始化
void ContractInit(Contract* con);
//通讯录的销毁
void ContractDeatory(Contract* con);
//通讯录的添加
void ContractAdd(Contract* con);
//通讯录的删除
void ContractDel(Contract* con);
//通讯录的修改
void ContractModefy(Contract* con);
//通讯录的展示
void ContractShow(Contract* con);
//通讯录的查找
void ContractFind(Contract* con);通讯录的源文件
#includeContract.h
#includeSeqList.h
void ContractInit(Contract* con)
{SLInit(con);
}void ContractDeatory(Contract* con)
{SLDestory(con);
}void ContractAdd(Contract* con)
{personInfo info;printf(请输入要添加的联系人姓名\n);scanf(%s, info.name);printf(请输入要添加的联系人性别\n);scanf(%s, info.gender);printf(请输入要添加的联系人年龄\n);scanf(%s, info.age);printf(请输入要添加的联系人电话\n);scanf(%s, info.tel);printf(请输入要添加的联系人地址\n);scanf(%s, info.addr);SLPushback(con, info);}int FindByName(Contract* con, char name[])
{for (int i 0; i con-size; i){if (0 strcmp(con-arr[i].name, name)){return i;}elsereturn -1;}
}void ContractDel(Contract* con)
{//要删除的数据必须要存在、//查找char name[NAME_MAX];printf(请输入要删除的联系人姓名\n);scanf(%s, name);int find FindByName(con, name);if (find 0){printf(要删除的数据不存在\n);return;}SLErase(con, find);printf(删除成功\n);
}
void ContractShow(Contract* con)
{printf(%s %s %s %s %s\n, 姓名, 性别, 年龄, 电话, 地址);for (int i 0; i con-size; i){printf(%s %s %d %s %s\n,con-arr[i].name,con-arr[i].gender,con-arr[i].age,con-arr[i].tel,con-arr[i].addr);}
}void ContractModefy(Contract* con)
{char name[NAME_MAX];printf(请输入要修改的联系人姓名\n);scanf(%s, name);int find FindByName(con, name);if (find 0){printf(要修改的数据不存在\n);return;}printf(请输入新的联系人姓名\n);scanf(%s, con-arr[find].name);printf(请输入新的联系人性别\n);scanf(%s, con-arr[find].gender);printf(请输入新的联系人年龄\n);scanf(%d, con-arr[find].age);printf(请输入新的联系人电话\n);scanf(%s, con-arr[find].tel);printf(请输入新的联系人地址\n);scanf(%s, con-arr[find].addr);printf(修改成功\n);
}void ContractFind(Contract* con)
{//查找char name[NAME_MAX];printf(请输入要查找的联系人姓名\n);scanf(%s, name);int find FindByName(con, name);if (find 0){printf(要查找的数据不存在\n);return;}printf(%s %s %s %s %s\n, 姓名, 性别, 年龄, 电话, 地址);printf(%s %s %d %s %s\n, con-arr[find].name, con-arr[find].gender, con-arr[find].age, con-arr[find].tel, con-arr[find].addr);}需要注意的是这里的头文件和源文件需要结合顺序表的实现一起写大家可以翻稳定主页寻找码源。 完