SHARE
TWEET

Untitled

a guest Dec 3rd, 2019 83 in 25 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using static System.Console;
  2.  
  3. namespace VerificaGabry3C
  4. {
  5.     class Program
  6.     {
  7.         public static void Main()
  8.         {
  9.             var riparazioni = new Riparazione[100];
  10.             MostraMenu();
  11.             bool programmaInEsecuzione = true;
  12.             while (programmaInEsecuzione)
  13.             {
  14.                 var scelta = ReadKey().KeyChar;
  15.                 WriteLine();
  16.  
  17.                 switch (scelta)
  18.                 {
  19.                     case '1':
  20.  
  21.                         var riparazione = CreaRiparazione();
  22.                         var primoIndiceLibero = PrimoIndiceLibero(riparazioni);
  23.                         riparazioni[primoIndiceLibero] = riparazione;
  24.                         Clear();
  25.                         WriteLine("Riparazione creata");
  26.                         WriteLine();
  27.                         MostraMenu();
  28.  
  29.                         break;
  30.  
  31.                     case '2':
  32.  
  33.                         for (int i = 0; i < riparazioni.Length; i++)
  34.                         {
  35.                             if (riparazioni[i].Id != null)
  36.                             {
  37.                                 riparazioni[i].StampaValori();
  38.                             }
  39.                         }
  40.  
  41.                         break;
  42.  
  43.                     case '3':
  44.  
  45.                         WriteLine("Inserire identificativo: ");
  46.                         var id = ReadLine();
  47.                         bool trovato = false;
  48.  
  49.                         for (int i = 0; i < riparazioni.Length; i++)
  50.                         {
  51.                             if (riparazioni[i].Id == id)
  52.                             {
  53.                                 trovato = true;
  54.                                 riparazioni[i].StampaValori();
  55.                             }
  56.                         }
  57.  
  58.                         if (!trovato)
  59.                         {
  60.                             WriteLine("riparazione con id " + id + " non trovata");
  61.                         }
  62.  
  63.                         break;
  64.  
  65.                     case '9':
  66.  
  67.                         Clear();
  68.                         MostraMenu();
  69.                        
  70.                         break;
  71.  
  72.                     case '0':
  73.                        
  74.                         programmaInEsecuzione = false;
  75.                        
  76.                         break;
  77.  
  78.                     default:
  79.                         break;
  80.                 }
  81.             }
  82.         }
  83.  
  84.         public static void MostraMenu()
  85.         {
  86.             WriteLine("1. Crea riparazione");
  87.             WriteLine("2. Visualizza tutte le riparazioni");
  88.             WriteLine("3. Visualizza una riparazione");
  89.             WriteLine("9. Mostra menu");
  90.             WriteLine("0. Esci");
  91.         }
  92.  
  93.         public static int PrimoIndiceLibero(Riparazione[] riparazioni)
  94.         {
  95.             for (int i = 0; i < riparazioni.Length; i++)
  96.             {
  97.                 if (riparazioni[i].Id == null)
  98.                 {
  99.                     return i;
  100.                 }
  101.             }
  102.  
  103.             return -1; //so che se non ci sono valori liberi ritorna -1
  104.         }
  105.  
  106.         public static Riparazione CreaRiparazione()
  107.         {
  108.             WriteLine("Inserisci id: ");
  109.             var id = ReadLine();
  110.  
  111.             WriteLine("Inserisci nome: ");
  112.             var nome = ReadLine();
  113.  
  114.             WriteLine("Inserisci cognome: ");
  115.             var cognome = ReadLine();
  116.  
  117.             WriteLine("Inserisci descrizione: ");
  118.             var descrizione = ReadLine();
  119.  
  120.             WriteLine("Inserisci costo: ");
  121.             var costo = float.Parse(ReadLine());
  122.  
  123.             // qui ho tutte le info che mi servono per creare una riparazione
  124.             //uso i dati appena inseriti per creare una riparazione
  125.             var riparazione = new Riparazione(id, nome, cognome, descrizione, costo);
  126.             return riparazione;
  127.         }
  128.     }
  129.  
  130.     public struct Riparazione
  131.     {
  132.         public string Id; //alfanumerico
  133.         public string Nome;
  134.         public string Cognome;
  135.         public string Descrizione;
  136.         public float Costo;
  137.  
  138.         //setta le proprietà automaticamente quando faccio new Riparazione, passando i parametri corretti in ingresso
  139.         //è comunqune possibile creare una riparazione senza specificare i valori in ingresso (new Riparazione()), in questo caso le proprietà avranno i valori di default
  140.         //valori di default = https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/default-values-table (string fa parte dei "reference type")
  141.         public Riparazione(string id, string nome, string cognome, string descrizione, float costo)
  142.         {
  143.             //passo tutte le proprietà che dovranno essere impostate al costruttore, e si occupa lui di metterle nelle proprietà giuste
  144.             //per richiamarlo basta fare new Riparazione() e passare i valori desiderati dentro le parentesi tonde
  145.             Id = id;
  146.             Nome = nome;
  147.             Cognome = cognome;
  148.             Descrizione = descrizione;
  149.             Costo = costo;
  150.         }
  151.  
  152.         public void StampaValori()
  153.         {
  154.             WriteLine("-------------");
  155.             WriteLine("Nome: " + Nome);
  156.             WriteLine("Cognome: " + Cognome);
  157.             WriteLine("Descrizione: " + Descrizione);
  158.             WriteLine("Costo: " + Costo);
  159.             WriteLine("-------------");
  160.         }
  161.     }
  162. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top