当前位置: 首页 > news >正文

网站建设kpi考核电子个人简历手机版免费

网站建设kpi考核,电子个人简历手机版免费,wordpress 顶部自定义,网站建设信息在哪儿发布目录 可以先看一遍第二节在看这个 顺序表(第二节)实现和解析-CSDN博客 1.顺序表的头文件 2.初始化通讯录 3.添加通讯录 特殊:查找对应姓名的通讯录的序号 4.删除通讯录 5.展示通讯录 6.查找通讯录 7.修改通讯录 8.销毁通讯…

目录

可以先看一遍第二节在看这个         顺序表(第二节)实现和解析-CSDN博客

1.顺序表的头文件

2.初始化通讯录

3.添加通讯录

特殊:查找对应姓名的通讯录的序号 

4.删除通讯录

5.展示通讯录

6.查找通讯录

7.修改通讯录

8.销毁通讯录


可以先看一遍第二节在看这个         顺序表(第二节)实现和解析-CSDN博客

1.顺序表的头文件

#pragma once
#define NAME_MAX 100#define SEX_MAX 4#define TEL_MAX 11#define ADDR_MAX 100
//前置声明
typedef struct SeqList contact;
//用户数据
typedef struct PersonInfo{char name[NAME_MAX];char sex[SEX_MAX];char telenum[TEL_MAX];char adr[ADDR_MAX];
}PeoInfo;
//初始化通讯录
void InitContact(contact* con);
//添加通讯录数据
void AddContact(contact* con);
//删除通讯录数据
void DelContact(contact* con);
//展示通讯录数据
void ShowContact(contact* con);
//查找通讯录数据
void FindContact(contact* con);
//修改通讯录数据
void ModifyContact(contact* con);
//销毁通讯录数据
void DestroyContact(contact* con);

 #pragma once 的意思是同一个头文件只能展开一次。

下面define几个变量。

第一个typedef 是把前面顺序表的结构体重命名为 contact。

第二个typedef 是把你通讯录的结构体类型重命名为 peoinfo。

下面则是每个方法的的接口名称。

2.初始化通讯录

void InitContact(contact* con)
{SLInit(con);
}

很简单调用前面的顺序表的初始化接口即可。 

3.添加通讯录

void AddContact(contact* con)
{PeoInfo info = {0};printf("请输入联系人姓名:\n");scanf("%s", info.name);printf("请输入联系人性别:\n");scanf("%s", info.sex);printf("请输入联系人电话号码:\n");scanf("%s", info.telenum);printf("请输入联系人地址:\n");scanf("%s", info.adr);SLPushBack(con, info);
}

让别人输入4个变量的值的过程,也很简单都是基础  !!!!!! 

特殊:查找对应姓名的通讯录的序号 

int FindByName(contact* con, char name[])
{for (int i = 0; i < con->size; i++){if (strcmp(con->a[i].name, name) == 0){return i;}}return -1;
}

这个函数作为中间函数,可以不用写在头文件里,但对于后面几步的操作确实必不可少的。

首先这个函数查找的是 用名字找位置(当然你也可以用其他的变量的值作为查找值)。

传入两个参数第一个是要查找的通讯录的指针,第二个则是要查找的姓名。

用遍历遍历每一个顺序表的表格中的内容,然后用strcmp函数来做比较,因为字符串比较用不了大小于符号。

strcmp的用法就是对比两个字符串如果都相等则返回0,如果不相等则返回不是0的数。

如果找到了就返回这个 i (这个 i 就是 相同名字在 通讯录的位置。)

找不到就返回-1. 

4.删除通讯录

void DelContact(contact* con)
{printf("请输入要删除的人的姓名:\n");char name[NAME_MAX];scanf("%s", name);int find = FindByName(con, name);if (find >= 0){SLErase(con, find);}else{printf("要删除的联系人不存在。\n");return;}
}

传入通讯录的指针。

然后让用户输入要查找的通讯录姓名,在用 int find 接收 函数返回值。

如果返回的是 i 那就是大于0 的,反之为-1 (上面特殊函数的返回值)。

如果大于0就代表找到了,利用顺序表删除的接口,删除这一格的通讯录信息。

反之就是没找到,打印没找到并返回。 

5.展示通讯录

void ShowContact(contact* con)
{printf("%-4s %-4s %-11s %s\n", "姓名", "性别", "号码", "地址");for (int i = 0; i < con->size; i++){printf("%-4s %-4s %-11s %s\n", con->a[i].name, con->a[i].sex, con->a[i].telenum, con->a[i].adr);}}

展示通讯录就是把通讯录的内容打印出来即可。先做好表头就是把内容都打印好。
然后再用for循环给通讯录的内容一一遍历并打印出来即可。

6.查找通讯录

void FindContact(contact* con)
{char name[NAME_MAX];printf("你要查找的姓名:\n");scanf("%s", name);int find = FindByName(con, name);if (find < 0){printf("你输入的姓名不存在!\n");return;}printf("%-4s %-4s %-11s %s\n", "姓名", "性别", "号码", "地址");printf("%-4s %-4s %-11s %s\n", con->a[find].name, con->a[find].sex, con->a[find].telenum, con->a[find].adr);
}

查找通讯录和删除的前提都是一样的,都是用 findbyname 函数找到对应位置的通讯录。

然后找到了就打印出这一格的通讯录内容即可。 

7.修改通讯录

void ModifyContact(contact* 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->a[find].name);printf("请输入修改后的性别:\n");scanf("%s", con->a[find].sex);printf("请输入修改后的电话:\n");scanf("%s", con->a[find].telenum);printf("请输入修改后的地址:\n");scanf("%s", con->a[find].adr);
}

更改联系人,和上面也一样先用到 findbyname 接口。

然后在对通讯录里的内容进行更改就好。 

8.销毁通讯录

void DestroyContact(contact* con)
{SLDestory(con);
}

销毁通讯录,就用到顺序表的销毁接口就好了。总之通讯录的实现是很快的。 

 9.优化界面(超简易版)

#include"sql.h"
#include"txl.h"
void menu()
{printf("***********************************\n");printf("*****1.添加联系人 2.删除联系人*****\n");printf("*****3.查找联系人 4.查看联系人*****\n");printf("*****5.修改联系人 0.退出通讯录*****\n");printf("***********************************\n");
}
int main()
{contact con;InitContact(&con);int num = 0;do{menu();printf("输入操作数:\n");scanf("%d", &num);switch (num){case 1:AddContact(&con);break;case 2:DelContact(&con);break;case 3:FindContact(&con);break;case 4:ShowContact(&con);break;case 5:ModifyContact(&con);break;case 0:printf("退出!\n");break;default:printf("输入的操作不存在!请重新输入\n");break;}} while (num);DestroyContact(&con);return 0;
}

 最终结果:

http://www.yayakq.cn/news/165574/

相关文章:

  • 折扣卡网站建设吴中seo页面优化推广
  • 网站建设模板ppt扶贫网站建设的意义
  • 网站被墙301怎么做都江堰旅游门户网站
  • 在北京注册公司在哪个网站上安庆市住房和建设厅网站首页
  • 大型网站建设定制南宁 建网站 公司
  • 陕西东盟建设工程有限公司网站谷歌浏览器下载手机版
  • iis不用dns解析还有什么办法也能一个ip对应多个网站吗啤酒免费代理0元铺货
  • 合肥建设局网站官网台州网页设计公司
  • 施工企业如何获取竞争优势百度智能小程序怎么优化排名
  • 网站建站北京东莞个人免费建网站
  • 江西省工程建设信息官方网站湖南网站优化代运营
  • 购物网站开发方案wordpress注册页模板
  • 家具网站建设比较好的河南一般建一个网站需要多少钱
  • 可信网站标志什么网站可以做特价活动
  • WordPress资讯站点源码网络维护公司经营范围
  • 国内开源代码网站找公司做网站先付全款吗
  • 北京建站公司网站哈尔滨网站设计人
  • wordpress 分享网站编程软件哪个好用
  • 网站建设 图书管理网站黑镜主题 wordpress
  • 兰州微网站建设免费微网站模板
  • 化工网站建设公司国内装修公司排名
  • 加强网站信息内容建设网迎客 网站建设
  • app哪个网站开发好百度新站关键词排名
  • 网站怎么做百度认证吗公司想做个网站怎么办
  • 怎么在外管局的网站做延期微信开发者工具代码
  • 建设厅电工证查询网站北京手机网站开发价格
  • 推广型网站制作公司没有网站如何做营销
  • 湖北网站建设的释义附近的代理记账公司有哪些
  • 海城建设网站wordpress编辑页面如何修改
  • 免费建站的网站哪个好泰州市住房和城乡建设局官方网站