Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Ошибки в процедурах

Автор: SD 11.06.2007 17:21

 ! 
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [ code=pas ] ... [ /code ].



М
В следующий раз такую тему закрою





1)Не могу понять,где допущена ошибка в процедуре изменения.
2)Процедура обработки не считает кредит под проценты

uses crt;
type
b=record
fio:string;
razmer_vkl:integer;
srok_vkl:integer;

srok_kr:integer;
razmer_kr:integer;
end;
var
a:array [1..10] of b;
p,v:real;
f:file of b;
i,n,k:integer;
name:string;
procedure vvod(var name:string);
var
f:file of b;
a:b;
i,n,q:integer;
begin
writeln('‚ўҐ¤ЁвҐ Ё¬п д ©« ');
readln(name);
assign(f,name);
writeln('‚ўҐ¤ЁвҐ Є®«ЁзҐбвў® Є«ЁҐ­в®ў Ў ­Є ');
readln(n);
rewrite(f);
for i:=1 to n do
with a do
begin
writeln('‚ўҐ¤ЁвҐ ”€Ћ ',i,' 祫®ўҐЄ ');
readln(a.fio);
writeln('‚ўҐ¤ЁвҐ а §¬Ґа ўЄ« ¤ ');
readln(a.razmer_vkl);
writeln('‚ўҐ¤ЁвҐ ба®Є ўЄ« ¤ ');
readln(a.srok_vkl);
writeln('1 - ‚§пвм ЄаҐ¤Ёв');
writeln('2 - ЌҐ Ўа вм ЄаҐ¤Ёв');
writeln('‚ и ўлЎ®а');
readln(q);
if q=1 then
begin
writeln('‚ўҐ¤ЁвҐ ба®Є ЄаҐ¤Ёв ');
readln(a.srok_kr);
writeln('‚ўҐ¤ЁвҐ а §¬Ґа ЄаҐ¤Ёв ');
readln(a.razmer_kr);
end;
write(f,a);
end;
close(f);
end;
{procedure obr(name:string;var v:real);
var
f:file of b;
a:b;
i,n:integer;
x:real;
begin
p:=15;
x:=0;
assign(f,name);
rewrite(f);
for i:=1 to n do
begin
x:=x+1;
repeat
v:=a.razmer_kr/a.srok_kr+(a.razmer_kr-(a.srok_kr)*(a.razmer_kr/a.srok_kr))*(p/100);
until x=a.srok_kr-1;
writeln('Summa kredita = ',v);
readkey;
end;
end;}
procedure vivod(name:string);
var
f:file of b;
a:b;
i,n:integer;
begin
clrscr;
assign(f,name);
reset(f);
writeln;
writeln('‘®¤Ґа¦Ё¬®Ґ д ©« ');
writeln;
while (not(eof(f))) do
begin
read(f,a);
writeln('”Ё® ',a.fio,' ','ђ §¬Ґа ЄаҐ¤Ёв ',a.razmer_vkl,' ','‘а®Є ўЄ« ¤ ',a.srok_vkl);
writeln('‘а®Є ЄаҐ¤Ёв ',a.srok_kr,' ','ђ §¬Ґа ЄаҐ¤Ёв ',a.razmer_kr);
end;
writeln;
close(f);
end;
procedure izm(name:string);
var
f:file of b;
a:b;
i,n,z,w,k:integer;
begin
assign(f,name);
reset(f);
repeat
clrscr;
writeln('1 - Ё§¬Ґ­Ґ­ЁҐ § ЇЁбЁ');
writeln('2 - ўл室');
write('‚ўҐ¤ЁвҐ ў и ўлЎ®а');
readln(k);
if k=1 then
begin
writeln('‚ўҐ¤ЁвҐ ­®¬Ґа § ЇЁбЁ ,Є®в®аго ­г¦­® Ё§¬Ґ­Ёвм');
w:=Filesize(f);
{ if (w<z) then writeln('‚ д ©«Ґ ­Ґв в Є®© § ЇЁбЁ')
else}
end;
begin
writeln('‚ўҐ¤ЁвҐ ”€Ћ ',i,' 祫®ўҐЄ ');
readln(a.fio);
writeln('‚ўҐ¤ЁвҐ а §¬Ґа ўЄ« ¤ ');
readln(a.razmer_vkl);
writeln('‚ўҐ¤ЁвҐ ба®Є ўЄ« ¤ ');
readln(a.srok_vkl);


writeln('‚ўҐ¤ЁвҐ ба®Є ЄаҐ¤Ёв ');
readln(a.srok_kr);
writeln('‚ўҐ¤ЁвҐ а §¬Ґа ЄаҐ¤Ёв '); readln(a.razmer_kr);
seek(f,z-1);
write(f,a);
end;

readkey;
until k=2;
close(f);
end;
procedure udal(name:string);
var
f:file of b;
a:b;
i,w:integer;
u:string;
begin
assign(f,name);
writeln('‚ўҐ¤ЁвҐ ­®¬Ґа § ЇЁбЁ,Є®в®аго ­г¦­® г¤ «Ёвм');
readln(w);
reset(f);
writeln('‚л в®з­® е®вЁвҐ г¤ «Ёвм нвг § ЇЁбм?');
writeln('y-¤ ');
writeln('n-­Ґв');
readln(u);
if u='y' then begin
if w<=filesize(f) then
begin
while w<=filesize(f)-1 do
begin
seek(f,w);
read(f,a);
seek(f,w-1);
write(f,a);
w:=w+1;
end;
seek(f,filesize(f)-1);
truncate(f);
close(f);
end
else writeln('’ Є®Ј® Є«ЁҐ­в ­Ґв');
end;
end;




begin
clrscr;
repeat
writeln;
writeln('"Ѓ ­Є"');
writeln('1 - ᮧ¤ ­ЁҐ д ©« ');
writeln('2 - ‘㬬 ЄаҐ¤Ёв Ї®¤ Їа®жҐ­в ¬Ё');
writeln('3 - ўлў®¤ § ЇЁбЁ');
writeln('4 - Ё§¬Ґ­Ґ­ЁҐ § ЇЁбЁ');
writeln('5 - г¤ «Ґ­ЁҐ § ЇЁбЁ');
writeln('6- ‚л室');
readln(k);
case k of
1:vvod(name);
{2:obr(name,v);}
3:vivod(name);
4:izm(name);
5:udal(name);
6:halt;
end;
until k=6;
readkey;
end.

Автор: Ozzя 11.06.2007 17:25

Мог бы и потрудиться сменить кодировку у текста. Что там вводит? Что там считает? И тэги кода поставить.