Advertisement
Briotar

Curency Exchange

Apr 12th, 2021
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.78 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Lesson1
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             int chooseCurency;
  14.             int chooseCurencyExchange;
  15.             int currencyCount;
  16.             int rubToUsd = 80;
  17.             int rubToEur = 85;
  18.             float usdToEur = 1.1f;
  19.             float sumRub;
  20.             float sumUsd;
  21.             float sumEur;
  22.             string exit = "";
  23.  
  24.             Console.Write("Сколько у вас рублей:");
  25.             sumRub =Convert.ToSingle(Console.ReadLine());
  26.             Console.Write("Сколько у вас долларов:");           //Считываем количество денег каждой валюты
  27.             sumUsd = Convert.ToSingle(Console.ReadLine());
  28.             Console.Write("Сколько у вас евро:");
  29.             sumEur = Convert.ToSingle(Console.ReadLine());
  30.  
  31.             while(exit != "exit")
  32.             {
  33.                 Console.WriteLine("Какую валюту будем переводить?\n1 - рубли, 2 - доллары, 3 - евро");
  34.                 chooseCurency = Convert.ToInt32(Console.ReadLine());
  35.                 Console.WriteLine("Во что переводим?\n1 - рубли, 2 - доллары, 3 - евро");                       //Определяем из какой валюты в какую будем переводить и количество перевода
  36.                 chooseCurencyExchange = Convert.ToInt32(Console.ReadLine());                                    // chooseCurency - из какой, chooseCurencyExchange - в какую
  37.                 Console.Write("Сколько валюты вы хотите обменять:");
  38.                 currencyCount = Convert.ToInt32(Console.ReadLine());
  39.  
  40.                 // Хотел сказать что далее идет достаточно сильное дублирование кода
  41.                 // На данный момент мы еще не прошли функции, и дублирования можно было бы избежать, если реализовать перевод валюты, как отдельную функцию
  42.                 // Вариант лучше не придумал, если можно обойтись без дублирования и отдельной функции, опишите, пожалуйста, как.
  43.                
  44.                 switch (chooseCurency)              //в каждом свиче происходит выбор перевода в конкретную валюту, что и можно реализовать как отдельную функцию
  45.                 {
  46.                     case 1:
  47.                         if (sumRub >= currencyCount)
  48.                         {
  49.                             if (chooseCurencyExchange == 1)
  50.                             {
  51.                                 Console.WriteLine("Мы меняем рубли в рубли, может вы имели в виду что-то другое?)");
  52.                                 break;
  53.                             }
  54.                             else if (chooseCurencyExchange == 2)
  55.                             {
  56.                                 sumRub -= currencyCount;
  57.                                 sumUsd += Convert.ToSingle(currencyCount) / rubToUsd;
  58.                             }
  59.                             else
  60.                             {
  61.                                 sumRub -= currencyCount;
  62.                                 sumEur += Convert.ToSingle(currencyCount) / rubToEur;
  63.                             }
  64.                         }
  65.                         else
  66.                             Console.WriteLine("У вас столько нет!");
  67.                         break;
  68.                     case 2:
  69.                         if (sumUsd >= currencyCount)
  70.                         {
  71.                             if (chooseCurencyExchange == 1)
  72.                             {
  73.                                 sumUsd -= currencyCount;
  74.                                 sumRub += Convert.ToSingle(currencyCount) * rubToUsd;
  75.                                 break;
  76.                             }
  77.                             else if (chooseCurencyExchange == 2)
  78.                             {
  79.                                 Console.WriteLine("Мы меняем доллары в доллары, может вы имели в виду что-то другое?)");
  80.                                 break;
  81.                             }
  82.                             else
  83.                             {
  84.                                 sumUsd -= currencyCount;
  85.                                 sumEur += Convert.ToSingle(currencyCount) / usdToEur;
  86.                             }
  87.                         }
  88.                         else
  89.                             Console.WriteLine("У вас столько нет!");
  90.                         break;
  91.                     case 3:
  92.                         if (sumEur >= currencyCount)
  93.                         {
  94.                             if (chooseCurencyExchange == 1)
  95.                             {
  96.                                 sumEur -= currencyCount;
  97.                                 sumRub += Convert.ToSingle(currencyCount) * rubToEur;
  98.                                 break;
  99.                             }
  100.                             else if (chooseCurencyExchange == 2)
  101.                             {
  102.                                 sumEur -= currencyCount;
  103.                                 sumUsd += Convert.ToSingle(currencyCount) * usdToEur;
  104.                             }
  105.                             else
  106.                             {
  107.                                 Console.WriteLine("Мы меняем евро в евро, может вы имели в виду что-то другое?)");
  108.                                 break;
  109.                             }
  110.                         }
  111.                         else
  112.                             Console.WriteLine("У вас столько нет!");
  113.                         break;
  114.                     default:
  115.                         Console.WriteLine("Пожалуйста, сделайте корректный ввод!");
  116.                         break;
  117.                 }
  118.  
  119.                 Console.WriteLine($"Теперь ваш баланс таков:\n{sumRub} - рубли\n{sumUsd} - доллары\n{sumEur} - евро");
  120.                 Console.WriteLine("Если хотите закончить переводы введите 'exit', для продолжения, любое другое сообщение");
  121.                 exit = Console.ReadLine();
  122.             }
  123.         }
  124.     }
  125. }
  126.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement