Kalkulator konsolowy — tutorial dla początkujących (C#)

Cel: zbudujemy prostą aplikację konsolową w C# (.NET) wykonującą podstawowe operacje matematyczne. Poznasz: wczytywanie danych z konsoli, instrukcje warunkowe (if / switch), obsługę błędów i zadania do samodzielnej pracy.

Wymagania

Plan kroków

  1. Utwórz nowy projekt konsolowy: dotnet new console -n Calculator lub utwórz plik Program.cs w katalogu projektu.
  2. Wklej przykładowy kod poniżej do Program.cs.
  3. Uruchom projekt: dotnet run i przetestuj.

Przykładowy kod (Program.cs)

Skopiuj poniższy kod do pliku Program.cs projektu konsolowego.

// Program.cs
using System;
using System.Globalization;

class Program
{
    static double ReadNumber(string prompt)
    {
        while (true)
        {
            Console.Write(prompt);
            var input = Console.ReadLine();
            if (input == null) throw new OperationCanceledException();
            input = input.Trim().Replace(',', '.'); // akceptuj przecinek lub kropkę
            if (double.TryParse(input, NumberStyles.Float, CultureInfo.InvariantCulture, out var value))
                return value;
            Console.WriteLine("Nieprawidłowa liczba. Spróbuj ponownie.");
        }
    }

    static void Main()
    {
        Console.WriteLine("Prosty kalkulator konsolowy (C#)");
        try
        {
            var a = ReadNumber("Podaj pierwszą liczbę: ");
            var b = ReadNumber("Podaj drugą liczbę: ");

            Console.Write("Wybierz operację (+, -, *, /): ");
            var op = Console.ReadLine()?.Trim();

            double result;
            switch (op)
            {
                case "+":
                    result = a + b;
                    break;
                case "-":
                    result = a - b;
                    break;
                case "*":
                    result = a * b;
                    break;
                case "/":
                    if (b == 0)
                    {
                        Console.WriteLine("Błąd: dzielenie przez zero.");
                        return;
                    }
                    result = a / b;
                    break;
                default:
                    Console.WriteLine("Nieznana operacja.");
                    return;
            }

            Console.WriteLine($"Wynik: {result}");
        }
        catch (OperationCanceledException)
        {
            Console.WriteLine("Wejście przerwane.");
        }
        catch (Exception ex)
        {
            Console.WriteLine("Wystąpił błąd: " + ex.Message);
        }
    }
}

Uruchomienie

W katalogu projektu (tam gdzie Program.cs) uruchom:

dotnet run
Zadanie 1 (samodzielne):

Dodaj obsługę operacji modulo (%) — pamiętaj o sprawdzeniu dzielenia przez zero.

Zadanie 2 (samodzielne):

Dodaj potęgowanie (np. wpisz pow lub ^): użyj Math.Pow(a, b) dla potęgowania zmiennoprzecinkowego.

Zadanie 3 (samodzielne):

Przerób program tak, aby działał w pętli i pytał użytkownika po każdej operacji, czy kontynuować (np. wpisz q lub exit by wyjść).

Zadanie 4 (walidacja):

Rozszerz walidację tak, aby poprawnie rozpoznawać lokalny separator dziesiętny (użyj CultureInfo lub dopasuj wejście), a także obsługuj puste wejścia i spacje.

Wskazówki

Powrót do listy tutoriali