0 / 0 / 0
Регистрация: 30.10.2014
Сообщений: 30
1

Почему выдаёт ошибки в программе?

16.12.2014, 15:47. Показов 381. Ответов 3
Метки нет (Все метки)

В процедурах Init и Done
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
program Project1;
 
{$APPTYPE CONSOLE}
{$R *.res}
uses  SysUtils;
Const lenlist =10;
Type    TPerson =Object
FName : string[30];
FAddress : string[40];
Procedure Init(Name, Address : string);
Procedure Done;
Procedure Print;
End;
TStudent =object( TPerson)
FGroup : integer;
Procedure Init(Name, Address : string; Group: integer);
Procedure Done; Procedure Print;
End;
TProfessor =object( TPerson)
FKafedra : string[30];
Procedure Init(Name, Address, Kafedra : string);
Procedure Done; Procedure Print;
End;
PStudent=^Tstudent;
PProf=^TProfessor;
Procedure TPerson.Init(Name, Address: string);
Begin
FName:=Name;
FAddress:= Address;
End;
Procedure TPerson.Done;
Begin
End;
Procedure TPerson.Print;
Begin
Writeln(FName);
Writeln(FAddress);
End;
Procedure TStudent.Init(Name, Address: string;Group:integer);
Begin
TPerson.Init(Name,Address);
FGroup:=Group;
End;
Procedure TStudent.Done;
Begin
End;
Procedure TStudent.Print;
Begin
TPerson.Print;
Writeln('гр. ',FGroup);
End;
Procedure TProfessor.Init(Name, Address, Kafedra: string);
Begin
TPerson.Init(Name,Address);
FKafedra:=Kafedra;
End;
Procedure TProfessor.Done;
Begin
Inherited Done;
End;
Procedure TProfessor.Print;
Begin
TPerson.Print;
Writeln('каф. ',Fkafedra);
End;
Var list : array[1..lenlist] of ^TPerson;
I: integer;
Begin
For i:=1 to lenlist do
list[i]:=NIL;
List[1]:=new(PStudent,Init('Михаил Иванов','Лесной пр., д.29',238));
List[2]:=new(PStudent,Init('Иван Жук','Весенняя ул., д.2, кв.17',133));
List[3]:=new(PProf,Init('Игорь Манин','Некрасова ул., д.45, кв.8','ПОИТ'));
List[4]:=new(PProf, Init('Нина Непомнящая','Ромашковая ул., д.12,кв.10','ПОИТ'));
List[5]:=new(PStudent,Init('Кузьма Прутков','Долгобродская ул., д.2, корп.2, кв.17',473));
For i:=1 to lenlist do
If list[i] <> NIL then list[i]^.print;
For i:=1 to lenlist do
If list[i] <> NIL then
Begin
Dispose(list[i],Done);
List[i]:=Nil;
End;
Readln;
End.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.12.2014, 15:47
Ответы с готовыми решениями:

Подскажите, почему для каждого объекта в программе выдает две ошибки
Вот ошибки: error C2146: синтаксическая ошибка: отсутствие &quot;;&quot; перед идентификатором &quot;o_enemy&quot; ...

#c++ Написал программу, qt выдает ошибки напротив cout по всей программе. Подскажите почему
#include &lt;QCoreApplication&gt; #include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;ctime&gt; #include...

Почему выдает ошибки:
Пример из учебника крупника, все настройки, которые он там указывал, не делал, я делал настройки по...

Почему выдает ошибки?
In function 'int main()': 10:14: error: 'gets' was not declared in this scope 11:35: error:...

3
1 / 1 / 2
Регистрация: 10.11.2014
Сообщений: 35
16.12.2014, 16:12 2
В каких именно строчках ошибки или во всех? если в конце то ты там не указывал какие иниты использовал, ну типа TStudent.Init а у тебя там просто инит и чуть ниже дон тоже бесхозный или хз.
Слишком много классов меня пугает)
Мой совет если никто не ответит и не найдешь ошибку сделай чтобы небыло одинаковых названий в процедурах и компильни может просто где запутался с ними ты
0
0 / 0 / 0
Регистрация: 30.10.2014
Сообщений: 30
16.12.2014, 16:29  [ТС] 3
Цитата Сообщение от Sy4a Посмотреть сообщение
В каких именно строчках ошибки или во всех? если в конце то ты там не указывал какие иниты использовал, ну типа TStudent.Init а у тебя там просто инит и чуть ниже дон тоже бесхозный или хз.
Слишком много классов меня пугает)
Мой совет если никто не ответит и не найдешь ошибку сделай чтобы небыло одинаковых названий в процедурах и компильни может просто где запутался с ними ты
Сделал так как ты сказал,те ошибки исчезли, но появилась вот такая ошибка
[dcc32 Error] Project1.dpr(71): E2601 Procedure NEW needs constructor identifier of 'TStudent', but undeclared identifier 'TStudent' found
0
1 / 1 / 2
Регистрация: 10.11.2014
Сообщений: 35
17.12.2014, 14:03 4
что именно из того что я сказал?) приписал название объекта в начале или поменял названия процедур на другие. Данная ошибка если не ошибаюсь говорит что не найден объект Tstudent. Если ты делал первым случаем то наверно когда ты подключаешь:TStudent =object( TPerson) он подключает и все процедуры относящиеся к ней (только предположение) попробуй везде просто объект оставить, а переменные если уж ради них так делал то попробуй везде их обозвать.
И ещё в первои ините у тебя нету приписки к name :string; Хотя нужны они или нет хз)
Если ни чем не помог извиняй поспрашивай ещё где если тут не ответят и по коду ошибки погугли что он от тебя требует
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.12.2014, 14:03

Что не так в программе? Выдает ошибки: rtbotvet не объявлена
Посмотрите что не так в программе, пожалуйста. (выдает ошибки: rtbotvet не объявлена. Возможно...

Почему программа выдает ошибки?
Всем здравствуйте! Кто может подсказать, что не так с программой? почему она работает...

Почему выдает эти ошибки?
error: invalid types ‘float ’ for array subscript error: size of array ‘arr’ has non-integral...

Почему mysql_real_escape_string выдает ошибки?
$text1 = mysql_real_escape_string($_POST); $text2 = mysql_real_escape_string($_POST); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.