c语言创建通讯录不用指针,C语言结构体指针知识编写通讯录

1.头文件

#ifndef  _PHONESHOW_H_

#define  _PHONESHOW_H_

#include

#include

#include

typedef unsigned char UINT8;

typedef unsigned char UINT8;

typedef unsigned short UINT16;

#define MAX 10

typedef struct Person

{

char name[20];

char sex[10];

int age;

int phone;

char addre[20];

}STU_Person;

typedef struct contact

{

STU_Person *data;

UINT8 count; /*总共存放联系人数*/

UINT8 capacity;/*当前通讯录的容量*/

}Contact,*Pcontact;

void add(Pcontact contact); /*添加联系人*/

void Delete();/*删除联系人*/

void Select();/*查找联系人*/

Update(Pcontact contact, char* name);/*修改联系人*/

void Show(Pcontact contact, int posit);/*显示联系人*/

void Clean(Pcontact contact );/*清空联系人*/

/*判断通讯录是否为空*/

UINT8 EmptyPhoneShow(Pcontact contact);

/*创建新通讯录*/

Pcontact CreatePhoneShow();

/*判断通讯录是否为满*/

UINT8 FullPhoneShow(Pcontact contact);

#endif

2.函数实现

#include "PhoneShow.h"

/*创建总共可以容纳10个人的通讯录*/

Pcontact CreatePhoneShow()

{

Pcontact contact = (Pcontact)malloc(sizeof(Contact));

if (NULL != contact)

{

contact->count = MAX;

contact->capacity = 0;

}

else

{

;

}

return contact;

}

/*判断通讯录是否为空*/

UINT8 EmptyPhoneShow(Pcontact contact)

{

return(!contact->capacity);

}

/*判断通讯录是否满*/

UINT8 FullPhoneShow(Pcontact contact)

{

if (contact->capacity == contact->count)

{

return 1;

}

else

{

return 0;

}

}

/*添加联系人*/

void add(Pcontact contact)

{

if (FullPhoneShow(contact))

{

puts("人满了");

}

else

{

contact->data = (STU_Person*)malloc(sizeof(STU_Person));

if (NULL != contact->data)

{

/*添加名字*/

strcpy(contact->data[contact->capacity].name, "hello");

/*添加性别*/

strcpy(contact->data[contact->capacity].sex, "nan");

/*添加年龄*/

contact->data[contact->capacity].age = 18;

/*添加电话号*/

contact->data[contact->capacity].phone = 15;

/*添加地址*/

strcpy(contact->data[contact->capacity].addre, "hebei");

}

}

contact->capacity++;

}

/*显示信息*/

void Show(Pcontact contact,int posit)

{

/*输出名字*/

if (1 == EmptyPhoneShow(contact))

return 0;

printf("%s\n", contact->data[posit].name);

/*输出性别*/

printf("%s\n", contact->data[posit].sex);

/*输出年龄*/

printf("%ld\n",contact->data[posit].age);

/*输出电话号*/

printf("%ld\n",contact->data[posit].phone);

/*输出地址*/

printf("%s\n", contact->data[posit].addre);

}

/*清空联系人*/

void Clean(Pcontact contact)

{

free(contact);

contact = NULL;

}

/*修改联系人*/

Update(Pcontact contact,char *name)

{

int campValue = 0;

campValue = strcmp(contact->data->name,name);

if (0 == campValue)

{

puts("sb");

}

}

3.主函数

#include "PhoneShow.h"

void test01()

{

Pcontact contact =  CreatePhoneShow();

add(contact);

Show(contact,0);

Update(contact,"hello2");

}

int main()

{

test01();

return 0;

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值