Я пытаюсь собрать информацию из текстового файла, который содержит названия организаций (без пробелов) и плавающие целые числа. Я хочу хранить эту информацию в структуре массива.
Проблема, которую я имею до сих пор, заключается в сборе информации. Вот образец текстового файла:
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 я пытаюсь добиться следующего: сначала сохранить название организации в структуре, а затем прочитать каждый float в массив данных, пока программа не обнаружит байт новой строки. Однако, пока моя проверка на байт новой строки не работает.
Предположим, что переменные c и MAX уже определены.
Как мне правильно поступить?