如何为所有结构成员赋值
How to give values to all structure members
我有一个 c++ 作业。这是:
编写一个C++程序来实现以下说明:
- 定义一个全局结构,并使用以下成员将其命名为 GStruct:a. X 作为整数b. Y 为整数。
- 在 main 中定义一个本地结构,并使用以下成员将其命名为 LStruct:a. X 作为整数b. Y[3] 饰 GStruct
- 在 main 中声明两个变量 V1 和 V2,类型为 LStruct。
- 使用输入语句 (cin( 为其所有成员提供值。
- 如果 V1 等于 V2,则打印"它们相等",否则打印"不等于"。
做了所有要求我做的事情,我没有收到任何错误。但它不像我要求的那样工作。一直在研究这个问题超过 5 小时。这让我发疯。我看了100遍,没有用。请帮忙....这就是我想出的,确定没问题,但缺少一些东西,但我不知道它是什么。
#include <iostream>
using namespace std;
struct GStruct
{
int x;
int y;
};
int main()
{
struct LStruct
{
int x;
GStruct y[3];
};
LStruct V1;
LStruct V2;
cin>>V1.x;
cout<<V1.x<<endl;
for (int i=0; i<3;i++)
{
cin>>V1.y[i].x;
}
for (int i=0; i<3;i++)
{
cin>>V1.y[i].y;
}
cin>>V2.x;
cout<<V2.x<<endl;
for (int i=0; i<3;i++)
{
cin>>V2.y[i].x;
}
for (int i=0; i<3;i++)
{
cin>>V2.y[i].y;
}
for (int i=0; i<3; i++)
{
if (V1.y[i].x == V2.y[i].x && V1.y[i].y == V2.y[i].y && V1.x == V2.y)
continue;
else
cout<<"Not equal"<<endl;
}
return 0;
}
首先
,按照我之前的建议将V1.x == V2.y
更改为V1.x == V2.x
。然后将相等性检查更改为此,因为如果所有成员都相等,则只希望两个对象相等。
bool equal = true;
for (int i=0; i<3; i++)
{
if (V1.y[i].x == V2.y[i].x && V1.y[i].y == V2.y[i].y && V1.x == V2.x)
continue;
else
{
equal = false;
break;
}
}
if ( equal )
cout<<"Equal"<<endl;
else
cout<<"Not equal"<<endl;
相关文章:
- 具有结构成员char数组的sscanf
- 仅使用结构名称访问结构成员
- 使用 structType*& 赋给结构成员
- 使用结构成员指针在C++中填充结构
- 聚合初始化,将成员指针设置为同一结构成员
- 为什么结构化绑定不使用"auto&"返回对结构成员的引用,而是返回成员本身
- 是否可以将结构数组别名为结构成员数组?
- 结构成员在访问时被清除
- 如何指示结构成员没有锯齿?
- 为什么继承的结构成员在联合中无法访问?
- 尝试在 qml 中访问结构成员的 QList
- C++/CLI -- 访问结构成员
- 调用在类中声明的结构成员
- 对结构成员的临时绑定引用
- 无法使用 strcpy 将字符串复制到静态结构成员
- 为什么类成员数据必须是静态的才能被模板化类的模板化结构成员访问
- 填充模板化结构类型的结构成员
- C/C++intellisense 0.26.1不显示结构成员列表
- 在源文件中创建具有结构成员的结构
- 如何访问结构成员作为指针