<pre name="code" class="cpp">//test.h
#ifndef __TEST_H__
#define __TEST_H__
#define MAX_NAME 10
#define MAX_SEX 10
#define MAX_TELE 12
#define MAX_ADDR 20
#define MAX_LEN 1000
struct peo
{
char name[MAX_NAME];
char sex[MAX_SEX];
int age;
char tele[MAX_TELE];
char addr[MAX_ADDR];
};
typedef struct Test
{
struct peo dhb[MAX_LEN];;
int count;
}*P;
void add_peo(P p);
void del_peo(P p);
void search_peo(P p);
void modify_peo(P p);
void show_peo(P p);
void clear_peo(P p);
#endif //__TEST_H__
//test.c
#include"test.h"
#include<stdio.h>
#include<string.h>
//找到所需的联系人
int find_entry(P p)
{
char tmpName[MAX_NAME];
int i;
scanf("%s",tmpName);
for(i=0;i<p->count;i++)
{
if((strcmp(tmpName,p->dhb[i].name)==0))
{
return i;
}
}
return -1;
}
//添加联系人
void add_peo(P p)
{
if(MAX_LEN==p->count)
{
printf("电话本已满\n");
return ;
}
printf("name :");
scanf("%s",p->dhb[p->count].name);
printf("sex :");
scanf("%s",p->dhb[p->count].sex);
printf("age :");
scanf("%d",&(p->dhb[p->count].age));
printf("tele :");
scanf("%s",p->dhb[p->count].tele);
printf("addr :");
scanf("%s",p->dhb[p->count].addr);
p->count++;
}
//删除联系人
void del_peo(P p)
{
int i;
int ret=find_entry(p);
if(ret!=-1)
{
for(i=ret;i<p->count-1;i++)
{
p->dhb[i]=p->dhb[i+1];
}
}
p->count--;
}
//查找联系人
void search_peo(P p)
{
int i=find_entry(p);
if(i!=-1)
{
printf("%10s",p->dhb[i].name);
printf("%10s",p->dhb[i].sex);
printf("%10d",p->dhb[i].age);
printf("%15s",p->dhb[i].tele);
printf("%15s",p->dhb[i].addr);
}
}
//修改联系人
void modify_peo(P p)
{
int i=find_entry(p);
if(i!=-1)
{
printf("name :");
scanf("%s",p->dhb[i].name);
printf("sex :");
scanf("%s",p->dhb[i].sex);
printf("age :");
scanf("%d",&(p->dhb[i].age));
printf("tele :");
scanf("%s",p->dhb[i].tele);
printf("addr :");
scanf("%s",p->dhb[i].addr);
}
}
//显示联系人
void show_peo(P p)
{
int i;
for(i=0;i<p->count;i++)
{
printf("%10s",p->dhb[i].name);
printf("%10s",p->dhb[i].sex);
printf("%10d",p->dhb[i].age);
printf("%15s",p->dhb[i].tele);
printf("%15s",p->dhb[i].addr);
printf("\n");
}
}
//清空联系人
void clear_peo(P p)
{
p->count=0;
}
//main.c
#include<stdio.h>
#include<malloc.h>
#include"test.h"
void menu()
{
printf("*********************************\n");
printf("***1->add 2->del**********\n");
printf("***3->search 4->modify*******\n");
printf("***5->show 6->clear********\n");
printf("*********************************\n");
}
int main()
{
int input=1;
struct Test *p;
p=(struct Test *)malloc(sizeof(struct Test));
p->count=0;
while(input)
{
menu();
printf("\n请选择:");
scanf("%d",&input);
switch(input)
{
case 1:
add_peo(p);
break;
case 2:
del_peo(p);
break;
case 3:
search_peo(p);
break;
case 4:
modify_peo(p);
break;
case 5:
show_peo(p);
break;
case 6:
clear_peo(p);
break;
default:
break;
}
}
return 0;
}
通讯录
最新推荐文章于 2025-03-03 21:56:56 发布
5万+

被折叠的 条评论
为什么被折叠?



