Podstawy kody, zakończenie działania programu przy pomocy char

0
static void Main(string[] args)
        {
            while (true)
            {
                int n;
                Console.WriteLine("Ile ocen chcesz wprowadzić?:");
                while (Int32.TryParse(Console.ReadLine(), out n) == false || n <= 0) Console.WriteLine("Błędna wartość!:");
                int ocena;
                int ilicznik = 0;
                int suma = 0;
                double roznica;
                double srednia;
                char wybor;
                

                int[] Tablica = new int[n];

                for (int i = 0; i < n; i++)
                {
                    Console.WriteLine("Wprowadź ocenę {0}", i + 1);
                    while (Int32.TryParse(Console.ReadLine(), out ocena) == false || ocena < 0) Console.WriteLine("Błędna wartość!");
                    //if ('y' == ocena) licz++;
                    if (ocena == 0)
                    {
                        ilicznik++;
                    }

                    Tablica[i] = ocena;
                    suma = suma + ocena;


                }
                roznica = (n - ilicznik);
                srednia = suma / roznica;


                for (int i = 0; i < n; i++)
                {
                    Console.WriteLine("Oceny w tablicy to {0}", Tablica[i]);

                }
                //int wybor;
                Console.WriteLine("Suma ocen to {0}", suma);
                Console.WriteLine("Srednia ocen wynosi {0}", srednia);
                Console.WriteLine("Zerowych ocen jest {0}", ilicznik);
                Console.WriteLine("Czy chcesz zakończyć działanie programu? T-Tak/N-Nie");
                char wybor;
                if (wybor == 't') { break; }
            }

Na końcu widać o co mi chodzi, natomiast wyskakuje mi błąd. Pętla while(true) to całkowity domysł. Uczę się programowania i chciałbym, aby ktoś jasno mi wytłumaczył co zrobić, aby program zareagował na odpowiedź pytania:

Console.WriteLine("Czy chcesz zakończyć działanie programu? T-Tak/N-Nie");

Pozdrawiam!

0

Użyj Console.ReadLine albo Console.ReadKey. Dziwne, że założyłeś taki temat w ogóle, przecież już raz użyłeś Console.ReadLine.
To że błąd wyskakuje, to wina niezainicjalizowanej zmiennej (jak podejrzewam).

0

Przecież masz jasno napisane co to za błąd i dlaczego, więc w czym problem?

Zaś co do samej konstrukcji program uto powinieneś użyć pętli do...while, np tak:

static void Main(string[] args)
{
    bool koniec;
    do
    {
        Console.WriteLine("\nCośtam!");
        Console.WriteLine("Czy chcesz zakończyć działanie programu? T-Tak/N-Nie");
        koniec = Console.ReadKey().KeyChar == 't';
    } while (!koniec);
}
0

Właśnie zrobiłem to za pomocą tej pętli nie wiedząc jeszcze, że mi to napiszesz :) Pozdrawiam!

1 użytkowników online, w tym zalogowanych: 0, gości: 1