1. 程式人生 > >結構體——使用結構體實現資訊查詢

結構體——使用結構體實現資訊查詢

使用結構體實現資訊查詢

/***************************************
功能:使用結構體實現資訊查詢
日期:2014年12月10日14:46:02
**************************************/
#include<stdio.h>
#include<string.h>
#define MAX 101
struct aa//定義結構體aa用來儲存電話號碼和姓名
{
	char name[15];
	char tel[15];
};
int readin(struct aa *a)//建立電話號碼和姓名,並存入結構體中
{
	int i = 0, n = 0;
	while(1)
	{
		scanf("%s",a[i].name);//輸入姓名
		if (!strcmp(a[i].name, "#"))
			break;
		scanf("%s",a[i].tel);//輸入電話號碼
		i++;
		n++;				//記錄的條數
	}
	return n;				//返回的條數
}
void search(struct aa *b, char *x, int n)//用來查詢輸入的姓名所對應的電話號碼
{
	int i = 0;
	while(1)
	{
		if (!strcmp(b[i].name, x))	//查詢與輸入姓名相匹配的記錄
		{
			printf("name:%s  tel:%s\n", b[i].name,b[i].tel );//列印查到的姓名所對應的電話號碼
			break;											//終止當前的動作
		}
		else
			i++;
		n--;
		if (n == 0)
		{
			printf("No found!");
			break;
		}

	}
}
int main()
{
	struct aa s[MAX];//定義了一個結構體陣列,長度為101
	int num;
	char name[15];
	num = readin(s);//呼叫函式 readin()  ,建立(姓名+電話)資訊的個數
	printf("input the name:");
	scanf("%s",name);
	search(s, name, num);
	return 0;
}
/*****************************
qwe
133321654
qaz
3254562
wsx
369541102
#
input the name:wsx
name:wsx  tel:369541102
Press any key to continue
******************************/