【发布时间】:2014-02-08 00:22:25
【问题描述】:
我刚刚开始解决我必须解决的编码问题,但不确定如何开始和完成任务。有多个由单词组成的文本文件。如果一个单词是一个数字,那么这就是学生在一个问题上的分数,所以你将它添加到学生的考试分数中。如果单词不是数字,而是单词“NAME”,那么下一个单词就是学生的姓名。如果单词是“AVERAGE”,那么您开始阅读数字,直到您阅读到一个不是数字的单词(或者是文件的结尾)。您将所有这些数字平均并将其添加到分数中。有时数字不跟在“AVERAGE”之后。在这种情况下,您忽略“平均”。输入总是只有一个名字,学生的名字不会是“Average”或“Name”。
这里有一些例子:
UNIX> cat test-1.txt
NAME Fred
UNIX> ./moonglow < test-1.txt
Fred 0
UNIX> cat test-2.txt
NAME Dontonio
8.6
16.2
UNIX> ./moonglow < test-2.txt
Dontonio 24.8
UNIX> cat test-3.txt
I miss Starrlight!!
15 NAME
Frank
UNIX> ./moonglow < test-3.txt
Frank 15
UNIX> cat test-4.txt
AVERAGE 10 15 20 NAME Luther 10 Starrlite!!
UNIX> ./moonglow < test-4.txt
Luther 25
UNIX> cat test-5.txt
NAME Baby-Daisy
AVERAGE 3 4 5 6
AVERAGE 7 8 9
Where's Starrlite!!
UNIX> ./moonglow < test-5.txt
Baby-Daisy 12.5
UNIX> cat test-6.txt
Starrlite AVERAGE Starrlite!!! NAME
Starrlite
AVERAGE 55 Starrlite!!! Starrlite
AVERAGE Starrlite 5 6 7
UNIX> ./moonglow < test-6.txt
Starrlite 73
有时,文件中会出现不必要的单词,必须忽略。
基本上,我想知道我会用什么方法来读取输入?获取线?纯cin?当每个信息都可以在文件之间更改时,我不确定如何使用 cin 处理每条信息所在的不同位置(名称、平均值、分数)。
【问题讨论】:
-
问题是什么?
-
我对其进行了编辑以包含我的真实问题。