我有一个结构:
struct Student {
string name;
int CWID;
float GPA;
};
现在,我有一个由5名学生组成的阵列:
Student* s = new Student[5];
现在我想用这种形式的控制台输入初始化它们:
John 5012356 3.5
Mike 5012432 3.6
Ryan 5013521 3.3
Mary 5012784 4.0
Harry 5012695 3.1
我的琐碎逻辑是:
for (int i = 0; i < 5; i++) {
cout << "\n\nPlease enter Student " << (i + 1) << "'s details (Name, CWID, GPA): ";
cin >> s[i].name >> s[i].CWID >> s[i].GPA;
}
不是单独询问5个输入,而是如何一次性取出它们?
答案 0 :(得分:1)
不是单独询问5个输入,而是如何一次性取出它们?
使用控制台输入输入是如此古老的学校。
将数据放入文件中。
摆脱程序中用户输入的提示。
使用该文件作为输入源。
for (int i = 0; i < 5; i++) {
cin >> s[i].name >> s[i].CWID >> s[i].GPA;
}
用法:
./program < input.txt
答案 1 :(得分:0)
您可以删除cout
并将其放在循环外。
cout << "\n\nPlease enter Students' details (Name, CWID, GPA): \n";
for (int i = 0; i < 5; i++) {
cin >> s[i].name >> s[i].CWID >> s[i].GPA;
}
实际上并没有什么不同;这就是你看待事物的方式。不过,您可能想要使用files
。如果你总是需要一组特定值,它可能会节省你一些时间。