Турбо Паскаль. Файлы, работа с текстом
нужна помощь. требуется переделать программу, представленную ниже, под работу с файлами. то есть считывание из файла координат х, у и запись в файл полярного угла и радиуса
код программы: Uses crt; Type Cartez=Record x,y:real; end; Polar=Record R,fi:real; end; Procedure Cart2Pol(Cr:Cartez; var Pl:Polar); begin Pl.R:=sqrt(sqr(Cr.x)+sqr(Cr.y)); with Cr do if (x>0) and (y>=0) then Pl.fi:=Arctan(y/x) else if (x=0) and (y>0) then Pl.fi:=Pi/2 else if (x<0) and (y>=0) then Pl.fi:=Pi+Arctan(y/x) else if (x<0) and (y<0) then Pl.fi:=-Pi+Arctan(y/x) else if (x=0) and (y<0) then Pl.fi:=-Pi/2 else if (x>0) and (y<0) then Pl.fi:=Arctan(y/x) else Pl.fi:=10; end; {VVOD PEREMENNOY} procedure vvod(var a:real); {A - PARAMETR-PEREMENNAYA DLYA HRANENIYA VVEDENNOGO ZNACHENIYA} var ST:string; {ST - STROKA DLYA NEPOSREDSTVENNOGO VVODA} E:integer; {E - PEREMENNAYA DLYA HRANENIYA KODOV OSHIBOK} begin repeat readln(ST); val(ST,A,E); if E<>0 then begin writeln('Necorrectnoe znachenie ''',ST,'''. Povtorite vvod:') end until E=0; end; Var C:Cartez; P:Polar; Begin clrscr; writeln ('Programma perevodit koordinati tochki is dekartovoi sistemi v poliarnuy'); with C do begin writeln('Vvedite x:'); vvod(x); writeln('Vvedite y:'); vvod(y) end; Cart2Pol(C,P); Writeln ('Polyarnie koordinati:'); Writeln('Radius = ',P.R:0:2); if P.fi=10 then Writeln('Poliarnii ugol - Ne opredelen') else Writeln('Poliarnii ugol = ',P.fi{/Pi*180}:0:2); Readln End. Заранее спасибо |
Цитата:
|
это сделано для того, чтобы пользователь но смог символ ввести. требования такие, тут от меня ничего, к сожалению, не зависит(
|
Цитата:
Вот с файлами. Естественно, имена файлов, а также пути к ним можете поправить сообразно своему вкусу. Код:
Type |
спасибо большое)
|
Часовой пояс GMT +4, время: 14:37. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.