Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Globalization;
- namespace cwiczenia
- {
- class Program
- {
- static void Main(string[] args)
- {
- int optionNumber;
- double firstNumber, secondNumber, result;
- do
- {
- DisplayMenu();
- optionNumber = GetOptionNumber();
- if ((int)OptionType.Exit == optionNumber)
- break;
- Console.Write("Wprowadź pierwszą liczbę: ");
- firstNumber = GetValidNumber();
- Console.Write("Wprowadź drugą liczbę: ");
- secondNumber = GetValidNumber();
- result = GetComputedValue(optionNumber, firstNumber, secondNumber);
- Console.WriteLine($"Twój wynik to: {result}");
- Console.WriteLine("Naciśnij enter aby kontynuować");
- Console.ReadKey();
- Console.Clear();
- } while (true);
- Console.WriteLine("Dziekuje za skorzystanie z mojego programu.");
- Console.ReadKey(true);
- }
- private static double GetValidNumber()
- {
- do
- {
- if (double.TryParse(Console.ReadLine(), NumberStyles.Any, CultureInfo.InvariantCulture, out double value))
- {
- return value;
- }
- Console.WriteLine("Niepoprawna wartość, wprowadź jeszcze raz:");
- } while (true);
- }
- private static double GetComputedValue(int optionNumber, double firstNumber, double secondNumber)
- {
- double result;
- switch (optionNumber)
- {
- case (int)OptionType.Addition:
- result = firstNumber + secondNumber;
- break;
- case (int)OptionType.Subtraction:
- result = firstNumber - secondNumber;
- break;
- case (int)OptionType.Divison:
- result = firstNumber / secondNumber;
- break;
- case (int)OptionType.Multiply:
- result = firstNumber * secondNumber;
- break;
- default:
- throw new ArgumentOutOfRangeException();
- }
- if (firstNumber == 0 || secondNumber == 0)
- {
- Console.WriteLine("Nie dziel kurwo przez zero");
- }
- return result;
- }
- private static void DisplayMenu()
- {
- Console.WriteLine("Witamy w kalkulatorze!");
- Console.WriteLine("1.Wpisz + jesli chcesz dodac liczby");
- Console.WriteLine("2.Wpisz - jesli chcesz odjac liczby");
- Console.WriteLine("3.Wpisz / jesli chcesz podzielic liczby");
- Console.WriteLine("4.Wpisz * jesli chcesz pomnozyc liczby");
- Console.WriteLine("0.Wyjście z programu");
- Console.Write("Wprowadź numer opcji: ");
- }
- public static int GetOptionNumber()
- {
- do
- {
- if (int.TryParse(Console.ReadLine(), out int option) &&
- Enum.IsDefined(typeof(OptionType), option))
- {
- return option;
- }
- Console.Write("Niepoprawna opcja, wprowadź jeszcze raz: ");
- } while (true);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement