[Spoiler] Structure de données permettant de conserver les informations sur les pièces

Voir le sujet précédent Voir le sujet suivant Aller en bas

[Spoiler] Structure de données permettant de conserver les informations sur les pièces

Message par Samy.C le Lun 13 Juin - 11:58

Que du bonheur cette exercice.

Main.java
Code:
/*" auteur :" crossette
" date :" 13 juin 2016
" nom fichier :" Main.java*/
public class Main
{
 public static void main(String arg[])
 {
 Piece[] tPiece;
 int nbPiece;

 System.out.println("Nombre de pièces ?");
 nbPiece = Lire.i();

 tPiece = new Piece[nbPiece];
 Piece.saisiepiece(tPiece);
 Piece.affichagepiece(tPiece);
 }
}



Colorie.java
Code:
/*" auteur :" crossette
" date :" 10 juin 2016
" nom fichier :" Colorie.java*/
enum Colorie
{
 JAUNE, VERT, BLEU, ROUGE, ORANGE, MAUVE;
 public static Colorie saisieColorie()
 {
 String s;
 Colorie col = null;
 boolean ok = true;
 do
 {
 // System.out.print("Couleur : ");
 // for (Colorie c : Colorie.values())
 // {
 // System.out.print(c+" ");

 //}
 System.out.println();
 System.out.print("Couleur : ");

 s = Lire.S().toUpperCase();
 try
 {
 col = Colorie.valueOf(s);
 ok = true;
 } catch (Exception e)
 {
 ok = false;
 }
 } while (!ok);
 return col;
 }
 
};



Data.java
Code:
/*" auteur :" crossette
" date :" 10 juin 2016
" nom fichier :" DateFab.java*/
public class Date
{
 public NomMois mois;
 public NomJour jour;
 public int annee;
 public int numero;
 
 public static void afficherdate(Piece[] tPiece, int traite)
 {
 System.out.print("Jour : "+tPiece[traite] .date.jour);
 System.out.print(" "+tPiece[traite].date.numero);
 System.out.print(" "+tPiece[traite].date.mois);
 System.out.print(" "+tPiece[traite].date.annee);
 }
 
 public static Date saisirdate()
 {
 Date date = new Date();
 date.mois = NomMois.saisieMois();
 date.jour = NomJour.saisieJour();
 System.out.println("");
 System.out.println("Numéro jour : ");
 date.numero = Lire.i();
 System.out.println("Année : ");
 date.annee = Lire.i();
 return date;
 }

}



Genre.java
Code:
/*" auteur :" crossette
" date :" 10 juin 2016
" nom fichier :" Genre.java*/
enum Genre
{
 CUBE, CYLINDRE, SPHERE;
 public static Genre saisieGenre()
 {
 String s;
 Genre genre = null;
 boolean ok = true;
 do
 {
 // System.out.print("Genre : ");
 // for (Genre g : Genre.values())
 //{
 // System.out.print(g+" ");

 // }
 System.out.println();

 s = Lire.S().toUpperCase();
 try
 {
 genre = Genre.valueOf(s);
 ok = true;
 } catch (Exception e)
 {
 ok = false;
 }
 } while (!ok);
 return genre;
 }

};



Mesure.java
Code:
/*" auteur :" crossette
" date :" 10 juin 2016
" nom fichier :" Mesure.java*/
class Mesure
{
 public Genre genre;
 public double hauteur;
 public double rayon;
 public double coté;
 
 public static void afficherGenre(Piece[] tPiece, int traite)
 {
 System.out.println("");
 System.out.println("Type "+tPiece[traite].genre.genre);
 
 if(tPiece[traite].genre.hauteur!=0)
 {
 System.out.println("De hauteur : "+tPiece[traite].genre.hauteur);
 }
 if(tPiece[traite].genre.coté!=0)
 {
 System.out.println("De coté : "+tPiece[traite].genre.coté);
 }
 if(tPiece[traite].genre.rayon!=0)
 {
 System.out.println("De rayon : "+tPiece[traite].genre.rayon);
 }
 }
 
 public static Mesure saisieGenre()
 {
 Mesure mesure = new Mesure();

 System.out.println("Genre de pièce : ");
 mesure.genre = Genre.saisieGenre();
 
 switch (mesure.genre)
 {
 case CUBE :
 System.out.println("Coté : ");
 mesure.coté = Lire.d();
 break;
 
 case SPHERE :
 System.out.println("Rayon : ");
 mesure.rayon =  Lire.d();
 break;

 case CYLINDRE :
 System.out.println("Rayon : ");
 mesure.rayon =  Lire.d();
 System.out.println("Hauteur : ");
 mesure.hauteur = Lire.d();
 break;
 }
 
 return mesure;

 }
}



NomJour.java
Code:
/*" auteur :" crossette
" date :" 10 juin 2016
" nom fichier :" NomJour.java*/
enum NomJour
{
 LUNDI, MARDI, MERCREDI, JEUDI, VENDREDI, SAMEDI, DIMANCHE;
 public static NomJour saisieJour()
 {
 String s;
 NomJour jour = null;
 boolean ok = true;
 do
 {
 // System.out.print("Jour : ");
 // for (NomJour j : NomJour.values())
 // {
 // System.out.print(j+" ");

 // }
 System.out.println();
 System.out.print("Jour : ");

 s = Lire.S().toUpperCase();
 try
 {
 jour = NomJour.valueOf(s);
 ok = true;
 } catch (Exception e)
 {
 ok = false;
 }
 } while (!ok);
 return jour;
 }

};


NomMois.java
Code:
/*" auteur :" crossette
" date :" 10 juin 2016
" nom fichier :" NomMois.java*/
enum NomMois
{
 JANVIER, FEVRIER, MARS, AVRIL, MAI, JUIN, JUILLET, AOUT, SEPTEMBRE, OCTOBRE, NOVEMBRE, DECEMBRE;
 public static NomMois saisieMois()
 {
 String s;
 NomMois mois = null;
 boolean ok = true;
 do
 {
 // System.out.print("Mois : ");
 // for (NomMois m : NomMois.values())
 // {
 // System.out.print(m+" ");

 // }
 System.out.println();
 System.out.print("Mois : ");

 s = Lire.S().toUpperCase();
 try
 {
 mois = NomMois.valueOf(s);
 ok = true;
 } catch (Exception e)
 {
 ok = false;
 }
 } while (!ok);
 return mois;
 }
 
 

};


Pieces.java
Code:
/*" auteur :" crossette
" date :" 9 juin 2016
" nom fichier :" Piece.java*/

class Piece
{
 public Date date;
 public Colorie colorie;
 public Mesure genre;
 public int serie;

 public static final int TAILLE = 10000;

 public static void saisiepiece(Piece[] tPiece)
 {
 int vide = 0;
 do
 {
 System.out.println("Pièce n" + vide);
 tPiece[vide] = new Piece();
 lire(tPiece[vide]);
 vide++;
 System.out.println();
 } while (vide < tPiece.length);
 }

 public static void affichagepiece(Piece[] tPiece)
 {
 int traite = 0;
 do
 {
 System.out.println("Pièce n " + traite + " : ");
 
 Date.afficherdate(tPiece,traite);
 
 Mesure.afficherGenre(tPiece, traite);
 
 System.out.println("");
 System.out.println("De Couleur : "+tPiece[traite].colorie);
 
 System.out.println("Numéro de serie :");
 System.out.println(tPiece[traite].serie);
 
 traite++;
 System.out.println();
 
 } while (traite < tPiece.length);
 }

 public static void lire(Piece des)
 {
 
 des.date=Date.saisirdate();
 
 des.genre=Mesure.saisieGenre();
 
 des.colorie=Colorie.saisieColorie();
 
 System.out.println("Numéro de série : ");
 des.serie = Lire.i();
 
 }
}


Lire.java
Code:
/*********************************************************************
  Nom du programme  :  Lire.java
  Auteur            :  Lécu Regis
  Mise a jour       :  février 2001, maj nov 2003 jcc
  Fonction          :  bibliothèque de fonctions de lecture

  Pour compatibilité dans la progression avec "Le livre de Java comme
  premier langage", des alias de chaque fonction sont donnés en fin de la
  classe.
  Tous les noms de fonctions devraient commencer par une minuscule.En
  dehors de cette boîte à outils de fonctions, cette convention sera
  scrupuleusement respectée.
**********************************************************************/
public class Lire
{
 // Par défaut, la bibliothèque ne lit que les premiers caractères de chaque ligne
    private static boolean filtre = true;

 
 // Filtre :
 //  si leFiltre = vrai, seul le premier caractère de chaque ligne
 //  sera lu par la fonction Lire.c() (appel automatique de la fonction Purge)
 // sinon tous les caractères sont lus, y compris les caractères de contrôle
    public static void Filtre ( boolean leFiltre)
    {
       filtre = leFiltre;
    }  
 
 // Purge : élimine tous les caractères jusqu'à la fin de la ligne
    public static void Purge()
    {      
 try
 {
 char car ;
 do
 {
                car = (char) System.in.read ();
 }
 while (car != '\n');
 }
     catch (java.io.IOException e)
 {
 System.out.println ("Erreur de saisie");
 System.exit (0);
 }
    }  

 // Lecture d'une chaine terminée par un "RETURN" : saute la fin de ligne
 public static String Chaine()
 {
 char car ;
 String result = "";
 
 try
 {
 car = (char) System.in.read ();
        //lecture de la ligne jusqu'au retour charriot (13, 0xD)
 while (car != '\r')
 {
 result = result + car;
 car = (char) System.in.read ();
 }
            
            // Saut du fin de ligne (10, 0xA)
 System.in.skip (1);
 }
 catch (java.io.IOException e)
 {
 System.out.println ("Erreur de saisie");
 System.exit (0);
 }
 return result;
 }
  
 // Lecture d'un caractère : uniquement le premier caractère de la nouvelle ligne
 //  si filtrage, n'importe quel caractère sinon
 public static char Caractere ()
 {
 char result = 0;
 
 try
 {
 result = (char) System.in.read ();      
 }

 catch (java.io.IOException e)
 {
 System.out.println ("Erreur de saisie");
 System.exit (0);
 }
 
        if (filtre)
 {
 Purge ();
 }

 return result;
 }

 public static int Entier ()
 {
 int result = 0;
 
        try
 {
 result = Integer.parseInt ( Chaine () );  
        }
 
 catch (NumberFormatException e)
 {
 System.out.println ("Format entier incorrect !");
            System.exit(0);
 }
 
 return result;
 }
 
 public static short EntierCourt ()
 {
 short  result = 0;

 try
 {
 result = Short.parseShort ( Chaine () );
 }
 
 catch (NumberFormatException e)
 {
 System.out.println ("Format entier incorrect !");
            System.exit(0);
 }
 
 return result;
 }

 public static long EntierLong ()
 {
 long result = 0;
 
 try
 {  
 result = Long.parseLong ( Chaine () );
 }
 
 catch (NumberFormatException e)
 {
 System.out.println ("Format entier incorrect !");
            System.exit(0);
 }
 
 return result;
 }

 public static float Reel ()
 {
 float result = 0;
 
 try
 {
 result = Float.valueOf( Chaine() ).floatValue () ;  
 }
 
 catch (NumberFormatException e)
 {
 System.out.println ("Format reel incorrect!");
            System.exit(0);
 }
 
 return result;
 }
 
 public static double ReelDouble ()
 {
 double result = 0;
 
 try
 {
 result = Double.valueOf( Chaine() ).doubleValue () ;  
 }
 
 catch (NumberFormatException e)
 {
 System.out.println ("Format reel incorrect!");
            System.exit(0);
 }
 
 return result;
 }

 // Attente : permet de visualiser les résultats avant la sortie
 // de l'application.
    public static void Attente()
    {
 System.out.println ();
        System.out.println ("*** Tapez Entree pour Terminer ***");
        Lire.c();
    }
 
 // Attente : permet de visualiser les résultats avant la suite
 // de l'application.
    public static void Suite()
    {
 System.out.println ();
        System.out.println ("*** Tapez Entree pour Continuer ***");
        Lire.c();
    }
 
 public static boolean Question(String msg)
    {
 char reponse ;
 
 do
 {
        System.out.print (msg + " (O/N ) ?" );
 reponse = Lire.c();
 }while ((reponse!='O')&&(reponse!='o')&&(reponse!='n')&&(reponse!='N'));
 // arrêt quand reponse est égal à O,o,N,n
 return (reponse == 'O') || (reponse == 'o') ;
    }

// Alias des fonctions : pour compatibilité avec le livre
// "Le livre de Java comme premier langage"

 public static String S ()
 {
        return Chaine();
    }

 public static short s ()
 {
        return EntierCourt();
    }

 public static long l ()
 {
        return EntierLong();
    }

 public static int i ()
 {
        return Entier();
    }

 public static char c ()
 {
        return Caractere();
    }

    public static float f ()
 {
        return Reel ();
    }

 public static double d ()
 {
        return ReelDouble ();
    }

 /* Jean Christophe CORRE */
 /* Fonction qui lit un tableau de char et renvoi ce tableau */
 public static char[] remplirTableau(String invite, int motSize)
 // invite est la chaine affichée à l'écran avant la saisie
 // motSize est la longueur maximale de la chaine y compris le terminateur
 //
   {
       final int MOT_SIZE = motSize ;
       final char TERMINATEUR = '.';
      
  
       char mot[] ;
       char actualCar ;
       int count ;
       count = 0 ;
  
       mot = new char[MOT_SIZE] ;
   System.out.println(invite);
    
   Lire.Filtre(false);
 do
        {  
 actualCar = Lire.c();
 mot[count] = actualCar ;
 count ++ ;
 
        }
        while(actualCar != '\r' && actualCar != '\n' && actualCar != TERMINATEUR && count < mot.length) ;
 
 if(actualCar != TERMINATEUR)
 {
 
 mot[count - 1] = TERMINATEUR ;
 
 }
 if(actualCar != '\n')
 {
 
 Lire.Purge();
 
 }
 Lire.Filtre(true);

 return mot;
 
   }/* Jean Christophe CORRE */
 /* Fonction qui lit un tableau de char sans terminateur et renvoi ce tableau */
 public static char[] remplirMot(String invite)
 // invite est la chaine affichée à l'écran avant la saisie
 // le tableau retourné est le mot saisi, et sa longueur est la longueur du mot.
   {
       char mot[] ;
       char actualCar ;
       int count ;
       count = 0 ;
   mot = new char[80];
   System.out.println(invite);
    
   Lire.Filtre(false);
   actualCar = Lire.c();
   while (actualCar != '\r' && actualCar != '\n' && count < mot.length)
   {  
 mot[count] = actualCar ;
 count ++ ;
 actualCar = Lire.c();
 
        }
 
 if(actualCar != '\n')
 {
 
 Lire.Purge();
 
 }
 Lire.Filtre(true);

 char [] newMot= new char[count];
 for (int i =0; i<count;i++)
 {
 newMot[i] = mot[i];
 }
 return newMot;
 
   }
 public static void afficheMot(char[] mot)
 {
 for (int i = 0; i< mot.length; i++)
 {
 System.out.print(mot[i]);
 }
 }
 public static void afficheTableau(char[] mot)
 {
 int i;
 for (i = 0; i< mot.length && mot[i] != '.'; i++)
 {
 System.out.print(mot[i]);
 }
 System.out.print(mot[i]);
 }
}


avatar
Samy.C

Messages : 42
Karma Karma : 55
Date d'inscription Date d'inscription : 24/05/2016
Age Age : 21
Localisation Localisation : Cellule AFPA
Humeur Humeur : Gone

Voir le profil de l'utilisateur http://youtube.com/sonicdbzfan07

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum