Привет, Паскалянтам!
Более сложная задача. Даны два текстовых файла. В одном записаны города, а в другом денежные суммы этих городов. Например:
File1
Белгород
Москва
Санкт-Петербург
Воронеж
File2
1000
9000
2500
1900
Программа должна выполнить следующие задачи: Задача №1: На экран выдается запрос «Введите название города =>», набираем например «Мо». На экране должно высветиться: «город Москва – сумма 9000», т.е. должен происходить поиск в File1 по городу и сумма браться с File2 соответствующая городу. В нашем примере «Москва – 9000», вторая строка в file1 и file2.
Задача №2: На экране выдается запрос «Введите новую сумму =>», набираем «10000». И после этого в File2 сумма «10000» записывается на вторую позицию строки вместо «9000», т.е. при повторном запуске программы, при поиске города «Москва» на экране должно высветиться «город Москва – сумма 10000» и т.д.
У меня ничего не получается, но кое-что я набросал, правда только получилось решить задание №1.
Код
Uses Crt;
lABEL 1;
Var
find:string;
s:string;
input:text;
a,a1:text;
c:array [1..10] of string;
c1:array [1..10] of integer;
i:integer;
Begin
assign(input,'INPUT.txt');
reset(input);
Write('Введите город => ');
ReadLn(Find);
While ((not EOF(input))and(pos(Find,s)<>1)) do
begin
ReadLn(input,s);
if pos(Find,s)<>0 then
wRITELN(S);
end;
close(input);
Assign(a,'summa.txt');
Reset(a);
Assign(a1,'input.txt');
Reset(a1);
For i:=1 To 10 Do
Begin
READLN(A,C1[I]);
Readln(A1,c[i]);
END;
For i:=1 To 10 Do
Begin
iF S=C[I] tHEN wRITELN('Город ',C[I],' сумма ',C1[I]);
END;
Close(a);
Close(a1);
Readln;
End.
Можно сделать такую прогу без применения массива?
Заранее благодарен,
Алексей.