Помощь - Поиск - Пользователи - Календарь
Полная версия: Создать файл сумм двух файлов
Форум «Всё о Паскале» > 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);
И вообще надо было написать,какие у тебя проблемы.....Не компилируется,не правильно работает,что то не заполняет....
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.