0

我想做的是做一个搜索引擎,用学生编号和学生姓名在学生列表中搜索学生的成绩。如果多个学生匹配请求的姓名,系统将要求用户输入学生 ID。

我已经完成了读取 txt 文件,但是,我停止将 txt 更改为数组以进行存储和搜索。我不知道如何将这些数据存储到数组中。

我有 20 名学生,这里有两个学生在每个科目中的评分示例:

SS6709 彼得 VT001 C VT002 E VT003 D VT004 D VT009 A+ VY018 A++ VT024 B

SS9830 艾米 VT001 D VT002 C VT003 C VT004 D VT009 D VT018 D VT023 B

4

2 回答 2

1
  1. 思考并定义一个class Item代表item单个学生的单个学生(代码,姓名,...)
  2. 创建一个空std::vector的那些将容纳您的“项目”的结构
  3. 打开文件进行阅读
  4. 逐行读取文件(用于std::getline获取整行,而不仅仅是filestream.getlinefile >> var运算符)
    1. (对于您阅读的每一行)
    2. 将这一行读std::stringstd::getline
    3. 创建一个Item用于保存下一组数据
    4. 分析该行并将学生的代码剪切/复制到myItem.code
    5. 分析该行并将学生的姓名剪切/复制到myItem.name
    6. 分析该行并将 XXXXXXXXXXXXXXX 剪切/复制到myItem.whateverelse
    7. myItem将您刚刚阅读的内容附加到vector您之前准备的内容中
  5. 读取所有行后关闭文件

现在你有一个包含所有数据的“向量”,很好地存储为“项目”,每个项目都有一个代码、名称和其他数据。您现在可以循环/搜索该向量以查找是否有任何名称或代码匹配。

于 2013-11-13T15:17:08.133 回答
0

看起来您需要创建自己的数据结构来存储值。您可以定义自己的结构

struct Student{
 string name
 string iD
 ....
};

并在这种情况下使用类型数组 Student

Student data_base[100];

这是一个非常基本的方法,但它应该让你继续......

于 2013-11-13T15:15:48.147 回答