【发布时间】:2020-10-26 23:13:36
【问题描述】:
让我先说这个问题是关于编程 1 类实验室的。我不是在找人为我的工作提供一行代码。然而,这是一个在线课程,我有点迷失方向,非常感谢在将概念转换为编码运算符方面的一些指导。
该实验室用于从 .txt 文件中获取单圈时间并对值执行不同的算术运算,例如从第 1 次到第 3 次组织等。我对自己处理实验室想要的数据的能力充满信心。我遇到的问题是如何存储这些数据以便对其进行操作。该文件有 7 名学生,但最多可容纳 20 名。
Results.txt 的格式如下:
Lap 1:
Akano 1:43
Wes 1:45
Kye 1:52
Edward 2:05
Jess 2:14
Ally 2:26
Wilt 2:30
Lap 2:
Edward 1:50
Akano 2:00
Wes 2:03
Kye 2:15
Jess 2:16
Ally 2:23
Wilt 2:54
Lap 3:
Kye 2:01
Akano 2:06
Ally 2:54
Wes 3:03
Wilt 3:11
Jess 3:15
Edward 3:21
因此,我的说明的第一部分是:
“目标一:输出所有学生的最终成绩。我也想知道总成绩第一、第二、第三的是谁。(不过如果你把它们都排好就足够了)。”
我已经开发了一些初步代码,用于获取字符串并将其分为 3 类。名称 (p1L1)、分钟 (p1L1min) 和秒 (p1L1sec)。然而,在创建它之后,我想到我需要某种方式来组织和分组每一圈的每个跑步者,考虑到他们的顺序在 Results.txt 中是非常随机的。我认为实现这一点的最佳方法是将每一行视为一个字符串,按字母顺序组织它们,然后将它们分开。
但是,我无法确定如何按字母顺序对字符串进行排序。我什至不确定这是最好的做事方式。我也不确定如何将它们分组。如果我的所有数据都来自文件,我如何确保 Akano 的 name 变量在我分解它们后始终与 Akano 的时间变量一起显示。
此时我能得到的任何指导或建议都会非常有帮助。我将上面引用的代码粘贴到下面:
int main()
{
ifstream lapSource;
lapSource.open("Results.txt");
string lap, lapNumber;
lapSource >> lap >> lapNumber;
string p1L1, p1L1secstring;
int p1L1min, p1L1sec;
lapSource >> p1L1 >> p1L1min >> p1L1secstring;
p1L1secstring.erase(0, 1);
p1L1sec = stoi(p1L1secstring);
return 0;
}
【问题讨论】:
-
您不会从文件中读取冒号。建议你将read whole lines转成字符串,然后尝试解析字符串。