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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2010, 00:35   #1
Patrool
Новичок
Джуниор
 
Регистрация: 09.12.2010
Сообщений: 1
Лампочка Классы с использованием полиморфизма

Помогите пожалуйста найти ошибку. Эт объекто ориентированное программирование на паскале.
Программа запускается, но при вводе данных вылетает без объявления войны=(
Вот задание.
Определить классы и их иерархию. Организовать механизм сложного полиморфизма. Продемонстрировать использовние введённых конструкций при работе.
Верхняя одежда, пальто, пиджак, куртка.
[PASCAL]
program modeler;
uses crt;
type
odejda= object
a: string; {vvod simvola}
razm: byte; {razmer}
razm1: byte; {razmer2}
opis: string; {opisanie}
procedure info;virtual; {opisanie}
procedure vvod;
procedure razmeru;virtual;
end;
type palto= object(odejda)
pug: byte; {kol-vo pugovic}
mas: byte; {massa izdeli9}
opis1: string;
procedure info; virtual;
procedure razmeru; virtual;
end;
type pidjak= object(odejda)
pug: byte; {kol-vo pugovic}
shir: byte; {shirina v ple4ah}
opis1: string;
procedure info; virtual;
procedure razmeru; virtual;
end;
type kurtka= object(odejda)
mas: byte;
shir: byte;
opis1: string;
procedure info; virtual;
procedure razmeru; virtual;
end;
Procedure odejda.info;
begin
opis:='predmetu odejdi odevaemoj po verh nijnej.';
Writeln (opis,'diapazon razmerov ot ',razm,' do ',razm1);
end;
procedure odejda.razmeru;
begin
Writeln('zadajte diapazon razmerov ot');
Readln(razm);
Writeln('do');
Readln(razm1);
end;
Procedure palto.info;
begin
opis:='predmetu odejdi odevaemoj po verh nijnej.';
opis1:='osennij variant.';
Writeln (opis,opis1,'diapazon razmerov ot ',razm,' do ',razm1);
Writeln ('kol-vo pugovic - ', pug,'massa izdeli9 - ',mas);
end;
procedure palto.razmeru;
begin
Writeln('zadajte diapazon razmerov ot');
Readln(razm);
Writeln('do');
Readln(razm1);
Writeln('zadajte kol-vo pugovic');
Readln(pug);
Writeln('zadajte massu izdeli9');
Readln(mas);
end;
Procedure pidjak.info;
begin
opis:='predmetu odejdi odevaemoj po verh nijnej.';
opis1:='strogij variant.';
Writeln (opis,opis1,'diapazon razmerov ot ',razm,' do ',razm1);
Writeln ('kol-vo pugovic - ', pug,'shirina v ple4ah - ',shir);
end;
procedure pidjak.razmeru;
begin
Writeln('zadajte diapazon razmerov ot');
Readln(razm);
Writeln('do');
Readln(razm1);
Writeln('zadajte kol-vo pugovic');
Readln(pug);
Writeln('zadajte shirinu v ple4ah');
Readln(shir);
end;
Procedure kurtka.info;
begin
opis:='predmetu odejdi odevaemoj po verh nijnej.';
opis1:='letnij variant.';
Writeln (opis,opis1,'diapazon razmerov ot ',razm,' do ',razm1);
Writeln ('massa izdeli9 - ', mas,'shirina v ple4ah - ',shir);
end;
procedure kurtka.razmeru;
begin
Writeln('zadajte diapazon razmerov ot');
Readln(razm);
Writeln('do');
Readln(razm1);
Writeln('zadajte massu izdeli9');
Readln(mas);
Writeln('zadajte shirinu v ple4ah');
Readln(shir);
end;
Procedure odejda.vvod;
var odejda1dejda;
palto1alto;
pidjak1idjak;
kurtka1:kurtka;
begin
Writeln (' Vvedite "O","P","I" ili "K" ');
Readln(a);
While (a<>'k') and (a<>'K') and (a<>'p') and (a<>'P') and (a<>'o') and (a<>'O')
and (a<>'i') and (a<>'I') do begin
Writeln ('Nevernij simol, vvedite "O","P","I" ili "K" ');
Readln(a);
end;
If (a='O') or (a='o') then
with odejda1 do begin
razmeru;
info;
end;
If (a='P') or (a='p') then
with palto1 do begin
razmeru;
info;
end;
If (a='I') or (a='i') then
with pidjak1 do begin
razmeru;
info;
end;
If (a='K') or (a='k') then
with kurtka1 do begin
razmeru;
info;
end;
end;
var
odejda1dejda;
begin
with odejda1 do begin
vvod;
end;
end.
[/PASCAL]
Patrool вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ld и классы nowaalex Общие вопросы C/C++ 12 03.09.2010 20:45
Принципы реализации полиморфизма Nostalgia Помощь студентам 1 05.01.2010 11:49
Классы в С++ Wirz Помощь студентам 1 04.06.2009 23:22
С++ классы KOLYTFR Помощь студентам 1 04.06.2009 19:58