public bool VerifTout(Pieces [] piece, Client client) // verifie qui ne depasse pas le montant autorisé (5balles) auquel cas return ok { int cpt = 0, valeur1piece = 0, valeurtot = 0; while (cpt < client.NbPiece) { valeur1piece = VerifUnePiece(piece[cpt], client); valeurtot = valeurtot + valeur1piece; if (client.Remboursement == true) // si le client veux un remboursement { goulotte.RendrePiecesRemboursement(piece, client); return(false); } cpt++; } Afficheur.MontantTot(valeurtot); if (valeurtot < client.PrixObjet) // lorsqu'il y a pas assez de sous insérés pour le prix, ça rend tout { goulotte.RendrePiecesRemboursement(piece, client); return(false); } if (valeurtot > client.PrixObjet) // lorsqu'il y a trop de sous insérés pour le prix { goulotte.RendrePiecesTrop(client, valeurtot); return(true); // on va quand même ranger les pieces du client vu qu'on lui a donner des nouvelles pièces } Afficheur.RendreSous(0); // rend 0 euros au client si la valeur totale mise équivaut au prix de l'objet return(true); }
public void RendrePiecesTrop(Client client, int valeurTot) { Pieces[] piecerendre = new Pieces [50]; // ne peut rendre que 50 pièce maximum (protection du distributeur) int remboursement; remboursement = valeurTot - client.PrixObjet; Afficheur.RecevoirTropSomme(remboursement); piecerendre = Conversion.ConverRemboursement(remboursement, piecerendre, 50); client.PrendreMonnaie(piecerendre, 50); }
public void EtatsTubes() { int nombre1, nombre2, nombre3, nombre4, nombre5, nombre6; nombre1 = new Cinqcentimes().GetPiece(); nombre2 = new Dixcentimes().GetPiece(); nombre3 = new Vingtcentimes().GetPiece(); nombre4 = new Cinquantecentimes().GetPiece(); nombre5 = new Uneuro().GetPiece(); nombre6 = new Deuxeuro().GetPiece(); Afficheur.EtatMachineTube(nombre1, nombre2, nombre3, nombre4, nombre5, nombre6); }
public void EtatsCaisse(Caisse caisse) { int nombre1, nombre2, nombre3, nombre4, nombre5, nombre6, nombre7; nombre1 = caisse.CapacitePieceSpecifique(new Cinqcentimes()); nombre2 = caisse.CapacitePieceSpecifique(new Dixcentimes()); nombre3 = caisse.CapacitePieceSpecifique(new Vingtcentimes()); nombre4 = caisse.CapacitePieceSpecifique(new Cinquantecentimes()); nombre5 = caisse.CapacitePieceSpecifique(new Uneuro()); nombre6 = caisse.CapacitePieceSpecifique(new Deuxeuro()); nombre7 = caisse.CapaciteTotale(); Afficheur.EtatMachineCaisse(nombre1, nombre2, nombre3, nombre4, nombre5, nombre6, nombre7); }
public int VerifUnePiece(Pieces piece, Client client) //retourne valeur numerique d'une piece + verifie qualité de la piece { int valeur = 0; try { valeur = Conversion.ConverPieces(piece); } catch (Exception) { Afficheur.RecevoirPieceInconnu(); goulotte.RendreUnePiece(piece, client); } return(valeur); }
public void RangerPiece(Pieces[] piece, Caisse caisse, Client client) { int cpt = 0, colonne; Conversion.ConverPieces(piece[cpt]); while (cpt < client.NbPiece) { if (piece[cpt].GetPiece() == 0) // si y'a plus de place dans la tube stock à la caisse { colonne = Conversion.ConverColonnes(piece[cpt]); caisse.StockPiece(colonne); } piece[cpt].AjoutPiece(1); cpt++; } Afficheur.StockPiece(); }
public Pieces InsertionUnePiece() { int choix; choix = Afficheur.Choisir(); switch (choix) { case 1: Console.WriteLine("Vous avez inséré une pièce de 5 centimes. "); return(new Cinqcentimes()); case 2: Console.WriteLine("Vous avez inséré une pièce de 10 centimes. "); return(new Dixcentimes()); case 3: Console.WriteLine("Vous avez inséré une pièce de 20 centimes. "); return(new Vingtcentimes()); case 4: Console.WriteLine("Vous avez inséré une pièce de 50 centimes. "); return(new Cinquantecentimes()); case 5: Console.WriteLine("Vous avez inséré une pièce de 1 euro. "); return(new Uneuro()); case 6: Console.WriteLine("Vous avez inséré une pièce de 2 euros. "); return(new Deuxeuro()); case 9: Console.WriteLine("Vous avez activer un remboursement de la somme introduite. "); Remboursement = true; return(null); default: throw new Exception(String.Format("Sélection invalide.")); } }
public Pieces [] IntroduireSomme() { Pieces[] piece; int cpt = 0; NbPiece = Afficheur.RecevoirNombrePiece(); Console.WriteLine("Vous souhaitez insérer {0} pièces", NbPiece); piece = new Pieces[NbPiece]; while (cpt < NbPiece) { piece [cpt] = InsertionUnePiece(); if (Remboursement == true) { return(piece); } cpt++; } return(piece); }
public void RendrePiecesRemboursement(Pieces[] piece, Client client) { client.PrendreMonnaie(piece, client.NbPiece); Afficheur.RecevoirPasAssez(); }