码迷,mamicode.com
首页 > 其他好文 > 详细

通讯录

时间:2015-05-19 10:47:33      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

<span style="font-size:18px;">头文件contact.h</span>
<span style="font-size:18px;">
</span>
<pre name="code" class="cpp"><span style="font-size:18px;">#include<string.h>
#include<stdio.h>
#ifndef __CONTACT_H__
#define __CONTACT_H__
#define MAX_NAME 20
#define MAX_SEX 10
#define MAX_TELE 12
#define MAX_ADDR 20
#define MAX_DHB 1000

typedef struct Peo<span style="white-space:pre">			</span>//结构体存储人的信息
{
	char name[MAX_NAME];
	char sex[MAX_SEX];
	int age;
	char tele[MAX_TELE];
	char addr[MAX_ADDR];
}PEO;
typedef struct Contact<span style="white-space:pre">			</span>//结构体包装的电话本
{
	PEO dhb[MAX_DHB];
	int count;
}PCON,*Pcon;
Pcon pcon;
void add_peo(Pcon pcon);
void del_peo(Pcon pcon);
void mod_peo(Pcon pcon);
void sear_peo(Pcon pcon);
void show_peo(Pcon pcon);
void clear_peo(Pcon pcon);
#endif</span>



<span style="font-size:18px;">源文件test.c</span>
<span style="font-size:18px;">
</span>
</pre><pre name="code" class="cpp"><span style="font-size:18px;">#include"contact.h"
void print_menu()
{
	printf("*************************\n");
	printf("***1.add      2.del   ***\n");
	printf("***3.modify   4.search***\n");
	printf("***5.show     6.clear ***\n");
	printf("*************************\n");
}
int main()
{
	int input = 1;
	PCON con;
	con.count = 0;
	while (input)
	{
		print_menu();
		printf("请选择> ");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			add_peo(&con);
			break;
		case 2:
			del_peo(&con);
			break;
		case 3:
			mod_peo(&con);
			break;
		case 4:
			sear_peo(&con);
			break;
		case 5:
			show_peo(&con);
			break;
		case 6:
			clear_peo(&con);
			break;
		default:
			break;
		}
	}
	return 0;
}</span>
<span style="font-size:18px;">
</span>
<span style="font-size:18px;">源文件contact.c</span>
<span style="font-size:18px;">
</span>
<pre name="code" class="cpp"><span style="font-size:18px;">#include"contact.h"
int find(char name[],Pcon pcon)<span style="white-space:pre">			</span>//实现查找一个人的信息的函数
{
	int i=0;
	for (i = 0; i < pcon->count; i++)
	{
		if (strcmp(name, pcon->dhb[i].name) == 0)
			return i;
		else
			return -1;
	}
}
void add_peo(Pcon pcon)<span style="white-space:pre">				</span>//实现增加一个人的信息函数
{
	if (MAX_DHB == pcon->count)
	{
		printf("电话本已满");
	}

	printf("请输入名字:");
	scanf("%s", pcon->dhb[pcon->count].name);
	printf("请输入性别:");
	scanf("%s", pcon->dhb[pcon->count].sex);
	printf("请输入年龄:");
	scanf("%d", &(pcon->dhb[pcon->count].age));
	printf("请输入电话:");
	scanf("%s", pcon->dhb[pcon->count].tele);
	printf("请输入地址:");
	scanf("%s", pcon->dhb[pcon->count].addr);
	printf("添加成功!");
	pcon->count++;
}
void del_peo(Pcon pcon)<span style="white-space:pre">				</span>//实现删除一个人的信息的函数
{
	int ret = 0;
	int i = 0;
	char name[MAX_NAME];
	printf("请输入要删除的人的名字:");
	scanf("%s", name);
	ret=find(name, pcon);
	if (ret == -1)
		printf("没有此人");
	for (i = ret; i < pcon->count - 1; i++)
	{
		pcon->dhb[i] = pcon->dhb[i + 1];
	}
	printf("删除成功!");
	pcon->count --;
}
void mod_peo(Pcon pcon)<span style="white-space:pre">				</span>//实现修改一个人的信息的函数
{
	char name[MAX_NAME];
	int ret = 0;
	printf("请输入要修改的人的名字:");
	scanf("%s", name);
	ret=find(name, pcon);
	if (ret == -1)
		printf("没有此人");
	else
	{
		printf("请输入名字:");
		scanf("%s", pcon->dhb[ret].name);
		printf("请输入性别:");
		scanf("%s", pcon->dhb[ret].sex);
		printf("请输入年龄:");
		scanf("%d", &(pcon->dhb[ret].age));
		printf("请输入电话:");
		scanf("%s", pcon->dhb[ret].tele);
		printf("请输入地址:");
		scanf("%s", pcon->dhb[ret].addr);
		printf("修改成功!");
	}
}
void sear_peo(Pcon pcon)<span style="white-space:pre">				</span>//实现查找一个人的信息函数
{
	char name[MAX_NAME];
	int ret = 0;
	printf("请输入要查找的人的名字:");
	scanf("%s", name);
	ret=find(name, pcon);
	if (ret == -1)
		printf("查无此人");
	printf("%20s\t", pcon->dhb[ret].name);
	printf("%10s\t", pcon->dhb[ret].sex);
	printf("%20d\t", pcon->dhb[ret].age);
	printf("%20s\t", pcon->dhb[ret].tele);
	printf("%20s\n", pcon->dhb[ret].addr);

}
void show_peo(Pcon pcon)<span style="white-space:pre">			</span>//实现显示所有人信息的函数
{
	int i = 0;
	for (i = 0; i < pcon->count; i++)
	{
		printf("%5s", pcon->dhb[i].name);
		printf("%5s", pcon->dhb[i].sex);
		printf("%5d", pcon->dhb[i].age);
		printf("%15s", pcon->dhb[i].tele);
		printf("%8s\n", pcon->dhb[i].addr);
	}
}
void clear_peo(Pcon pcon)<span style="white-space:pre">		</span>//实现清空所有人信息的函数
{
	pcon->count = 0;
}</span>



通讯录

标签:

原文地址:http://blog.csdn.net/kkmdmcgxi/article/details/45828715

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!