c++ 从结构体打印
c++ Printing from a struct
我正在做一些事情,我必须做的要点基本上是:
1) 声明一个名为 partType 的结构,它有两个成员:name (保存 部分)和代码(保存整数)。
2) 声明两个类型为 partType 的变量。
3)提示用户输入第一项的名称和代码并存储它们 到相应的变量中。
4)提示用户输入第二项的名称和代码并存储它们 到相应的变量中。
5) 按代码比较项目并显示如图所示的输出 示例如下:
示例 1: 输入项目1的名称和代码:螺栓22222
输入item2的名称和代码:螺母11111
螺栓追逐库存中的螺母
示例 2: 输入项目1的名称和代码:螺栓11111
输入item2的名称和代码:螺母22222
螺栓在库存中的螺母之前
我目前的代码是:
#include <iostream>
#include <string>
using namespace std;
struct partType {
string name;
int code;
};
int main() {
partType nam, num;
cout << "enter name and code of item1: ";
cin >> nam.name >> num.code;
cout << "enter name and code for item2: ";
cin >> nam.name >> num.code;
if (num.code > num.code) {
cout << nam.name << " goes after " << nam.name;
}
else if (num.code < num.code) {
cout << nam.name << " goes before " << nam.name;
}
else {
cout << "tie";
}
system("pause");
return 0;
}
我觉得我不应该两次使用 nam 和 num,因为它会覆盖它,但我不完全确定如何解决它
阅读您的代码,您似乎混淆了nam
和num
变量。
partType nam, num;
此行创建两个partType
变量,一个称为nam
,另一个称为num
。
cout << "enter name and code of item1: ";
cin >> nam.name >> num.code;
小心!您提示输入第一项的名称和代码,但将代码的输入放入第二个变量中!
cout << "enter name and code for item2: ";
cin >> nam.name >> num.code;
您不是设置第二个变量的两个字段,num
,您只是设置第二个变量的code
字段,而是设置第一个变量的name
字段,此外,您将覆盖从第一个输入提示输入的数据。
if (num.code > num.code) {
cout << nam.name << " goes after " << nam.name;
}
else if (num.code < num.code) {
cout << nam.name << " goes before " << nam.name;
}
您正在将表达式与自身进行比较。你应该做num.code < nam.code
,反之亦然。
相关文章:
- 根据用户回答声明"Players"。用户选择玩家数量。播放器是结构体
- 结构体 S { int align; } 之间的区别;(struct 关键字后的名称)和 struct { int al
- C++ - 如何在结构向量中找到结构体一个成员的最大值?
- 包含 std::list 的结构体的 C++ 初始化
- 结构体和类的不同大小(),彼此具有相同的字段类型
- 如何使用结构体的向量数组?
- 如何使用结构体在C++中更改这些代码?
- 无法在 Mosquitto MQTT Broker 插件上访问结构体 mosquitto 的元素
- 我应该如何在C++中使用结构体解决输入失败的问题?
- Qsort() 比较结构体整数的总和
- 如何使用迭代器指向结构体c++的向量
- 在C++中使用链表的堆栈实现中,访问结构体headNode成员count和top会导致运行时错误
- 如何获取结构体成员的地址
- c++ 从结构体打印
- 如何调用一个函数,它在一个单独的类中打印出一个结构体数组
- 打印结构体的向量时的奇怪行为
- 用c++打印XMacro结构体到控制台中
- 将vector中结构体的成员字符串打印到cout流
- 在VS断点中打印整个结构体
- 使用迭代器从列表中打印结构体值