задача: Имеется док-т в виде справки длЯ 10 чел. Описать его ввиде записи по след форме ______________________________________ | Сотрудник .......| Должность | Мес. оклад...| _______________| ................ | .....................| |Фам | таб номер| ................. | .................... |
klem4
22.04.2007 23:55
type TWorker = Record name: String; // фио tabNumber: LongInt; // табельный номер end;
TRecord = Record W: TWorker; // сотрудник workType: String; // должность money: LongInt; // оклад end;
так чтоли ?
he11i
23.04.2007 0:06
Цитата(klem4 @ 22.04.2007 20:55)
type TWorker = Record name: String; // фио tabNumber: LongInt; // табельный номер end;
TRecord = Record W: TWorker; // сотрудник workType: String; // должность money: LongInt; // оклад end;
так чтоли ?
Как их в массив забить ? Он при вводе не видит вложенную запись
klem4
23.04.2007 0:08
x: Array [1..5] of TRecord;
// ...
for i := 1 to 5 do x[i].W.name := 'Вася';
he11i
3.05.2007 2:59
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.
Корректно ли написана программа?)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.