迈克85 83 77 91 76 CSC
Mark 80 90 95 93 48 CSC
Anderson 78 81 11 90 73布斯
Blair 92 83 30 69 87 ECE
Suzy 23 83 30 69 87 ARC
Karlos 46 76 90 54 38 MASS-COMM
所以我有这个文件,我需要阅读它的数据并通过控制台使用结构输出,我已经设法阅读迈克的名字和他的分数和教师,但那是我被卡住的地方,我怎么能继续读书?
这是我的代码
struct student {
string name;
int scores[5];
string faculty;
};
void main() {
student x;
ifstream myfile("D:\\Test\\MIUCS.txt");
myfile >> x.name;
for (int j = 0; j < 5; j++) {
myfile >> x.scores[j];
}
myfile >> x.faculty;
cout << x.name << " ";
for (int k = 0; k < 5; k++) {
cout << x.scores[k] << " ";
}
cout << x.faculty << endl;
}
提示:我的教授说要使用我无法真正实现的类型学生(结构)数组,任何帮助都将不胜感激,谢谢。
答案 0 :(得分:1)
我该如何继续阅读?
在jwfuj4r
dsfhy3
循环中绕过读/写代码。继续阅读和写作,直到没有东西可读。
while
您可以通过移动代码来简化循环,以便读取和写入自己的函数。
while ( myfile >> x.name )
{
for (int j = 0; j < 5; j++)
{
myfile >> x.scores[j];
}
myfile >> x.faculty;
// If there was any error in reading from myfile, break out of the loop.
if ( !myfile )
{
break;
}
cout << x.name << " ";
for (int k = 0; k < 5; k++)
{
cout << x.scores[k] << " ";
}
cout << x.faculty << endl;
}
要使用上述内容,您需要将while ( myfile >> x )
std::cout << x << std::endl;
函数和operator>>
函数重载为:
operator<<
我会留给你把它带到下一步。