Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2009, 18:50   #1
Татяна
Пользователь
 
Аватар для Татяна
 
Регистрация: 06.04.2009
Сообщений: 27
По умолчанию Только подправить....

программа:
program task_5;
Uses crt;
Type

school = record
sername : string[10];
class : integer;
smark : real;

end;
var
m : array [1..100] of school;
key, dkey, skey : char;
i,k,f,d,p2,v,x,n,w,R,class : integer;
p3 : real;
p1 : string;
p : text;
code : integer;

function proverka(min , max : integer ):integer;
var

class : string;

begin
min:=1;
max:=11;
i:=1;
repeat
writeln (' proverka ');
readln (class);

val (class,R, code);
if (code >0) then writeln ('введите число') else
if ((R <min) or (R >max)) then begin
writeln ('вы ввели цифры из неподходящего диапозона');
code := 1;
end;
i:=i+1;
if i>3 then begin
code:=0;
R:=min;
end;
proverka:=R;

until (code = 0)
end;
procedure d1;



begin
clrscr;
assign (p, 'D:itog.txt');
rewrite(p);
writeln(p,k);
FOR i:=1 TO k DO
begin
writeln(p, m[i].sername);
writeln(p, m[i].class);

writeln(p, m[i].smark);
end;
close(p);
end;

procedure d2;
begin
clrscr;
assign(p, 'D:itog.txt');
reset(p);
readln(p,k);
for i:=1 to k do begin
writeln(i,'.');
readln(p, m[i].sername);
writeln('SName: ',m[i].sername);
readln(p, m[i].class);
writeln('Class: ', m[i].class);
readln(p, m[i].smark);
writeln('Smark: ', m[i].smark:4:2);
writeln;
end;
close(p);
end;

procedure d3;
begin
clrscr;

i:=k+1;
k:=k+1;
write('Input sername: ');
readln(m[i].sername);
write('Input class: ');
class := proverka (0, 1000);
readln(m[i].class);

write('Input smark: ');
readln(m[i].smark);
writeln;
end;
procedure d4;

begin




for i:=1 to n do begin
if (i=x) then writeln ('Deleted');
if (i>x) then m[i-1]:=m[i];
end;
end;

procedure d5;
begin
clrscr;
write('Nomer pupil: ');
readln(d);
writeln('What do you want to change? ');
writeln('1. Change sername');
writeln('2. Change class ');
writeln('3. Change smark ');
dkey:=readkey;

FOR i:=1 TO k DO begin
if i=d then
case dkey of
'1': begin
write('Change sername: ');
readln(m[i].sername);
end;
'2': begin
write('Change class: ');
readln(m[i].class);
end;
'3': begin
write('Change smark: ');
readln(m[i].smark);
end;
end;
end;
end;

procedure d6;
begin
clrscr;
writeln('How sorting information? ');
writeln('1. sername');
writeln('2. class ');
writeln('3. smark ');
skey:=readkey;

case skey of
'1': begin
f:=0;
clrscr;
write('Enter sername: ');
readln(p1);
writeln('Class ','Smark');
FOR i:=1 TO k DO
begin
if m[i].sername=p1 then
begin
GOTOXY(1,3+f);
write(m[i].class);
GOTOXY(7,3+f);
write(m[i].smark:4:2);
inc(f);
writeln;
end
end;
end;
'2': begin
f:=0;
clrscr;
write('Enter class: ');
readln(p2);
writeln('Sername ','Smark');
FOR i:=1 TO k DO
begin
if m[i].class=p2 then
begin
GOTOXY(1,3+f);
write(m[i].sername);
GOTOXY(12,3+f);
write(m[i].smark:4:2);
inc(f);
writeln;
end
end;
end;
'3': begin
f:=0;
clrscr;
write('Enter smark: ');
readln(p3);
writeln('Sername ','Class ');
FOR i:=1 TO k DO
begin
if m[i].smark=p3 then
begin
GOTOXY(1,3+f);
write(m[i].sername);
GOTOXY(12,3+f);
write(m[i].class);
inc(f);
writeln;
end
end;
end;
end;



end;
procedure d7;
begin
clrscr;
write('Nomber of pupil: ');
readln(v);
FOR i:=1 TO k DO
begin
if i=v then
begin
writeln('SName: ',m[i].sername);
writeln('Class: ', m[i].class);
writeln('Smark: ', m[i].smark:4:2);
writeln;
end;
end;
end;

BEGIN
clrscr;
f:=0;
write('Input number of puple: ');
readln(k);
FOR i:=1 TO k DO
begin
write('Input sername: ');
readln(m[i].sername);
write('Input class: ');
readln(m[i].class);
write('Input smark: ');
readln(m[i].smark);
writeln;
end;
repeat
writeln('What do you want to do?');
writeln('1. Write in fail ');
writeln('2. Read from fail ');
writeln('3. Add information ');
writeln('4. Delete information ');
writeln('5. Change information ');
writeln('6. Sorting information ');
writeln('7. Search record ');
writeln('8. Exit ');
key:=readkey;
case key of
'1' : d1;
'2' : d2;
'3' : d3;
'4' : d4;
'5' : d5;
'6' : d6;
'7' : d7;
end;
until key='8';
END.
Татьяна
Татяна вне форума Ответить с цитированием
Старый 19.05.2009, 18:51   #2
Татяна
Пользователь
 
Аватар для Татяна
 
Регистрация: 06.04.2009
Сообщений: 27
По умолчанию

помогите подправить функцию проверка, так чтобы она выполнялась все таки, и осуществить проверку на smark
Татьяна
Татяна вне форума Ответить с цитированием
Старый 20.05.2009, 14:00   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Вы бы для начала условия задачи написали.
По коду функции Proverka, например, я могу догадаться, что она делает, но вот что она должна возвращать в Integer ??

p.s. и не забывайте оформлять программу через # (в теги [ CODE] ...[ /CODE])
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
надо бы подправить программу)) Fylhtq Паскаль, Turbo Pascal, PascalABC.NET 3 19.05.2009 19:55
подправить код ELF astserg01 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 09.04.2009 06:49
Подправить задачу на Паскал sinid Помощь студентам 13 04.03.2009 21:40
Помогите подправить формулу! Maxx Microsoft Office Excel 5 16.12.2008 13:43
начал учить только-только - нужна ваша помошь vanDJ Помощь студентам 20 18.12.2007 21:53