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;
}