gpt4 book ai didi

c++ - 从文件中获取数据并将元素输出到表中

转载 作者:太空宇宙 更新时间:2023-11-04 14:08:13 26 4
gpt4 key购买 nike

我得到了一个数据文件,其中包含 24 人的运动数据。事件分为两轮。文件的前 48 行给出了第一轮的数据,后 48 行给出了第二轮的数据。该文件如下所示:

阿兹林,尼尔2.3 6.0 5.0 6.7 7.8 5.6 8.9 7.6

巴贝奇,查尔斯2.3 5.6 6.5 7.6 8.7 7.8 5.4 4.5

亚瑟伯克斯2.8 4.5 5.4 6.6 7.7 8.8 5.6 6.5

克里克,弗朗西斯1.6 6.5 6.5 6.5 7.3 7.5 7.8 5.6

居里,玛丽2.9 9.4 9.5 9.2 8.0 5.6 9.0 9.8

戴尔,内尔1.0 2.3 2.3 2.3 2.3 3.4 3.4 3.4

爱因斯坦,阿尔伯特1.5 5.0 5.0 5.0 5.0 5.0 5.0 5.0

富兰克林,罗莎琳2.0 7.8 7.8 7.6 7.5 8.0 6.7 7.6

海森堡,维尔纳2.2 8.2 8.1 8.0 8.5 8.6 8.3 9.0

侯世达,道格拉斯1.8 9.3 9.0 9.2 8.4 7.8 8.0 5.6

克里格,多萝西3.0 7.6 7.8 8.7 5.9 6.4 7.1 8.0

米德,玛格丽特2.7 8.0 8.0 7.8 6.5 7.4 8.2 5.9

明斯基,马文2.7 7.8 6.8 7.1 7.4 5.6 4.9 5.7

牛顿、艾萨克2.3 9.0 9.1 9.0 9.2 9.2 9.0 8.9

奥尔森,凯瑟琳2.6 7.8 9.1 8.4 8.4 8.2 8.4 7.6

帕斯卡,布莱斯3.0 4.5 6.4 8.0 5.6 7.5 6.5 8.0

派利辛,泽农2.8 8.6 7.9 9.0 6.9 7.3 6.9 7.0

萨根,卡尔2.5 7.8 9.0 8.7 8.6 4.6 7.6 8.0

薛定谔,欧文2.7 8.0 7.8 8.0 9.0 6.7 8.7 6.5

图灵,艾伦2.5 7.8 8.0 8.0 7.9 7.3 7.6 7.6

范艾伦,詹姆斯2.7 6.9 7.0 7.0 7.2 6.7 7.0 8.0

冯诺依曼,约翰3.0 7.8 8.9 9.0 8.7 9.0 7.9 9.2

沃森,詹姆斯2.8 9.6 9.7 9.7 9.0 9.5 9.7 9.0

威姆斯,奇普2.5 7.8 7.8 7.6 7.5 7.8 8.0 6.7

阿兹林,尼尔2.1 6.0 5.0 6.5 7.8 5.6 8.8 7.6

巴贝奇,查尔斯2.3 5.4 6.5 7.6 8.7 7.2 5.4 5.5

亚瑟伯克斯2.7 4.1 5.4 5.6 7.8 8.2 5.6 6.5

克里克,弗朗西斯1.5 7.5 6.4 6.5 7.2 7.5 7.5 6.6

居里,玛丽2.8 9.5 9.1 9.2 8.4 5.6 9.3 9.7

戴尔,内尔2.0 3.3 3.3 3.3 2.3 3.1 3.0 4.4

爱因斯坦,阿尔伯特2.5 5.1 5.2 5.3 5.4 5.5 5.6 5.7

富兰克林,罗莎琳3.0 7.8 7.7 7.1 7.5 8.2 6.7 7.6

海森堡,维尔纳2.5 8.2 8.4 8.0 8.7 8.7 8.1 9.0

侯世达,道格拉斯2.8 9.1 9.0 9.1 8.4 6.8 8.0 6.6

克里格,多萝西3.0 7.4 7.1 7.7 6.9 6.4 7.1 8.0

米德,玛格丽特2.8 8.1 8.0 7.1 6.5 6.4 8.2 5.9

明斯基,马文2.1 7.8 7.8 7.1 7.4 7.6 5.9 5.7

牛顿、艾萨克2.3 8.0 9.0 9.0 9.2 8.2 9.0 8.9

奥尔森,凯瑟琳2.0 6.8 9.1 8.4 8.0 8.2 8.4 7.6

帕斯卡,布莱斯3.0 5.5 6.4 8.1 5.6 7.4 6.5 7.0

派利辛,泽农2.7 8.6 6.9 9.0 6.5 7.3 8.9 7.0

萨根,卡尔3.0 6.8 9.0 8.2 8.6 5.6 7.6 8.0

薛定谔,欧文1.7 8.0 6.8 8.5 9.0 7.7 8.7 6.5

图灵,艾伦2.4 7.7 8.1 8.2 7.3 7.3 7.6 7.6

范艾伦,詹姆斯2.7 7.9 7.0 6.0 7.2 8.7 7.0 8.0

冯诺依曼,约翰3.0 7.1 8.9 9.0 7.7 9.0 8.9 9.2

沃森,詹姆斯2.1 8.6 9.8 9.8 9.0 9.1 9.7 9.0

威姆斯,奇普2.7 6.8 7.3 7.6 6.5 7.8 8.0 6.2

此数据适用于所有 24 人,然后在第二轮以不同的得分值重复。人名后的第一个数字是难度级别,然后接下来的 7 个数字是分数。我正在尝试从文件中获取这些数据并按照以下格式进行设置:

人名第一轮:难度分数第二轮:难度评分

所以上面数据的表格看起来像这样:

阿尔津尼尔

第 1 轮:2.3 6.0 5.0 6.7 7.8 5.6 8.9 7.6

第二轮:2.1 6.0 5.0 6.5 7.8 5.6 8.8 7.6

巴贝奇,查尔斯

第 1 轮:2.3 5.6 6.5 7.6 8.7 7.8 5.4 4.5

第二轮:2.3 5.4 6.5 7.6 8.7 7.2 5.4 5.5

所有 24 个人依此类推。这是我的代码,但它只是直接读取文件:

// I have already opened the file!
while (inFile)
{
string name;
getline(inFile,name);
cout << name << endl;
}

谁能提供一些关于如何对这些数据进行某种格式化的见解?

编辑

我得到了以下要使用的数据结构

const int numRounds = 2;
const int numScores = 7;
const int numDivers = 24;

// 1D array for storing difficulty of dives on each round
typedef double DifficultyList[numRounds];

// 2D array of dive scores
typedef double ScoreTable[numRounds][numScores];

// struct to store info for one diver
struct DiverRecord
{
string name; // persons name
double totalScore, // total score for both rounds
diveTotal; // total on current round
DifficultyList diff; // difficulty on all dives (1X2 array)
ScoreTable scores; // scores for all rounds (2X7 array)
};

// array of structs of diver records
typedef DiverRecord DiverList [numDivers];

谢谢!

最佳答案

这是关于格式化输入的。

如果你真的更喜欢C++,看看std::ifstream的方向.参见 this tutorial用于一般流信息和 this one用于格式化。

这里还有question similar to your有很多有用的帖子。

我通常使用 C 标准文件输入和 fscanf() 函数 (man 3 fscanf) 来完成此类任务。我编码速度更快。

关于c++ - 从文件中获取数据并将元素输出到表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16065156/

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