Hogyan lehet pascalban egy record típusba meg egy recordot berakni?
Tehát az a feladat hogy be kell olvasni személyek adatait. En úgy csináltam h:
type szemely=record
vezeteknev:string;
keresztnev:string;
cim:string;
telefonszam:longint;
szuletesi datum:record
ev:longint;
honap:integer;
nap:integer;
end;
nevnapi datum:record
honap:integer;
nap:integer;
end;
end;
De ez így nem jó, mert amikor beolvasom a vezeteknevet akkor azt írja hogy nem található. Mi a baj? Legysziii segítsetek.
na akkor lám h ti hogy csinálnátok?
Adott szemelyi nyilvántartásban minden személyről a következő adatok:
vezeteknev-20 karakter
keresztnev-10 karakter
cim-30 karakter
telefonszam-egesz szam
szuletesi datum-record(ev,honap,nap)
nevnapi datum(honap,nap)
a)beolvassa a szemelyek adatait
Nem szeretek leckét megírni senki helyett, de tessék:
program szemelynyilvantarto;
uses crt;
type
TSzuletesnap=record
ev: word;
honap: word;
nap: word;
end;
TNevnap=record
honap: word;
nap: word;
end;
TNevnapok=array [1..5] of TNevnap;
TSzemely=Record
vezeteknev: string[20];
keresztnev: string[10];
cim: string[30];
telefonszam: integer;
szuletesiido: TSzuletesnap;
nevnapok: TNevnapok;
end;
var
Szemelyek: array [1..10] of TSzemely;
i,j, nevnapokszama: integer;
begin
clrscr;
for i:=1 to 10 do
begin
Write('Kerem a(z) ',i,'. szemely vezeteknevet: ');
readln(Szemelyek[i].vezeteknev);
Write('Kerem a(z) ',i,'. szemely keresztnevet: ');
readln(Szemelyek[i].keresztnev);
Write('Kerem a(z) ',i,'. szemely lakcimet: ');
readln(Szemelyek[i].cim);
Write('Kerem a(z) ',i,'. szemely telefonszamat: ');
readln(Szemelyek[i].telefonszam);
Write('Kerem a(z) ',i,'. szemely szuletesi evet: ');
readln(Szemelyek[i].szuletesiido.ev);
Write('Kerem a(z) ',i,'. szemely szuletesi honapjat: ');
readln(Szemelyek[i].szuletesiido.honap);
Write('Kerem a(z) ',i,'. szemely szuletesi napját: ');
readln(Szemelyek[i].szuletesiido.nap);
write('Hany nevnapja van az evben? (1-5): ');
readln(nevnapokszama);
for j:=1 to nevnapokszama do
begin
Write('Kerem a(z) ',i,'. szemely ',j,'. nevnapjanak honapjat: ');
readln(Szemelyek[i].nevnapok[j].honap);
Write('Kerem a(z) ',i,'. szemely ',j,'. nevnapjanak napjat: ');
readln(Szemelyek[i].nevnapok[j].nap);
end;
end;
clrscr;
writeln('Adatok visszaírása: ');
for i:=1 to 10 do
begin
writeln('Vezetekneve: ',Szemelyek[i].vezeteknev);
writeln('Keresztneve: ',Szemelyek[i].keresztnev);
writeln('Lakcime: ',Szemelyek[i].cim);
writeln('Telefonszama: ',Szemelyek[i].telefonszam);
writeln('Szuletesi datuma: ',Szemelyek[i].szuletesiido.ev,'.',Szemelyek[i].szuletesiido.honap,'.',Szemelyek[i].szuletesiido.nap,'.');
writeln('Nevnapjai: ');
for j:=1 to 5 do
begin
if (Szemelyek[i].nevnapok[j].honap<>0) and (Szemelyek[i].nevnapok[j].nap<>0) then
writeln(Szemelyek[i].nevnapok[j].honap,'.',Szemelyek[i].nevnapok[j].nap,'.');
end;
end;
Writeln('Itt a vege fuss el vele!');
Writeln('Nyomj ENTER-t a kilepeshez!');
Readln;
end.
A program 10 személy adatait kéri be, személyenként egy évben 5 névnap engedélyezett. A program semmiféle hibakezeléssel nem bír, így totál hibás adatokat is elfogad (vagy elszáll tőle).
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!