这是一个初学C++的作业问题,我知道vector,但不允许在这个assigment中使用。我搜索了四周,我发现如何制作一个尺寸不明的array[]
。但它有点微不足道(有点)。我读的例子包括以下内容:获取输入,然后根据该输入创建数组(大小为n)。基于输入文件的未知大小的数组
我已经创建了这个学生课,但现在我需要一个array
来存储它们。我不知道会有多少学生。我只在一行中输入每个学生的文本文件。格式如下,样本大约是5,但我不知道老师会用多少来测试我的程序。
输入文件是这样的:
George Chan Computer_Science New York 23
Johnny Chan Computer_Science New Jersery 22
....
但问题是我不知道有多少学生都在那里,直到我看完了整段文字砖(或我不知道是否有其他办法去做吧)。我目前的做法是逐行读取它,增加一个计数器studentCounter
,直到完成,然后创建我的Student* myRoster = Student[studentCounter]
。但后来当我不得不开始阅读文件再次。然后逐行解析信息并创建一个Student
对象,并让myRoster[x]
指向它。我觉得我有两次做这项工作只是为了拥有合适的尺寸。有一些技巧或我失踪的东西?
谢谢。
我想你不能使用std :: list然后。 – 2012-04-12 05:04:44
与你的老师交谈。要么有最大数量的学生,要么你应该能够使用标准容器。如果你对这两者都是对的,找一个新的老师/学校。 – 2012-04-12 05:12:16
@MooingDuck我在最后一个问题中得到了和这个一样的答案:O ... – George 2012-04-12 05:13:08