我之前发过帖子,得到了一些很有帮助的回复。我需要将文本文件中的人员信息(例如 ID、年龄等)读入不同的数组中。记录是这样的 2012317109 Jamie Carles Smith Male 65(不同位的信息用TAB分隔,行以换行符结尾)
但是,关于 ID 号,我被告知使用提取运算符 (<<) 将 ID 号作为整数而不是字符串来获取。
然后我必须按字母字符串顺序对这些记录进行排序,然后将它们放入输出文件中。
到目前为止,我有以下内容。我应该如何进行?我不使用地图或矢量,我需要使用数组。
#include <iostream>
#include <fstream>
using namespace std;
void selection_sort( double x[], int length)
{
int i, j, k;
double t;
for (i=0; i<length-1; ++i) {
k = i; //find next smallest elm, x[k]
for (j=i+1; j< length; ++j)
if (x[k] > x[j]) k = j;
//swap x[i] with x[k]
t = x[i]; x[i] = x[k]; x[k] = t;
}
}
int main () {
ifstream fin;
ofstream fout;
fin.open("input.txt");
fout.open("output.txt");
if (fin.fail()) {
cout << "Fail to open inout.txt" << endl;
exit(1);
}
struct row{string ID, name, rest;};
int x;
fout << x << endl;
row *rows=new row[x];
for (int i=0; i<x; ++i) {
getline (fin, rows[i].ID, '\t'); // ID
getline (fin, rows[i].name, '\t'); // name
getline (fin, rows[i].rest );
}
selection_sort (row[], x);
//complier error this line: expected primary expression before [ token.
}