M3 - Programació estructurada / Pràctiques UF1: Pt2

De wikiserver
Dreceres ràpides: navegació, cerca

Estem creant una base de dades amb informació de productes. Ens interessa el nom dels productes i les vendes trimestrals. En total volem guardar informació de com a màxim 50 productes.

La informació de cada producte estarà definida lògicament en una classe que definireu com més us agradi, encara que acostuma a ser bastant pràctic que també li agradi al professor.

El que es demana és: un programa que mitjançant un menú permeti a l’usuari gestionar aquests productes. El programa ha de permetre : altes, baixes, modificacions, qualsevol tipus de consultes, estadístiques....... El límit el poseu vosaltres, penseu que féu un programa perquè l’utilitzi una empresa.

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

El vostre programa tindrà aquest aspecte:

public class ProgramaProductes {

  public static void main(String[] args) {

    Producte productes[] = new Producte[50];
    GestioFitxer g= new GestioFitxer();
    int quants = g.llegeix(productes);

    //Aquí anirà el teu codi

    g.escriu(productes, quants);
  }
}

Amb el codi anterior el que heu fet inicialment és passar tota la informació del fitxer a la taula de productes. La variable quants indica quantes posicions de la taula teniu ocupades (és a dir, quants productes teniu). Lògicament la primera vegada que executeu, el fitxer no existirà (ja que encara no hi ha productes), la taula de productes 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 producte.

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

  • Per a no haver d’introduir tot des de zero, en un fitxer adjunt hi ha informació de 30 productes, per tant una vegada tingueu definides les estructures i només un sol cop, carregueu aquesta informació sobre la vostra taula. Penseu a actualitzar la variable quants.

Classes Base:

  • GestioFitxer.java // La mateixa de l'exercici
  • DadesProductes.java
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package classesnoves;

/**
 *
 * @author Albert Canela
 */
public class DadesProductes {
    public static void main(String[] args) {
        
    
     String productes[]={
"4LIFE TRANSFER FACTOR PLUS 90 TBS",
"AB SOLUTION PLUS 240ml",
"ABRASONE RECTAL crema 30 gr.",
"ABRAXANE 100mg 1vial 50ml",
"ACID HYALURONIC 20MG 30CAPS",
"ACID HYALURONIC 60MG 30CAPS TRIPLE STRENGTH",
"ACIDOPHILUS PLUS 60caps",
"ACOMPLIA 20mg 28 tabs",
"ACT eau dentaire fluor classic cinnamon fl 400 ml",
"ACTOVEGIN 10 ML 5 AMP",
"ACTOVEGIN FORTE 200 mg 100 dragees",
"ACTOVEGIN INJ. 5 X 5 ML",
"ADRENALIN 1:1000 ( 1mg/ ml ) 10x1 ml",
"AETHOXYSKLEROL 0.25% 5Ampo 2ml",
"AETHOXYSKLEROL 0.5% 5 Ampo 2ml",
"AETHOXYSKLEROL 1% 30 ml VIAL",
"AETHOXYSKLEROL 1% 5x2ml",
"AETHOXYSKLEROL 2% 5x2ml",
"AETHOXYSKLEROL 3% 5 Amp 2ml",
"AETHOXYSKLEROL 4% 5x2ml",
"AGGRENOX  200/25mg 60 caps",
"AGIOCUR Granulat 250g",
"AGIOLAX MITE 1000gr",
"AHAVA CREMA CORPORAL VAINILLA 300 GR.",
"AHAVA DERMUD BODY MILK 250 ml.",
"AHAVA DERMUD CR.HUMECTANT CALMANT 50 ML SPF15",
"AHAVA DERMUD CREMA COLZES I GENOLLS 75 ml.",
"AHAVA DERMUD CREMA CORPORAL 200 ML.",
"AHAVA DERMUD CREMA MANS 125 ML",
"AHAVA DERMUD CREMA NUTRITIVA 50 ML"};


  
 int vendesTrim [][]= {
     {290,316,877,924},
     {339,874,158,359},
     {485,754,80,38},
     {490,358,628,330},
     {52,118,852,463},
     {925,69,164,458},
     {234,680,342,758},
     {290,316,877,924},
     {339,874,158,359},
     {485,754,80,38},
     {490,358,628,330},
     {52,118,852,463},
     {925,69,164,458},
     {234,680,342,758},
     {290,316,877,924},
     {339,874,158,359},
     {485,754,80,38},
     {490,358,628,330},
     {52,118,852,463},
     {925,69,164,458},
     {234,680,342,758},
     {290,316,877,924},
     {339,874,158,359},
     {485,754,80,38},
     {490,358,628,330},
     {52,118,852,463},
     {925,69,164,458},
     {234,680,342,758},
     {485,754,80,38},
     {490,358,628,330}};
}}
  • ProgramaProductes.java
package exProductes;


/**
 *
 * @author albert
 */
public class ProgramaProductes {

    public static void main(String[] args) {
        Producte productes[] = new Producte[50];
        GestioFitxer g= new GestioFitxer();
        int quants = g.llegeix(productes);
     


        //Aquí anirà el teu codi




        g.escriu(productes, quants);
    }
}