IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Вложенные записи, Определение их в разделе описаний
he11i
сообщение 22.04.2007 19:34
Сообщение #1





Группа: Пользователи
Сообщений: 4
Пол: Мужской

Репутация: -  0  +


задача:
Имеется док-т в виде справки длЯ 10 чел. Описать его ввиде записи по след форме
______________________________________
| Сотрудник .......| Должность | Мес. оклад...|
_______________| ................ | .....................|
|Фам | таб номер| ................. | .................... |

Сообщение отредактировано: he11i - 22.04.2007 19:35
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 4)
klem4
сообщение 22.04.2007 19:55
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


type
TWorker = Record
name: String; // фио
tabNumber: LongInt; // табельный номер
end;

TRecord = Record
W: TWorker; // сотрудник
workType: String; // должность
money: LongInt; // оклад
end;


так чтоли ?


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
he11i
сообщение 22.04.2007 20:06
Сообщение #3





Группа: Пользователи
Сообщений: 4
Пол: Мужской

Репутация: -  0  +


Цитата(klem4 @ 22.04.2007 20:55) *

type
TWorker = Record
name: String; // фио
tabNumber: LongInt; // табельный номер
end;

TRecord = Record
W: TWorker; // сотрудник
workType: String; // должность
money: LongInt; // оклад
end;


так чтоли ?

Как их в массив забить ? Он при вводе не видит вложенную запись
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 22.04.2007 20:08
Сообщение #4


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


x: Array [1..5] of TRecord;

// ...

for i := 1 to 5 do
x[i].W.name := 'Вася';


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
he11i
сообщение 2.05.2007 22:59
Сообщение #5





Группа: Пользователи
Сообщений: 4
Пол: Мужской

Репутация: -  0  +



program SR;
uses crt;
type
TWorker = Record
name: String[20];
tabNumber: LongInt;
end;

TRecord = Record
W: TWorker;
workType: String[10];
money: LongInt;

end;
spr=array[1..10] of trecord;

var
a:spr;
i,x,b:integer;


procedure vvod;
begin
clrscr;
writeln('BBeguTe kol-vo zapisey');
readln(b);
for i:=1 to b do
begin
writeln('BBeguTe gaHHbIe');
writeln('Surname?');
readln(a[i].w.name);
writeln('Table number?');
readln(a[i].w.tabnumber);
writeln('WorkType?');
readln(a[i].worktype);
writeln('Money?');
readln(a[i].money);
end;
end;

procedure vivod;
var
j:integer;
begin
clrscr;
j:=3;
gotoxy(13,1);write('sotrudnik');
gotoxy(45,1);write('WorkType ');
gotoxy(65,1);writeln('Money ');
gotoxy(2,2);write('Surname ');
gotoxy(25,2);write('Tablenumber ');
writeln;
for i:=1 to b do
begin
j:=j+1;
gotoxy(2,j);write(a[i].w.name);
gotoxy(26,j);write(a[i].w.tabnumber:4);
gotoxy(48,j);write(a[i].worktype);
gotoxy(67,j);write(a[i].money);
writeln;
end;
readln;
end;

procedure vibor;
var
j:integer;
s:string[20];
begin
clrscr;
writeln('BBeguTe surname');
readln(s);
clrscr;
j:=3;
gotoxy(13,1);write('sotrudnik');
gotoxy(45,1);write('WorkType ');
gotoxy(65,1);writeln('Money ');
gotoxy(2,2);write('Surname ');
gotoxy(25,2);write('Tablenumber ');
writeln;
for i:=1 to b do
begin
if a[i].w.name=s then begin
j:=j+1;
gotoxy(2,j);write(a[i].w.name);
gotoxy(26,j);write(a[i].w.tabnumber:4);
gotoxy(48,j);write(a[i].worktype);
gotoxy(67,j);write(a[i].money);
writeln;
end;
end;
readln;
end;
begin
repeat
clrscr;
gotoxy(30,8);write('1 - VVod dannih');
gotoxy(30,10);write('2 - Vivod dannih');
gotoxy(30,12);write('3 - Viborka sotrudnika');
gotoxy(30,14);writeln('4 - Exit');
gotoxy(30,18);readln(x);

case x of
1:vvod;
2:vivod;
3:vibor;

end;
until x=4;


end.

Корректно ли написана программа?)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 2:49
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"