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)输出 展开
#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)输出 展开
展开全部
你确定你发完整了吗?
怎么缺好多东西啊?
你的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);
}
现在可以了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询