SHARE
TWEET

Untitled




Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
- using static System.Console;
- namespace VerificaGabry3C
- {
- class Program
- {
- public static void Main()
- {
- var riparazioni = new Riparazione[100];
- MostraMenu();
- bool programmaInEsecuzione = true;
- while (programmaInEsecuzione)
- {
- var scelta = ReadKey().KeyChar;
- WriteLine();
- switch (scelta)
- {
- case '1':
- var riparazione = CreaRiparazione();
- var primoIndiceLibero = PrimoIndiceLibero(riparazioni);
- riparazioni[primoIndiceLibero] = riparazione;
- Clear();
- WriteLine("Riparazione creata");
- WriteLine();
- MostraMenu();
- break;
- case '2':
- for (int i = 0; i < riparazioni.Length; i++)
- {
- if (riparazioni[i].Id != null)
- {
- riparazioni[i].StampaValori();
- }
- }
- break;
- case '3':
- WriteLine("Inserire identificativo: ");
- var id = ReadLine();
- bool trovato = false;
- for (int i = 0; i < riparazioni.Length; i++)
- {
- if (riparazioni[i].Id == id)
- {
- trovato = true;
- riparazioni[i].StampaValori();
- }
- }
- if (!trovato)
- {
- WriteLine("riparazione con id " + id + " non trovata");
- }
- break;
- case '9':
- Clear();
- MostraMenu();
- break;
- case '0':
- programmaInEsecuzione = false;
- break;
- default:
- break;
- }
- }
- }
- public static void MostraMenu()
- {
- WriteLine("1. Crea riparazione");
- WriteLine("2. Visualizza tutte le riparazioni");
- WriteLine("3. Visualizza una riparazione");
- WriteLine("9. Mostra menu");
- WriteLine("0. Esci");
- }
- public static int PrimoIndiceLibero(Riparazione[] riparazioni)
- {
- for (int i = 0; i < riparazioni.Length; i++)
- {
- if (riparazioni[i].Id == null)
- {
- return i;
- }
- }
- return -1; //so che se non ci sono valori liberi ritorna -1
- }
- public static Riparazione CreaRiparazione()
- {
- WriteLine("Inserisci id: ");
- var id = ReadLine();
- WriteLine("Inserisci nome: ");
- var nome = ReadLine();
- WriteLine("Inserisci cognome: ");
- var cognome = ReadLine();
- WriteLine("Inserisci descrizione: ");
- var descrizione = ReadLine();
- WriteLine("Inserisci costo: ");
- var costo = float.Parse(ReadLine());
- // qui ho tutte le info che mi servono per creare una riparazione
- //uso i dati appena inseriti per creare una riparazione
- var riparazione = new Riparazione(id, nome, cognome, descrizione, costo);
- return riparazione;
- }
- }
- public struct Riparazione
- {
- public string Id; //alfanumerico
- public string Nome;
- public string Cognome;
- public string Descrizione;
- public float Costo;
- //setta le proprietà automaticamente quando faccio new Riparazione, passando i parametri corretti in ingresso
- //è comunqune possibile creare una riparazione senza specificare i valori in ingresso (new Riparazione()), in questo caso le proprietà avranno i valori di default
- //valori di default = https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/default-values-table (string fa parte dei "reference type")
- public Riparazione(string id, string nome, string cognome, string descrizione, float costo)
- {
- //passo tutte le proprietà che dovranno essere impostate al costruttore, e si occupa lui di metterle nelle proprietà giuste
- //per richiamarlo basta fare new Riparazione() e passare i valori desiderati dentro le parentesi tonde
- Id = id;
- Nome = nome;
- Cognome = cognome;
- Descrizione = descrizione;
- Costo = costo;
- }
- public void StampaValori()
- {
- WriteLine("-------------");
- WriteLine("Nome: " + Nome);
- WriteLine("Cognome: " + Cognome);
- WriteLine("Descrizione: " + Descrizione);
- WriteLine("Costo: " + Costo);
- WriteLine("-------------");
- }
- }
- }
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.