gpt4 book ai didi

c++ - 将值读入数组结构

转载 作者:行者123 更新时间:2023-11-28 01:37:20 24 4
gpt4 key购买 nike

我需要创建一个 struct 数组,struct 是一个学生(数据类型为 string FirstName,string LastName、int testScore 和 char Grade)。我已经为函数原型(prototype)弄清楚了逻辑,并且学习了一些基本的文件 i/o。我想要结构数组中的 20 个学生,信息将从 .txt 文件中读取。这是我遇到麻烦的地方。这是我的基本代码。

#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;

struct studentType {
string firstName;
string lastName;
int testScore;
char Grade;
};

int main()
{
studentType students[20];

int i;

ifstream inputFile;
inputFile.open("testScores.txt");

for (i = 0; i < 20; i++)
inputFile >> students->testScore;

cout << "The test scores entered are: ";

for (i = 0; i < 20; i++)
cout << " " << students->testScore;

return 0;
}

最佳答案

当您访问数组时,您忘记了对数组中的元素进行索引。变化:

students->testScore

收件人:

students[i].testScore

在两个循环中。第一个版本只对第一个元素进行更改(因为它可以通过 *students 访问),而第二个版本将索引添加到指针。

这只是使用 std::vector 的另一个好理由或 std::array因为如果您像在此处对数组所做的那样尝试取消引用它们,则会出现明显的错误。

附带说明一下,在 C++ 中,您应该在循环内部声明循环变量。在 C99 之前,在外部声明它们是必需的,但在 C++ 中不是。

关于c++ - 将值读入数组结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48714515/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com