C语言 关于通讯录的 要求只要完成添加和显示联系人数据、按姓名查询功能。要求使用结构体数组。代码如下

帮忙改改或还缺什么,谢谢了#include<stdio.h>voidmain()//定义结构体structtongxunlu{charname[20];chartel[1... 帮忙改改 或还缺什么 ,谢谢了

#include<stdio.h>
void main()
//定义结构体
struct tongxunlu
   { char name[20];
   char tel[10];
  };
//编写主函数(1) 声明结构数组(2) 循环输入姓名和电话,并存入数组(3) 调用查询函数
struct tongxunlu a[M],*p=a;
printf("请输入姓名和电话:\n");
for(i=0;i<M;i++)
scanf("%s%s",a[i].name,a[i].tel);
chaxun(p);
//编写查询函数 (1) 输入要查询人的姓名(2) 遍历数组:用循环,判断数组元素的姓名成员的值是否等于输入项,若等则定位显示,退出循环。
printf("请输入要查询的姓名:\n");
scanf("%s",q);

for(i=0;i<M;i++)
{
if(strcmp(p[i].name,q)==0)
{

printf("result:%s %s\n",p[i].name,p[i].tel); break;}
}

// (3)输出
展开
 我来答
zhao1991mg
2013-05-31 · TA获得超过208个赞
知道小有建树答主
回答量:216
采纳率:0%
帮助的人:191万
展开全部

你确定你发完整了吗?

怎么缺好多东西啊?

你的chaxun函数在哪???

申明结构体变量时M的值是哪来的???

我帮你改了一下,大体上是相同的

#include <stdio.h>
#include <string.h>

#define M 5

//定义结构体
struct tongxunlu 

char name[20];
char tel[10]; 
};

//编写查询函数 (1) 输入要查询人的姓名(2) 遍历数组:用循环,判断数组元素的姓名成员的值是否等于输入项,若等则定位显示,退出循环。
void chaxun(struct tongxunlu su[M])
{
char *q;
int i;

printf("请输入要查询的姓名:\n");
scanf("%s",q);

for(i=0;i<M;i++)

if(strcmp(su[i].name,q)==0)

printf("result:%s  %s\n",su[i].name,su[i].tel);
break;
}
}
}

//编写主函数(1) 声明结构数组(2) 循环输入姓名和电话,并存入数组(3) 调用查询函数
void main()
{
char *p;
int i;

struct tongxunlu su[M];
printf("请输入姓名和电话:\n");
for(i=0;i<M;i++)
scanf("%s%s",su[i].name,su[i].tel);
chaxun(su);
}
更多追问追答
追问
调试时错是没错了 但不会运行  
分别输了5个名字和五个对应的电话号码 后在输入查询的名字时 就出错了
这是怎么回事
追答
#include 
#include

#define M 3

struct tongxunlu
{
char name[20];
char tel[10];
};

void chaxun(struct tongxunlu su[M])
{
char name[10];
int i;

printf("请输入要查询的姓名:\n");
scanf("%s",name);

for(i=0;i<M;i++)
{
if(strcmp(su[i].name,name) == 0)
{
printf("result:%s %s\n",su[i].name,su[i].tel);
break;
}
else
{
printf("没有该联系人\n");
}
}
}

void main()
{
char *p;
int i;

struct tongxunlu su[M];
printf("请输入姓名和电话:\n");
for(i=0;i<M;i++)
{
printf("第%d位联系人姓名和电话:\n",i + 1);
scanf("%s %s",su[i].name,su[i].tel);
}
chaxun(su);
}
现在可以了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式