2024(e)ko apirilaren 4(a), osteguna

11. astea | erregistroen array bat

Ikasgelako ikasle kopuru maximoa 80 izanik, bildu array batean ikasleen informazio hau:

 

Hona hemen balizko soluzio bat:

program ErregistroenArrayBat ;

const
   BEHEMUGA = 1 ;
   GOIMUGA = 25 ;
   
type
   tsKate39 = string[39] ;
   tsKate99 = string[99] ;
   
   trdIkasle = record
                  sIzena   : tsKate39 ;
                  rNota    : real ;
                  sHelbidea: tsKate99 ;
                  byAdina  : byte ;
               end ;

   tardGela = array[BEHEMUGA..GOIMUGA] of trdIkasle ;


procedure IkasleBatHartu(var rdIkasle: trdIkasle) ;
begin
   write('Ikaslearen izena eman: ':30) ;
   readln(rdIkasle.sIzena) ;
   write('Ikaslearen nota eman: ':30) ;
   readln(rdIkasle.rNota) ;
   write('Ikaslearen helbidea eman: ':30) ;
   readln(rdIkasle.sHelbidea) ;
   write('Ikaslearen adina eman: ':30) ;
   readln(rdIkasle.byAdina) ;
end ;


procedure ArrayaBete(var ardGela: tardGela; var iLuzera: integer) ;
var
   k: integer ;
begin
   repeat
      write('Zenbat ikasle dira? ') ;
      readln(iLuzera) ;
   until (iLuzera >= BEHEMUGA) and (iLuzera <= GOIMUGA) ;
   
   for k:=BEHEMUGA to iLuzera do
   begin
      writeln(k, '. ikaslearen datuak hartzen.') ;
      IkasleBatHartu(ardGela[k]) ;
      writeln ;
   end ;
end ;


procedure IkasleBatErakutsi(const rdIkasle: trdIkasle) ;
begin
   writeln('Ikaslearen izena: ':25, rdIkasle.sIzena) ;
   writeln('Ikaslearen nota: ':25, rdIkasle.rNota:0:2) ;
   writeln('Ikaslearen helbidea: ':25, rdIkasle.sHelbidea) ;
   writeln('Ikaslearen adina: ':25, rdIkasle.byAdina) ;
end ;


procedure ArrayaIkusi(const ardGela: tardGela; iLuzera: integer) ;
var
   k: integer ;
begin
   for k:=BEHEMUGA to iLuzera do
   begin
      IkasleBatErakutsi(ardGela[k]) ;
      writeln ;
   end ;
end ;

{ ------------------- PROGRAMA NAGUSIA ------------------- }

var
   ardGela: tardGela ;
   iLuzera: integer ;    

begin
   writeln('//////////////////////////////////////') ;
   writeln ;
	
   writeln('Gelako datuak jaso.') ;
   ArrayaBete(ardGela, iLuzera) ;
   writeln ;
   
   writeln('Gelako datuak ikusi.') ;
   ArrayaIkusi(ardGela, iLuzera) ;
   writeln ;
   
   writeln('Lehen ikaslearen adina ', ardGela[BEHEMUGA].byAdina, ' da.') ;
   writeln('Azken ikaslearen izena ', ardGela[iLuzera].sizena, ' da.') ;

   writeln ;
   writeln('//////////////////////////////////////') ;
   readln ;
end.
 

iruzkinik ez:

Argitaratu iruzkina

Iruzkinen bat idazteko Google-ko kontu bat behar duzu. Iruzkin guztien moderazio-ardura blogeko administratzaileari dagokio.