【发布时间】:2018-04-28 22:22:42
【问题描述】:
我正在尝试使用 3D 结构数组创建学校课程安排计划。
struct SPS
{
string Class;
string Teacher;
int noStudents;
};
struct SPS array[3][4][5];
概念视图:
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
我希望能够在特定位置输入数组,例如[1][2][2]。
这是我当前的代码,但它按预期工作。
cout << "Class:" << endl;
cin >> array[1][2][2].Class;
cout << "Teacher:" << endl;
cin >> array[1][2][2].Teacher;
cout << "Number of students:" << endl;
cin >> array[1][2][2].noStudents;
我正在尝试打印数组,但它没有在输出中显示:
for (int a = 0; a<3; a++)
{
for (int b = 0; b<4; b++)
{
for (int c= 0; c<5; c++)
{
printf("%d\t", array[a][b][c]);
}
cout << "\n";
}
cout << "\n";
}
任何帮助将不胜感激。
【问题讨论】:
-
您能补充更多信息吗?运行上面的代码会发生什么?你期望会发生什么?
-
为什么需要帮助?
-
这看起来不错,您是否遇到任何错误?
-
已更新。谢谢你。我正在尝试打印数组,但没有显示新的输入。
-
@MikeS 在这种情况下,您需要打印
array[a][b][c].Class、array[a][b][c].Teacher和array[a][b][c].noStudents。 (没有学生?那真的不能作为一个班级,是吗?`你可以在一个printf(...)中完成所有这些,你的电话。当你打印array[a][b][c]时,你会得到地址该结构 - 一个整数 - 不是其中包含的任何数据。此外,'%d' 不会打印字符串。
标签: c++ arrays multidimensional-array data-structures struct