Advertisement
Guest User

c# calcccccc

a guest
Feb 21st, 2020
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.57 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Globalization;
  4.  
  5. namespace cwiczenia
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             int optionNumber;
  12.             double firstNumber, secondNumber, result;
  13.  
  14.             do
  15.             {
  16.                 DisplayMenu();
  17.  
  18.                 optionNumber = GetOptionNumber();
  19.  
  20.                 if ((int)OptionType.Exit == optionNumber)
  21.                     break;
  22.  
  23.                 Console.Write("Wprowadź pierwszą liczbę: ");
  24.                 firstNumber = GetValidNumber();
  25.  
  26.                 Console.Write("Wprowadź drugą liczbę: ");
  27.                 secondNumber = GetValidNumber();
  28.  
  29.                 result = GetComputedValue(optionNumber, firstNumber, secondNumber);
  30.  
  31.                 Console.WriteLine($"Twój wynik to: {result}");
  32.  
  33.                 Console.WriteLine("Naciśnij enter aby kontynuować");
  34.                 Console.ReadKey();
  35.                 Console.Clear();
  36.             } while (true);
  37.  
  38.             Console.WriteLine("Dziekuje za skorzystanie z mojego programu.");
  39.             Console.ReadKey(true);
  40.         }
  41.  
  42.         private static double GetValidNumber()
  43.         {
  44.             do
  45.             {
  46.                 if (double.TryParse(Console.ReadLine(), NumberStyles.Any, CultureInfo.InvariantCulture, out double value))
  47.                 {
  48.                     return value;
  49.                 }
  50.  
  51.                 Console.WriteLine("Niepoprawna wartość, wprowadź jeszcze raz:");
  52.  
  53.             } while (true);
  54.         }
  55.  
  56.         private static double GetComputedValue(int optionNumber, double firstNumber, double secondNumber)
  57.         {
  58.             double result;
  59.  
  60.  
  61.  
  62.             switch (optionNumber)
  63.             {
  64.                 case (int)OptionType.Addition:
  65.                     result = firstNumber + secondNumber;
  66.                     break;
  67.                 case (int)OptionType.Subtraction:
  68.                     result = firstNumber - secondNumber;
  69.                     break;
  70.                 case (int)OptionType.Divison:
  71.                     result = firstNumber / secondNumber;                        
  72.                     break;
  73.                 case (int)OptionType.Multiply:
  74.                     result = firstNumber * secondNumber;
  75.  
  76.              
  77.                     break;
  78.                 default:
  79.                     throw new ArgumentOutOfRangeException();
  80.             }
  81.            
  82.             if (firstNumber == 0 || secondNumber == 0)
  83.             {
  84.                 Console.WriteLine("Nie dziel kurwo przez zero");
  85.             }          
  86.  
  87.             return result;
  88.            
  89.         }
  90.  
  91.         private static void DisplayMenu()
  92.         {
  93.             Console.WriteLine("Witamy w kalkulatorze!");
  94.             Console.WriteLine("1.Wpisz + jesli chcesz dodac liczby");
  95.             Console.WriteLine("2.Wpisz - jesli chcesz odjac liczby");
  96.             Console.WriteLine("3.Wpisz / jesli chcesz podzielic liczby");
  97.             Console.WriteLine("4.Wpisz * jesli chcesz pomnozyc liczby");
  98.             Console.WriteLine("0.Wyjście z programu");
  99.             Console.Write("Wprowadź numer opcji: ");
  100.         }
  101.  
  102.         public static int GetOptionNumber()
  103.         {
  104.             do
  105.             {
  106.                 if (int.TryParse(Console.ReadLine(), out int option) &&
  107.                     Enum.IsDefined(typeof(OptionType), option))
  108.                 {
  109.                     return option;
  110.                 }
  111.  
  112.                 Console.Write("Niepoprawna opcja, wprowadź jeszcze raz: ");
  113.  
  114.             } while (true);
  115.         }
  116.     }
  117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement