| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 465 人关注过本帖
标题:这个错误应该怎么修改?
只看楼主 加入收藏
we921
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-9-20
收藏
 问题点数:0 回复次数:3 
这个错误应该怎么修改?

#include <stdio.h>
#include <windows.h>

#define N 20

void sjxsb(float,float,float);//此函数用于判断三角形的类型

/*此结构用于存放三角形的三边*/
struct sjx
{
float bian[3];//存放三角形的三条边
};

void main()
{
struct sjx sjx1[N];
int i,num;
printf("\n请输入您要判断的三角形的个数:");
scanf("%d",&num);
for (i=0;i<num;i++)
{
printf("\n请输入三角形的三边,用空格隔开:");
scanf("%f %f %f",&sjx1.bian[0],&sjx1.bian[1],&sjx1.bian[2]);

sjxsb(sjx1.bian[0],sjx1.bian[1],sjx1.bian[2]);

system("pause");
}

}

void sjxsb(float a,float b,float c)//此函数用于判断三角形的类型
{
if(a==b && b==c)
printf("\n该三角形为等边三角形\n\n");
else if(a==b || a==c || b==c)
printf("\n该三角形为等腰三角形\n\n");
else
printf("\n该三角形不是等边三角形\n\n");
}




我用工具检测结果:
--------------------Configuration: cx - Win32 Debug--------------------
Compiling...
cx.cpp
c:\documents and settings\administrator\桌面\cx.cpp(23) : error C2228: left of '.bian' must have class/struct/union type
c:\documents and settings\administrator\桌面\cx.cpp(23) : error C2228: left of '.bian' must have class/struct/union type
c:\documents and settings\administrator\桌面\cx.cpp(23) : error C2228: left of '.bian' must have class/struct/union type
c:\documents and settings\administrator\桌面\cx.cpp(25) : error C2228: left of '.bian' must have class/struct/union type
c:\documents and settings\administrator\桌面\cx.cpp(25) : error C2228: left of '.bian' must have class/struct/union type
c:\documents and settings\administrator\桌面\cx.cpp(25) : error C2228: left of '.bian' must have class/struct/union type
执行 cl.exe 时出错.

cx.obj - 1 error(s), 0 warning(s)

搜索更多相关主题的帖子: void 三角形 include 
2007-10-13 16:46
josen0205
Rank: 2
来 自:江苏
等 级:论坛游民
帖 子:307
专家分:52
注 册:2007-5-8
收藏
得分:0 
将三角形结构改为
struct sjx
{
float a;
float b;
float c;
};

只有想不到,没有做不到
2007-10-13 17:49
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
错误出现在这里:``你没理解好概念``

看看你定义的: struct sjx sjx1[N];

这个时候再看看``:scanf("%f %f %f",&sjx1.bian[0],&sjx1.bian[1],&sjx1.bian[2]);

重点看 : &sjx1.bian[0],&sjx1.bian[1],&sjx1.bian[2]


看看你哪里马虎了```你没想错```但是失误了```

我刚刚修改了一下```运行成功```

我最近在学结构```还没练习过```这次检查你的错误``就算是练习一下吧``


[此贴子已经被作者于2007-10-13 19:15:34编辑过]


女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-10-13 19:12
ondy
Rank: 1
等 级:新手上路
威 望:1
帖 子:88
专家分:0
注 册:2007-9-4
收藏
得分:0 
struct sjx sjx1[N]; //一个结构数组

scanf("%f %f %f",&sjx1.bian[0],&sjx1.bian[1],&sjx1.bian[2]); //请问你的sjx1 是什么?只是一个结构变量..

改:
scanf("%f %f %f",&sjx1[0].bian[0],&sjx1[1].bian[1],&sjx1[2].bian[2]);

2007-10-13 19:48
快速回复:这个错误应该怎么修改?
数据加载中...
 
   



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

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