我正在尝试从包含组织名称(不带空格)和浮点整数的文本文件中收集信息。我想将此信息存储在数组结构中。
到目前为止,我遇到的问题是收集信息。这是文本文件的示例:
CBA 12.3 4.5 7.5 2.9 4.1
TLS 3.9 1 8.6 12.8 4.9
每个组织最多可以有 128 个不同的号码,文本文件中最多可以有 200 个组织。
这是我的结构到目前为止的样子:
struct callCentre
{
char name[256];
float data[20];
};
我的主要:
int main()
{
callCentre aCentre[10];
getdata(aCentre);
calcdata(aCentre);
printdata(aCentre);
return 0;
}
和getdata函数:
void getdata(callCentre aCentre[])
{
ifstream ins;
char dataset[20];
cout << "Enter the name of the data file: ";
cin >> dataset;
ins.open(dataset);
if(ins.good())
{
while(ins.good())
{
ins >> aCentre[c].name;
for(int i = 0; i < MAX; i++)
{
ins >> aCentre[c].data[i];
if(ins == '\n')
break;
}
c++;
}
}
else
{
cout << "Data files couldnt be found." << endl;
}
ins.close();
}
我在 getdata 函数中试图实现的是:首先将组织名称存储到结构中,然后将每个浮点数读入数据数组,直到程序检测到换行字节。但是,到目前为止,我对换行字节的检查不起作用。
假设变量c和MAX已经定义。
我应该如何正确处理这个问题?