为初学者处理文件I/O

Working with files I/O for beginners

本文关键字:文件 初学者 处理      更新时间:2023-10-16

大家好,我正在做一个学校初学者项目,使用C++、中的文件I/O

该程序由两部分组成:1) 读取和处理学生数据文件,并将结果写入学生报告文件2) 修改第1部分以计算一些统计信息,并将它们写入另一个文件。对于此作业,您将读取一个输入文件并写出另外两个文件。

您的程序将使用引用的学生数据文件运行。

第1部分详细信息

读取学生数据文件。这个50条记录文件包括一个(8位数字)学生id、8个作业分数、期中分数、期末分数和实验室练习分数。你必须再次按照教学大纲的规定来确定字母成绩,这次是处理50个学生的成绩。额外的积分不适用于此任务。您将把输入的学生数据和处理结果写入学生报告文件,该文件看起来像下面显示的输出。除了输入的学生数据外,报告还应包含作业成绩的"总和"、所有成绩的总和和百分比,以及字母成绩。您可以假设输入数据文件不包含任何错误的数据。

该文件如下所示:我们需要从中读取的文件在这里是超链接的

学生报告输出文件应如下所示:

学生报告输出文件

Student  --- Asignment Grades -- Ass Mid Fin LEx Total Pct Gr
-------- -- -- -- -- -- -- -- -- --- --- --- --- ----- --- --
56049257 16 16 20 16 12 15 12 20 115  58 123  59   355  89 B+
97201934 19 15 13 19 16 12 13 18 113  72 101  55   341  85 B 
93589574 13 16 19 19 18 12  6 14 111  58 108  50   327  82 B 
85404010 17 19 19 19 19 10 17 19 129  70 102  58   359  90 A-
99608681 11 15 19 19 17 10 16 19 116  42 117  57   332  83 B 
84918110 11 20 18 17 12  8 12 19 109  46 122  31   308  77 C 
89307179 16 16 19 18 14 17 15 19 120  56 117  52   345  86 B 
09250373 15 15 18 18 11 18 17 19 120  44 106  51   321  80 B-
91909583 12 14 16 19 20 11 20 16 117  66  92  50   325  81 B- 
...

第2部分详细信息

编写一份总结报告文件,其中包含所有学生的平均总分和平均百分比。此外,显示学生的A、B、C、D和F的数量。您的摘要输出文件应该如下所示:

The average total points = ???
The average percent total = ??
The number of A's = ??
The number of B's = ??
The number of C's = ??
The number of D's = ??
The number of F's = ??

附加要求

  1. 必须检查所有文件是否成功打开。当你用完它们时,它们也应该关闭
  2. 如果合适的话,请确保在学生id中加上前导0(即第8个id)
  3. 将标题添加到输出报告文件中。它们应该对齐并正确识别列数据
  4. 不要在解决方案中使用全局变量(常量除外)

对于第1部分,我如何复制文件并将其格式化,将其上方的标题和每个文件末尾的分数添加到新的复制文件中??

如有任何帮助,我们将不胜感激提前谢谢。

工程就是将一个大型复杂问题转化为许多较小的、易于解决的问题。

以下是我的开始方式。

1.)打开输入文件。

2.)从输入文件中读取一行。

3.)将输入字符串从一行拆分为多个值。

4.)关闭输入文件。

5.)打开输出文件。

6.)将结果写入输出文件。

参考文献:1.)文件I/O2.)std::string3.)文件I/O C现在你差不多在那里了。一步一个脚印。