Prosty kalkulator konsolowy

0

Cześć chciałem napisać prosty kalkulator niestety wyrzuca mi błędy związane z 70 linijką kodu. Nie za bardzo wiem co jest nie tak... Chciałbym w miare szybko rozwiązać ten błąd abym mógł kontynuować prace :-).

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Kalkulator
{
    class Program
    {
        static void Main(string[] args)
        {
            ConsoleKeyInfo nz_WyborFunkcjonalności;
            do // powtarzanie wykonywania obliczeń aż do naciśnięcia klawisza z literą E, czyli end
            {
                //wpisanie metryki programu
                Console.WriteLine("\n\tProgram umożliwia wielokrotne oblicznie:" + ": sum, iloczynów i różnych \n\t średnich ciągów liczbowych");

                //wypisanie menu funkcjonalnego
                Console.WriteLine("\n\tA. Obliczanie sumy");
                Console.WriteLine("\n\tB. Obliczanie iloczynu");
                Console.WriteLine("\n\tC. Obliczanie sredniej arytmetycznej");
                Console.WriteLine("\n\tD. Obliczanie średniej ważonej");
                Console.WriteLine("\n\tE. Zakończenie programu");

                Console.Write("n\tNaciśnij odpowiedni klawisz dla realizacji" + " wybranej funkcjonalności: ");//komunikat informacyjny dla użytkownika

                // wczytanie wybranej funkcjonalności
                nz_WyborFunkcjonalności = Console.ReadKey();

                //rozpoznanie wybranej funkcjonalności
                if (nz_WyborFunkcjonalności.Key == ConsoleKey.A)
                {
                    int nz_n;

                    Console.WriteLine("\n\tObliczanie sumy wyrazów ciągu liczbowego");
                    do
                    {
                        Console.Write("Podaj ilość liczb: ");
                        while (!int.TryParse(Console.ReadLine(), out nz_n))
                        {
                            Console.WriteLine("\n\t ERROR: w zapisie liczby n wystąpił " + " niedozwolony znak");
                            Console.Write("\n\tPodaj wartość n jeszcze raz, ale uważaj " + "co piszesz!: ");

                        }
                        // sprawdzanie warunku wejściowego
                        if (nz_n <= 0)
                        {
                            Console.WriteLine("Ta liczba musi być większa od 0!");
                            Console.Write("Wprowadź ilość liczb jeszcze raz: ");
                        }

                    } while (nz_n <= 0);

                    float nz_a, nz_Suma = 0.0f;

                    for (int nz_i = 1; nz_i <= nz_n; nz_i++)
                    {
                        Console.Write("Podaj {0}-ą wartość wyrazu ciągu liczbowego: ", nz_i);
                        while (!float.TryParse(Console.ReadLine(), out nz_a))
                        {
                            Console.WriteLine("W zapisie {0}-go wyrazu ciągu liczbowego wystąpił błąd", nz_i);
                            Console.Write("Wprowadź liczbę jeszcze raz: ");
                        }
                        nz_Suma = nz_Suma + nz_a;
                    }
                    Console.WriteLine("Suma {0} wyrazów ciągu liczbowego jest równa {1,6:F3}", nz_n, nz_Suma);
                    Console.WriteLine("Dla kontynuowania naciśnij dowolny klawisz...");
                    Console.ReadKey();
                }

            }

    }
    }
}
0

O nie, nie.
Rozdziel ten kod na odpowiednie metody.

0

Jaki to błąd i która to jest 70. linijka - jak widzisz coyote nie numeruje linii.

1

a no co... Wywala się, ponieważ nie kończysz prawidłowo zewnętrznej pętli do...while. Zaczynasz ją ale gdzie jest jej koniec? Gdzie jest polecenie while? Poza tym potencjalne źródło przyszłych problemów to iteracje po typie zmiennoprzecinkowym.

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