Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
_Vika_
0 / 0 / 0
Регистрация: 23.09.2012
Сообщений: 10
#1

ООП - Информация о почтовом адресе организации - Delphi

19.10.2012, 19:56. Просмотров 720. Ответов 4
Метки нет (Все метки)

Условие: Построить описание класса, содержащего информацию о почтовом адресе организации. Предусмотреть возможность раздельного изменения составных частей адреса. (индекс, область, район, населенные пункт, улица, дом).

вот что у меня получилось:
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
TYPE
adres=object
      ind:integer;
      obl:string;
      raon:string;
      nlp:string;
      yl:string;
      dom:integer;
      Procedure vvod1;
      Procedure vvod2;
      Procedure vvod3;
      Procedure vvod4;
      Procedure vvod5;
      Procedure vvod6;
      Procedure vvod7;
      Procedure vivod1;
      Procedure vivod2;
      Procedure vivod3;
      Procedure vivod4;
      Procedure vivod5;
      Procedure vivod6;
      end;
 
Procedure adres.vvod1;
Var s:adres;
begin
writeln('vvedite index');
readln(s.ind);
end;
Procedure adres.vvod2;
Var s:adres;
begin
writeln('vvedite oblost');
readln(s.obl);
end;
Procedure adres.vvod3;
Var s:adres;
begin
writeln('vvedite raion');
readln(s.raon);
end;
Procedure adres.vvod4;
Var s:adres;
begin
writeln('vvedite naselennii punkt');
readln(s.nlp);
end;
Procedure adres.vvod5;
Var s:adres;
begin
writeln('vvedite ylichy');
readln(s.yl);
end;
Procedure adres.vvod6;
Var s:adres;
begin
writeln('vvedite nomer doma');
readln(s.dom);
end;
 
Procedure adres.vivod1;
Var s:adres;
begin
writeln('adres');
write(s.ind,' ');
end;
 
Procedure adres.vivod2;
Var s:adres; i:integer; ch:array[1..100] of char;
begin
i:=0;
while i<>(Length(s.obl)) do
begin
i:=i+1;
write (ch[i]);
end;
write (' ');
end;
 
Procedure adres.vivod3;
Var s:adres; i:integer; ch:array[1..100] of char;
begin
for i:=1 to Length(s.raon) do
write (ch[i]);
write (' ');
end;
 
Procedure adres.vivod4;
Var s:adres; i:integer; ch:array[1..100] of char;
begin
for i:=1 to Length(s.nlp) do
write (ch[i]);
write (' ');
end;
 
Procedure adres.vivod5;
Var s:adres; i:integer; ch:array[1..100] of char;
begin
for i:=1 to Length(s.yl) do
write (ch[i]);
write (' ');
end;
 
Procedure adres.vivod6;
Var s:adres;
begin
write(s.dom,' ');
end;
 
Var
a:adres;
k:integer;
i:integer;
ch:array[1..100]of char;
begin
  { TODO -oUser -cConsole Main : Insert code here }
  a.vvod1;
  a.vvod2;
  a.vvod3;
  a.vvod4;
  a.vvod5;
  a.vvod6;
  a.vivod1;
  a.vivod2;
  a.vivod3;
  a.vivod4;
  a.vivod5;
  a.vivod6;
  writeln;
  writeln ('esli hotite izmenit:');
  writeln('indeks, vvedite 1');
  writeln ('oblost, vvedite 2');
  writeln('raion, vvedite 3');
  writeln('naselennii punkt, vvedite 4');
  writeln('ylichy, vvedite 5');
  writeln('dom, vvedite 6');
  readln (k);
 
  If k=1 Then begin a.vvod1; a.vivod1 end;
  If k=2 Then begin a.vvod2; a.vivod2 end;
  If k=3 Then begin a.vvod3; a.vivod3 end;
  If k=4 Then begin a.vvod4; a.vivod4 end;
  If k=5 Then begin a.vvod5; a.vivod5 end;
  If k=6 Then begin a.vvod6; a.vivod6 end;
  readln;
end.
но выводить он слова не хочет, только индекс и дом выводит, помогите пожалуйста, практика горит
 Комментарий модератора 
Теги кода добавлены модератором. По правилам форума, код должен быть оформлен соответствующими тегами. Для оформления кода Delphi следует выделить этот код и на панели редактирования сообщения нажать кнопку: "DELPHI".
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2012, 19:56
Я подобрал для вас темы с готовыми решениями и ответами на вопрос ООП - Информация о почтовом адресе организации (Delphi):

Переменная в адресе файла
каким образом можно задать в адрес файла переменную? т.е. ...

Что использовать в почтовом клиенте для списка писем???
У меня такая проблемма: Тема курсовой у меня по Delphi - &quot;Почтовый клиент&quot;....

Описать класс, содержащий информацию о почтовом адресе организации
Описать класс, содержащий информацию о почтовом адрессе организации....

Построить описание класса, содержащего информацию о почтовом адресе организации
Очень срочно нужно (до конца следующей недели) Построить описание класса,...

Построить описание класса, содержащего информацию о почтовом адресе организации
помогите пожалуйста решить задачу на классы Построить описание класса,...

Построить описание класса, содержащего информацию о почтовом адресе организации
Построить описание класса, содержащего информацию о почтовом адресе...

4
HighPredator
5647 / 1964 / 716
Регистрация: 10.12.2010
Сообщений: 5,691
Записей в блоге: 3
19.10.2012, 21:41 #2
Это можно в таком виде сделать:
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
unit PostAddr;
 
interface
 
type
  TPostAdress=class
  private
    FIndex:integer;
    FRegion:string;
    FDistrict:string;
    FSettlement:string;
    FStreet:string;
    FHouseNo:integer;
    function GetIndex:integer;
    function GetHouseNo:integer;
    procedure SetIndex(const Value:integer);
    procedure SetHouseNo(const Value:integer);
  public
    property PostIndex:integer read GetIndex write SetIndex;
    property Region:string read FRegion write FRegion;
    property District:string read FDistrict write FDistrict;
    property Settlement:string read FSettlement write FSettlement;
    property Street:string read FStreet write FStreet;
    property HouseNo:integer read GetHouseNo write SetHouseNo;
    constructor Create(const Ind,No:integer; const Reg,Dist,Settl,Str:string);
  end;
 
implementation
 
constructor TPostAdress.Create(const Ind,No:integer; const Reg,Dist,Settl,Str:string);
begin
  FIndex:=Ind;
  FRegion:=Reg;
  FDistrict:=Dist;
  FSettlement:=Settl;
  FStreet:=Str;
  FHouseNo:=No;
end;
 
function TPostAdress.GetIndex:integer;
begin
  Result:=FIndex;
end;
 
function TPostAdress.GetHouseNo:integer;
begin
  Result:=FHouseNo;
end;
 
procedure TPostAdress.SetIndex(const Value:integer);
begin
  FIndex:=Value;
end;
 
procedure TPostAdress.SetHouseNo(const Value:integer);
begin
  FHouseNo:=Value;
end;
 
end.
1
mss
2631 / 2256 / 275
Регистрация: 24.12.2010
Сообщений: 13,725
19.10.2012, 21:43 #3
1. То что у тебя что-то там "горит" вовсе не повод для безобразного от балды именования процедур.

2. Время жизни локальной переменной, коей у тебя является s:adres в каждом из методов vvodчегототам и vivodчегототам, равно времени работы соответствующего метода. Подумай над этим крайне важным фактом, как бы у тебя чего-то где-то там ни "горело".
0
DaMortum
243 / 146 / 31
Регистрация: 07.10.2012
Сообщений: 401
19.10.2012, 21:58 #4
Или чтоб без палева:
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
TYPE
  adres=object
      ind:integer;
      obl:string;
      raon:string;
      nlp:string;
      yl:string;
      dom:integer;
      Procedure vvod1;
      Procedure vvod2;
      Procedure vvod3;
      Procedure vvod4;
      Procedure vvod5;
      Procedure vvod6;
      Procedure vivod1;
      Procedure vivod2;
      Procedure vivod3;
      Procedure vivod4;
      Procedure vivod5;
      Procedure vivod6;
  end;
Var
  a:adres;
 
Procedure adres.vvod1;
begin
  writeln('vvedite index');
  readln(a.ind);
end;
 
Procedure adres.vvod2;
begin
  writeln('vvedite oblost');
  readln(a.obl);
end;
 
Procedure adres.vvod3;
begin
  writeln('vvedite raion');
  readln(a.raon);
end;
 
Procedure adres.vvod4;
begin
  writeln('vvedite naselennii punkt');
  readln(a.nlp);
end;
 
Procedure adres.vvod5;
begin
  writeln('vvedite ylichy');
  readln(a.yl);
end;
 
Procedure adres.vvod6;
begin
  writeln('vvedite nomer doma');
  readln(a.dom);
end;
 
Procedure adres.vivod1;
begin
  writeln('adres');
  write(a.ind,' ');
end;
 
Procedure adres.vivod2;
begin
  write (a.obl);
  write (' ');
end;
 
Procedure adres.vivod3;
begin
  write (a.raon);
  write (' ');
end;
 
Procedure adres.vivod4;
begin
  write (a.nlp);
  write (' ');
end;
 
Procedure adres.vivod5;
begin
  write (a.yl);
  write (' ');
end;
 
Procedure adres.vivod6;
begin
  write(a.dom,' ');
end;
 
Var
  k:integer;
begin
  { TODO -oUser -cConsole Main : Insert code here }
  a.vvod1;
  a.vvod2;
  a.vvod3;
  a.vvod4;
  a.vvod5;
  a.vvod6;
  a.vivod1;
  a.vivod2;
  a.vivod3;
  a.vivod4;
  a.vivod5;
  a.vivod6;
  writeln;
  writeln ('esli hotite izmenit:');
  writeln('indeks, vvedite 1');
  writeln ('oblost, vvedite 2');
  writeln('raion, vvedite 3');
  writeln('naselennii punkt, vvedite 4');
  writeln('ylichy, vvedite 5');
  writeln('dom, vvedite 6');
  readln (k);
 
  If k=1 Then begin a.vvod1; a.vivod1 end;
  If k=2 Then begin a.vvod2; a.vivod2 end;
  If k=3 Then begin a.vvod3; a.vivod3 end;
  If k=4 Then begin a.vvod4; a.vivod4 end;
  If k=5 Then begin a.vvod5; a.vivod5 end;
  If k=6 Then begin a.vvod6; a.vivod6 end;
  readln;
end.
На тройку потянет.
1
_Vika_
0 / 0 / 0
Регистрация: 23.09.2012
Сообщений: 10
20.10.2012, 10:32  [ТС] #5
Большое спасибо!
Значит надо было всего лишь один Var для всех процедур....
0
20.10.2012, 10:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2012, 10:32
Привет! Вот еще темы с решениями:

Построить описание класса, содержащего информацию о почтовом адресе организации
помогите=) Построить описание класса, содержащего информацию о почтовом адресе...

Класс: построить описание класса, содержащего информацию о почтовом адресе организации.
Помогите пожалуйста, новичок в Си#:(замучилась с этим заданием:( Нужно...

По умолчанию Построить описание класса, содержащего информацию о почтовом адресе организации
Построить описание класса, содержащего информацию о почтовом адресе...

Как убрать в почтовом адресе лотосовскую адресацию ?
как убрать в почтовом адресе лотосовскую адресацию ? ...


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

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

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