Моя проблема выглядит следующим образом. Я получил файл с данными (ввод) " текстовый номер с номером " в каждой строке, мне нужно получить данные из него, используя ReadLn (myfile, string, string2, real1 (или double), real2 (или double)); как вы можете видеть в моем коде, представленном ниже, но когда я делаю это с функцией, которую я только что описал, Я получаю ошибку . Мне нужны все данные в отдельной переменной . Мне нужно работать с числами (умножение, сумма), и мне нужно имя и фамилию для выходного файла (результата), где данные будут выглядеть так: «Имя Фамилия номер 1 (из входного файла), умноженная на число 2 (из входного файла)» для каждая строка из входного файла и в последней строке будет «Всего: сумма (все строки (число 1 * число 2))». Единственная проблема, с которой мне нужна помощь - это прочитать данные каждой строки из исходного файла в отдельную переменную.
Объяснение файла:
Имя Фамилия NumericValue ( double type) NumericValue ( double type)
Например: Somedude Hissurname 86,5 9,85
Я всегда получаю сообщение об ошибке при попытке прочитать данные строки следующим образом:
ReadLn (filevar (: text), имя (: массив строк [25]), фамилия (: массив
строка [25]), числовой1 (: вещественный ), числовой2 (: действительный ));
Например: ReadLn (данные, имя [], сюр [], метры, цена);
Когда я пытаюсь сделать то же самое, но после изменения числовых значений на целое (также в файле):
Изменения, сделанные в файле:
И программный код выглядит так:
ReadLn (filevar (: текст), имя (: массив строк [25]), фамилия (: массив
строка [25]), числовой1 (: целое число ), числовой2 (: целое число ));
Например: ReadLn (данные, имя [], сюр [], метры, цена);
Программа работает почти так, как задумано (numeric1 принимает оба числовых значения, а 2nd остается пустым).
E.g.: name[] = Somedude, sur[] = Hissurname, numeric1 = 86 9, numeric2 = 0
Вот как далеко я продвинулся с моим кодом:
program test;
type mas = array[1..30] of real;
mas1 = array[1..30] of string[25];
var name,sur:mas1;
atl:mas;
meters,price,total:integer;
i,p,n :integer;
data :text;
begin
Assign(data, 'somefile.txt');
Reset(data);
ReadLn(data,n);
for i:=1 to n do
begin
ReadLn(data, name[i], sur[i], meters, price);
WriteLn(name[i],meters, price);
end;
Close(data);
ReadLn;
end.
Спасибо заранее. Я делал аналогичные посты ранее, но решение не подходит школьным потребностям (слишком сложным для них -.-) Мне нужно использовать простой способ ReadLn с 4 переменными в нем (или 2 или 3, если я не прав ). В любом случае, прости меня за публикацию одной и той же проблемы дважды.
P.S. Прости меня за вопросы форматирования, орфографии и идеи. Я был довольно сонный. Надеюсь, на этот раз я прояснил ситуацию.