大一初学结构体 思路不是很明朗 做一个题不知道哪里出了错还请各位回答者帮助
制作一个简单的通信录,输入姓名和电话,将其保存在结构体数组中;通过输入姓名,可查询到某个人的电话;如果姓名为空则列出所有人的姓名与电话。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 3
struct mail{
char name[N][10];
int number[10];
}mai;
void Input(struct mail *p,int n)
{
int i;
for (i=0;i<n;i++)
{
printf("请输入第%d个学生的姓名\n", i + 1);
gets(p[i].name);
printf("请输入第%d个学生的号码\n", i + 1);
scanf("%d",p[i].number);
}
}
void search(struct mail *p,char name1[])
{
int i,k;
for(i=0;i<N;i++)
{
if(strcmp(p[i].name,name1)==0)
{
k=i;
printf("%s\t%s\n","name","number");
printf("%s\t%d\n",p[k].name,p[k].number);
}
else if(*name1==" "||*name1=="\n")
{
printf("%s\t%s\n","name","number");
for(i=0;i<N;i++)
{
printf("%s\t%d\n",p[i].name,p[i].number);
}
}
}
}
int main()
{
struct mail *s;
Input(s,8);
char name[2][3];
gets(name);
search(s,name);
}