M3 - Programació estructurada / Exercicis UF1: Classes

De wikiserver
La revisió el 16:03, 1 març 2018 per Rsort (Discussió | contribucions) (Es crea la pàgina amb «==Exercici 1== Estem creant una base de dades amb els alumnes de primer. Ens interessa el nom i els cognoms. També ens interessa saber les notes que tenen a cada una...».)
(dif) ← Versió més antiga | Versió actual (dif) | Versió més nova → (dif)
Dreceres ràpides: navegació, cerca

Exercici 1

Estem creant una base de dades amb els alumnes de primer. Ens interessa el nom i els cognoms. També ens interessa saber les notes que tenen a cada una de les tres primeres UF de programació. En total volem guardar informació de 20 alumnes. Primer de tot cal definir la classe Alumne.

El programa ha de permetre mitjançant un menú: afegir un nou alumne, posar notes a un alumne, llistar (el que sigui) , etc...

Per no perdre la informació cada vegada que executeu el programa i no haver d’estar inserint contínuament alumnes podeu ajudar-vos del codi de fitxers que ja teniu implementat.

El vostre programa tindrà aquest aspecte:

public class ProgramaAlumnes {

     public static void main(String[] args) {

       GestioFitxer g= new GestioFitxer();
       Alumne alumnes[] = new Alumne[20];
       int quants=g.llegeix(alumnes);
       // Aquí va el vostre codi
       g.escriu(alumnes, quants);
     }
   }

Amb el codi anterior el que heu fet inicialment passar tota la informació del fitxer a la taula d’alumnes. La variable quants indica quantes posicions de la taula teniu ocupades (és a dir, quants alumnes teniu). Lògicament la primera vegada que executeu, el fitxer no existirà (ja que encara no hi ha alumnes), la taula d’alumnes estarà buida i la variable quants valdrà 0.

El codi del final del programa el que fa és traspassar tota la informació de la taula al fitxer. Per a que això funcioni bé, heu d’actualitzar la variable quants cada vegada que inseriu o elimineu un alumne.

Nota: Per a que funcioni aquest codi de fitxer cal que afegiu a la capçalera de la classe Alumne-->implements Serializable