gpt4 book ai didi

c++ - 需要帮助使用递归将文本文件中的信息输入到结构中吗?

转载 作者:行者123 更新时间:2023-11-28 08:21:06 25 4
gpt4 key购买 nike

我是 C++ 和一般编程的新手,所以在我尝试 self 解释时请耐心等待。

我需要将信息从 .txt 文件输入到结构中。文本文件中的信息如下:

11 12 13

莎莉

10 11 12

...

几乎结构需要包含名称、a(在情况 1、11 中)、b(在情况 1、12 中)和 c(在情况 1、13 中)。我希望以递归方式执行此操作,以便它遍历每个名​​称以及 a、b 和 c。我真的不知道从哪里开始,我真的只是在寻找一些指导。

我在想也许可以将名称放入一个 2D 字符数组,将 a、b 和 c 放入另一个 3D 字符数组?但我不太确定该怎么做,或者这样做的目的是什么。

感谢所有帮助!

好的,这就是我所拥有的。它处于非常早期的阶段,但它确实很重要。

#include<iostream>
#include<fstream>
using namespace std;

const int max_names=100, a=100, b=100, c=100;
char names[max_names];
int num1[a];
int num2[b];
int num3[c];


int main()
{
ifstream inFile;
inFile.open("data.txt");
while(!inFile.eof())
{
for(int i=0; i<max_names; i++)
{
inFile>>names[i]>>num1[i]>>num2[i]>>num3[i];
}
}
return 0;
}

struct Person
{
char names[max_names];
int num1[a];
int num2[b];
int num3[c];
}

编辑:虽然我不想使用递归/结构,但我必须在类里面使用。此外,在进一步查看我应该做什么时,我需要创建一个结构数组。这很难做到吗?我现在正在编写我认为是一些代码的东西,但我可能会完全离开。

我需要使用结构标识符。像“结构人”

编辑 2:是的,递归,是结构,没有迭代,没有类。它必须使用递归和结构。

最佳答案

我会考虑使用 ifstream在基本循环中读取文件。我认为递归不是这项工作的正确工具。

#include <iostream>
#include <fstream>
using namespace std;

int main () {
ifstream ifs("test.txt");

while (ifs.good()) {
struct foo;
ifs >> foo.name >> foo.a >> foo.b >> foo.c;
}

ifs.close();
return 0;
}

这将允许任何空格来分隔 nameabc。如果您想更加小心空格(例如允许名称中有空格,您可以使用 peek() 来检查新行或切换到类似 fscanf 的内容。

关于c++ - 需要帮助使用递归将文本文件中的信息输入到结构中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5814370/

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