Помощь - Поиск - Пользователи - Календарь
Полная версия: Создать файл сумм двух файлов
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
IlyasKaz
Cотдать два файла действительных чисел проанализируйте в программе созданные файлы, создайте файл строкового типа содержавший суммы соответствующих чисел файлов в виде 2,5+3,4=5,9 выведите на экран содержимое файлов Предусмотрите в программе вывод соответствующее сообщение если файлы пустые(не заполненные)
uses crt; 

var

SrcFile1,SrcFile2: File of real;

DestFile: File of string;

SrcFile1Name, SrcFile2Name, DestFileName: string;
elem1,elem2,summ : real;
ask: char;
itog, stroka1, stroka2 : string;

procedure CreateFileOfReal1;

var
min, max, value, sign: real;

begin

Rewrite(SrcFile1);

writeln('Vvedite min granicu zna4eniy '); readln(min);
writeln('Vvedite max granicu zna4eniy '); readln(max);

if min > max then begin
value:= min;
min:= max;
max:= value;
end;

value := random*(max-min)+min;

sign := random;

if sign>=0.5 then begin
value := -value;
write (SrcFile1, value);
end;

Close(SrcFile1);

end;

procedure CreateFileOfReal2;

var
min, max, value, sign: real;

begin

Rewrite(SrcFile2);

writeln('Vvedite min granicu zna4eniy '); readln(min);
writeln('Vvedite max granicu zna4eniy '); readln(max);

if min > max then begin
value:= min;
min:= max;
max:= value;
end;

value := random*(max-min)+min;

sign := random;

if sign>=0.5 then begin
value := -value;
write (SrcFile2, value);
end;

Close(SrcFile2);

end;

begin

clrscr;

writeln('Vvedite imya 1 fila '); readln(SrcFile1Name);
Assign(SrcFile1, SrcFile1Name);
writeln('Nujno li predvaritelno zapolnit file (y/n)'); readln(ask);
if (ask='y')or(ask='Y') then
CreateFileOfReal1;

writeln('Vvedite imya 2 fila '); readln(SrcFile2Name);
Assign(SrcFile2, SrcFile2Name);
writeln('Nujno li predvaritelno zapolnit file (y/n)'); readln(ask);
if (ask='y')or(ask='Y') then
CreateFileOfReal2;

writeln('Vvedite imya fila rezultata '); readln(DestFileName);
Assign(DestFile, DestFileName);

{$I-}
Reset(SrcFile1);
{$I+}
if IOResult<>0 then begin
writeln('Oshibka, ne vozmojno otkrit file1.');
readln;
exit;
end;

{$I-}
Reset(SrcFile2);
{$I+}
if IOResult<>0 then begin
writeln('Oshibka, ne vozmojno otkrit file2.');
readln;
exit;
end;

Rewrite(DestFile);

read (SrcFile1, elem1);
writeln ('1-y file soderjit zna4enie = ',elem1:3:1);

read (SrcFile2, elem2);
writeln ('2-y file soderjit zna4enie = ',elem2:3:1);

summ:=elem1+elem2;

str(elem1:3:1, stroka1);
str(elem2:3:1, stroka2);
str(summ:3:1, itog);

itog:= stroka1 + ' + ' + stroka2 + ' = ' + itog;

write (DestFile, itog);

writeln ('V fail rezultata zapisano: ', itog);

readln;

Close (SrcFile1);
Close (SrcFile2);
Close (DestFile);

end.
IlyasKaz
Люди ну помогите может как нибудь по другом я просто уже не знаю что с ней делать А завтра утром крайний срок сдачи Одно только радует))) Это последняя задача в этом учебном году
IlyasKaz
)))напишите хоть что нибудь ))
IlyasKaz
Что никто не поможет((("Это прискорбно!". А. Р. Бародач
Krjuger
Лано,возник вопрос, почему если в файле храниться несколько значений ты считываеш лиш 1 из каждого?

str(elem1:3:1, stroka1);
str(elem2:3:1, stroka2);
str(summ:3:1, itog);

itog:= stroka1 + ' + ' + stroka2 + ' = ' + itog;


Зачем все это????
writeln ('V fail rezultata zapisano: ',elem1,'+',elen2,'=',itog);
И вообще надо было написать,какие у тебя проблемы.....Не компилируется,не правильно работает,что то не заполняет....
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.