显示带有二维数组的文件
Posted
技术标签:
【中文标题】显示带有二维数组的文件【英文标题】:Displaying a file with a 2D Array 【发布时间】:2019-11-23 00:11:09 【问题描述】:对于我必须完成的任务的一部分,我试图让我的程序读取某个 txt 文件并将其与我的 2D 数组和另一个数组逐行显示,但它不会以我的方式打印想要。我正在尝试调试,我认为它将整数放入我的studentName
数组而不是我的二维数组 (score[][]
)。
如何防止这种情况发生?还是其他问题?
这是我正在使用的 txt 文件:
Johnson 85 83 77 91 76
Aniston 80 90 95 93 48
Cooper 78 82 22 90 73
Gupta 92 83 30 69 87
Blair 23 45 96 38 59
Clark 60 85 45 39 67
Kennedy 77 31 52 74 83
Bronson 93 94 89 77 97
Sunny 79 85 28 93 82
Smith 85 72 49 75 63
现在,我只想输出我的 txt 文件并确保所有值都在它们的位置。
这是我目前所拥有的:
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
using namespace std;
int main()
string studentName[10] = " " , grade[10] = " " ;
double score[10][6] = 0 ;
ifstream inFile;
int i, j;
inFile.open("arrays.txt");
for (i = 0; i < 10; i++)
for (j = 0; j < 6; j++)
inFile >> studentName[i] >> score[i][j];
cout << studentName[i] << '\t' << score[i][j] << ' ' << endl;
return 0;
这是目前的输出:
Johnson 85
83 77
91 76
Aniston 80
90 95
93 48
Cooper 78
82 22
90 73
Gupta 92
83 30
69 87
Blair 23
45 96
38 59
Clark 60
85 45
39 67
Kennedy 77
31 52
74 83
Bronson 93
94 89
77 97
Sunny 79
85 28
93 82
Smith 85
72 49
75 63
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】:您的程序有错误。
将'for'部分替换为下面的一段代码,它将起作用
for (i = 0; i < 10; i++)
inFile >> studentName[i];
cout << studentName[i] << '\t';
for (j = 0; j < 5; j++)
inFile >> score[i][j];
cout << score[i][j] << ' ';
cout << endl;
如果您也将分数数组更改为:
double score[10][5] = 0 ;
【讨论】:
是的,我注意到了,但是我的 txt 是 10x6,所以应该没问题,还是我必须把它少一点score[9][5]
以上是关于显示带有二维数组的文件的主要内容,如果未能解决你的问题,请参考以下文章
如何在Objective-C中将二维整数数组对象添加到NSMutableArray?