예제 #1
0
        // --- PRENDE DATI IN INPUT ---
        public Scheda inputDati()
        {
            // Dichiarazione variabili
            int         i      = 0;                 // lavoro: contatore
            bool        errore = false;             // lavoro: flag in caso di eccezione
            SchedaNuoto nuoto  = new SchedaNuoto(); // lavoro: oggetto contenente le info della scheda nuoto
            Esercizio   ex     = new Esercizio();   // lavoro: variabile strutturata Esercizio

            do
            {
                try
                {   // prende in input i valori da inserire nell'oggetto
                    Console.WriteLine("Inserire il tempo di esecuzione della scheda in minuti: ");
                    nuoto.Durata = int.Parse(Console.ReadLine());

                    Console.WriteLine(Environment.NewLine + "Inserire nome dell'istruttore: ");
                    nuoto.Istruttore = Console.ReadLine();

                    foreach (string stile in Enum.GetNames(typeof(Stili)))
                    {
                        // Prende in input serie e vasche di ogni stile
                        Console.WriteLine(Environment.NewLine + "Inserire nr. di serie " + stile + ":");
                        ex.serie = int.Parse(Console.ReadLine());

                        Console.WriteLine(Environment.NewLine + "Inserire nr. di vasche " + stile + ":");
                        ex.ripetizioni = int.Parse(Console.ReadLine());

                        if (ex.serie < 0 || ex.ripetizioni < 0)
                        {
                            throw new Exception("Il numero delle serie e delle vasche deve essere positivo");
                        }
                        else
                        {   // segue l'ordine degli elementi del tipo enum
                            switch (i)
                            {
                            case 0:
                                nuoto.Crawl = ex;
                                break;

                            case 1:
                                nuoto.Dorso = ex;
                                break;

                            case 2:
                                nuoto.Rana = ex;
                                break;

                            case 3:
                                nuoto.Delfino = ex;
                                break;
                            }

                            i++;
                        }
                    }
                }
                catch (FormatException e) // formato errato
                {
                    Console.WriteLine(Environment.NewLine + "Errore di input: " + e + Environment.NewLine);
                    errore = true;
                }
                catch (Exception e) // input fuori dal dominio accettato
                {
                    Console.WriteLine(Environment.NewLine + "Errore di input: " + e + Environment.NewLine);
                    errore = true;
                }

                if (errore)
                {
                    Console.WriteLine(Environment.NewLine + "Premere un tasto per continuare...");
                    Console.ReadKey();
                }
            } while (errore);

            return(nuoto);
        }
예제 #2
0
        // --- PRENDE DATI IN INPUT ---
        public Scheda inputDati()
        {
            // Dichiarazione variabili
            int            i        = 0;                    // lavoro: contatore
            bool           errore   = false;                // lavoro: flag in caso di eccezione
            SchedaPalestra palestra = new SchedaPalestra(); // lavoro: oggetto contenente le info della scheda
            Esercizio      ex       = new Esercizio();      // lavoro: struttura di appoggio

            do
            {
                try
                {
                    // prende in input i valori da inserire nell'oggetto
                    Console.WriteLine("Inserire il tempo di esecuzione della scheda in minuti: ");
                    palestra.Durata = int.Parse(Console.ReadLine());

                    Console.WriteLine(Environment.NewLine + "Inserire nome dell'istruttore: ");
                    palestra.Istruttore = Console.ReadLine();

                    foreach (string muscolo in Enum.GetNames(typeof(Muscoli)))
                    {
                        // Prende in input serie e vasche di ogni stile
                        Console.WriteLine(Environment.NewLine + "Inserire nr. di serie di " + muscolo + ":");
                        ex.serie = int.Parse(Console.ReadLine());

                        Console.WriteLine(Environment.NewLine + "Inserire nr. di ripetizioni di " + muscolo + ":");
                        ex.ripetizioni = int.Parse(Console.ReadLine());

                        if (ex.serie < 0 || ex.ripetizioni < 0)
                        {
                            throw new Exception("Il numero delle serie e delle ripetizioni deve essere positivo");
                        }
                        else
                        {   // segue l'ordine degli elementi del tipo enum
                            switch (i)
                            {
                            case 0:
                                palestra.Deltoidi = ex;
                                break;

                            case 1:
                                palestra.Tricipiti = ex;
                                break;

                            case 2:
                                palestra.Bicipiti = ex;
                                break;

                            case 3:
                                palestra.Dorsali = ex;
                                break;

                            case 4:
                                palestra.Pettorali = ex;
                                break;

                            case 5:
                                palestra.Addominali = ex;
                                break;

                            case 6:
                                palestra.Gambe = ex;
                                break;
                            }

                            i++;
                        }
                    }
                }
                catch (FormatException e) // formato errato
                {
                    Console.WriteLine("Errore di input: " + e + Environment.NewLine);
                    errore = true;
                }
                catch (Exception e) // input fuori dal dominio accettato
                {
                    Console.WriteLine("Errore di input: " + e + Environment.NewLine);
                    errore = true;
                }

                if (errore)
                {
                    Console.WriteLine("Premere un tasto per continuare...");
                    Console.ReadKey();
                    Console.Clear();
                }
            } while (errore);

            return(palestra);
        }