| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1183 人关注过本帖
标题:编结构体字符串又遇到问题了,唉,只好向各位请教了!(新问题)
只看楼主 加入收藏
crz03128
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2007-5-22
收藏
 问题点数:0 回复次数:17 
编结构体字符串又遇到问题了,唉,只好向各位请教了!(新问题)

#include<stdio.h>
#include<string.h>
struct AdressBook
{
char name[20];
char tel[20];
}txl[5]={{"Li","39344752"},{"Wang","39344730"},{"Xie","39344784"},{"Zhang","39374776"}};

void main()
{
int i,t=0,flag=0,a[5];
char hisname[20];

printf("please insert an new name and tel:");/*插入功能*/
scanf("%s %s",txl[4].name,txl[4].tel);
for(i=0;i<5;i++)
printf("%s %s\n",txl[i].name,txl[i].tel);

printf("please input the name you want search:");/*查找功能*/
scanf("%s",hisname);
for(i=0;i<5;i++)
if(strcmp(hisname,txl[i].name)==0)
{flag=1;a[t]=i;t++;}
if(flag=1)
for(i=0;i<t;i++)
printf("%s\n",txl[a[i]].tel);
else
printf("the name you search did't in the AdressBook\n");


printf("input the name you wnat to del:"); /*前面两个功能都顺利实现,就是这个删除功能实现不了*/
scanf("%s",hisname);
for(i=0;i<6;i++)
if(strcmp(txl[i].name,hisname)==0)
{

txl[j].name=txl[j+1].name;
txl[j].tel=txl[j+1].name;
}
}


提示为:
error C2106: '=' : left operand must be l-value
有人能解释下这是什么意思,为什么会导致这样的结果,及修改的方法吗??

[此贴子已经被作者于2007-6-16 19:59:22编辑过]

搜索更多相关主题的帖子: 结构体 字符 name printf 
2007-06-14 14:52
crz03128
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2007-5-22
收藏
得分:0 
还显示说该内存地址不能为written 郁闷啊

老师领进门,成长靠自己+虚心
2007-06-14 15:08
crz03128
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2007-5-22
收藏
得分:0 

没人回复,难道问的不是时候?


老师领进门,成长靠自己+虚心
2007-06-14 17:51
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
你以后做链表类似的题的时候要经常用到键盘清空函数fflush(stdin);

羊肉串 葡萄干 哈密瓜!!
2007-06-14 17:58
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
问题很多哦

羊肉串 葡萄干 哈密瓜!!
2007-06-14 17:59
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
收藏
得分:0 

如果查找不行,问题很可能出在这里:
if(strcmp(hisname,txl[i].name)==0)
用Debug调试看看.


人生重要的不是所站的位置,而是所朝的方向
2007-06-14 18:03
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 

看看是这样吗?
#include<stdio.h>
#include<string.h>
struct AdressBook
{
char name[20];
char tel[20];
}txl[4]={{"Li","39344752"},{"Wang","39344730"},{"Xie","39344784"},{"Zhang","39374776"}};

void main()
{
int i,t=0,flag=0,a[5];
char hisname[20];
printf("please insert an new name and tel:");
scanf("%s%s",txl[3].name,txl[3].tel);
fflush(stdin);
for(i=0;i<5;i++)
printf("%s%s\n",txl[i].name,txl[i].tel);

printf("please input the name you want search:");
scanf("%s",hisname);
for(i=0;i<5;i++)
if(strcmp(hisname,txl[i].name)==0)
{flag=1;a[t]=i;t++;}
if(flag=1)
for(i=0;i<10;i++)
printf("%s\n",txl[a[i]].tel);
else
printf("the name you search did't in the AdressBook\n");


}


羊肉串 葡萄干 哈密瓜!!
2007-06-14 18:04
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
收藏
得分:0 
strcmp这个什么函数?我做比较都是自己去写函数调用来比较。好少用这些看不明白。看着头晕。不望赐教!

[此贴子已经被作者于2007-6-14 18:08:56编辑过]



深山苦学C语言,终年不见外面世界。
2007-06-14 18:05
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 
呵呵 主要是 输入格式不对 和 键盘缓冲区

羊肉串 葡萄干 哈密瓜!!
2007-06-14 18:06
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
收藏
得分:0 
以下是引用huangfengchu在2007-6-14 18:05:52的发言:
看着头晕。

没有的,这就是整个程序.


人生重要的不是所站的位置,而是所朝的方向
2007-06-14 18:07
快速回复:编结构体字符串又遇到问题了,唉,只好向各位请教了!(新问题)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024998 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved