![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 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 odejda1 ![]() palto1 ![]() pidjak1 ![]() 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 odejda1 ![]() begin with odejda1 do begin vvod; end; end. [/PASCAL] |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |