using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
 
namespace Project_17 
{ 
    internal class Program 
    { 
        static void Main(string[]arg) 
        {   // программа нормально не работает, вообще хз почему 
            double rublesInWallet; 
            double dollarsInWallet; 
 
            int rubToUsd = 64, usdToRub = 66; 
 
            double exchangeCurrencyCount; 
            string desiredOperation; 
 
            Console.WriteLine("Вас приветсвует обменник валют."); 
 
            Console.Write("Введите баланс рублей "); 
            rublesInWallet = Convert.ToSingle(Console.ReadLine()); 
 
            Console.Write("Введите баланс долларов "); 
            dollarsInWallet = Convert.ToSingle(Console.ReadLine()); 
 
            Console.WriteLine("Выберите необходимую операцию"); 
            Console.WriteLine("1 - рубли на доллары"); 
            Console.WriteLine("2 - доллары на рубли"); 
 
            Console.Write("Ваш выбор: "); 
            desiredOperation = Console.ReadLine(); 
 
            switch(desiredOperation) 
            { 
                case "1": 
                    Console.WriteLine("Обмен рублей на доллары: "); 
                    Console.WriteLine("Сколько рублей желаете обменять? "); 
                    exchangeCurrencyCount = Convert.ToSingle( Console.Read ()); 
                    if (rublesInWallet >= exchangeCurrencyCount) 
                    { 
                        rublesInWallet -= exchangeCurrencyCount; 
                        dollarsInWallet += exchangeCurrencyCount / rubToUsd; 
                    }  
                    else 
                    { 
                        Console.WriteLine("Эээээ, у тебя столько нет"); 
                    } 
                    break; 
                case "2": 
                    Console.WriteLine("Обмен долларов на рубли"); 
                    Console.WriteLine("Сколько долларов желаете обменять? "); 
                    exchangeCurrencyCount = Convert.ToSingle( Console.Read ()); 
                    if (dollarsInWallet >= exchangeCurrencyCount) 
                    { 
                        dollarsInWallet -= exchangeCurrencyCount; 
                        rublesInWallet += exchangeCurrencyCount * usdToRub; 
                    } 
                    else 
                    { 
                        Console.WriteLine("Эээээ, у тебя столько нет"); 
                    } 
                    break; 
                default: 
                    Console.WriteLine("Че?"); 
                    break; 
 
            } 
            Console.WriteLine($"Ваш баланс: {rublesInWallet} рублей и {dollarsInWallet} долларов"); 
            Console.ReadKey(); 
        } 
    } 
}
(пожалуйста, без негатива)
P.S да, это из видеотуториала с юбуба
	
	
	C#
	
		
		
								
				
																				
							
								
				
																				
							
			
	
		
			Решил попробовать изучать программирование (C# конкретно) и вот не могу понять почему код с упражнения не работает
Проблема в вашем коде заключается в использовании метода  Console.Read () для чтения значения обмена валюты. Метод  Console.Read () возвращает символ, а не числовое значение. Вместо этого вы должны использовать метод Convert.ToSingle(Console.ReadLine()), чтобы прочитать числовое значение из консоли. 
Вот исправленный код:
				
									Вот исправленный код:
 using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
 
namespace Project_17 
{ 
    internal class Program 
    { 
        static void Main(string[] arg) 
        { 
            double rublesInWallet; 
            double dollarsInWallet; 
 
            int rubToUsd = 64, usdToRub = 66; 
 
            double exchangeCurrencyCount; 
            string desiredOperation; 
 
            Console.WriteLine("Вас приветствует обменник валют."); 
 
            Console.Write("Введите баланс рублей: "); 
            rublesInWallet = Convert.ToSingle(Console.ReadLine()); 
 
            Console.Write("Введите баланс долларов: "); 
            dollarsInWallet = Convert.ToSingle(Console.ReadLine()); 
 
            Console.WriteLine("Выберите необходимую операцию"); 
            Console.WriteLine("1 - рубли на доллары"); 
            Console.WriteLine("2 - доллары на рубли"); 
 
            Console.Write("Ваш выбор: "); 
            desiredOperation = Console.ReadLine(); 
 
            switch (desiredOperation) 
            { 
                case "1": 
                    Console.WriteLine("Обмен рублей на доллары: "); 
                    Console.WriteLine("Сколько рублей желаете обменять? "); 
                    exchangeCurrencyCount = Convert.ToSingle(Console.ReadLine()); 
                    if (rublesInWallet >= exchangeCurrencyCount) 
                    { 
                        rublesInWallet -= exchangeCurrencyCount; 
                        dollarsInWallet += exchangeCurrencyCount / rubToUsd; 
                    } 
                    else 
                    { 
                        Console.WriteLine("Эээээ, у тебя столько нет"); 
                    } 
                    break; 
                case "2": 
                    Console.WriteLine("Обмен долларов на рубли"); 
                    Console.WriteLine("Сколько долларов желаете обменять? "); 
                    exchangeCurrencyCount = Convert.ToSingle(Console.ReadLine()); 
                    if (dollarsInWallet >= exchangeCurrencyCount) 
                    { 
                        dollarsInWallet -= exchangeCurrencyCount; 
                        rublesInWallet += exchangeCurrencyCount * usdToRub; 
                    } 
                    else 
                    { 
                        Console.WriteLine("Эээээ, у тебя столько нет"); 
                    } 
                    break; 
                default: 
                    Console.WriteLine("Че?"); 
                    break; 
            } 
            Console.WriteLine($"Ваш баланс: {rublesInWallet} рублей и {dollarsInWallet} долларов"); 
            Console.ReadKey(); 
        } 
    } 
} 
 
								
									Владимирович Ф								
								Большое спасибо)							
											попроси у chat-GPT исправить код
				
									
								
									Владимирович Ф								
								ок, попробую							
											Похожие вопросы
- Я изучал программирование на протяжении 4 лет и ничего не умею, как это возможно и что со мной не так? Учил С# и Unity
- Посоветуйте пожалуйста книгу, для изучения языка программирования C#, с полного нуля, заранее спасибо!
- Как работают элементы доступа set и get в C#? Никак не могу понять их. Ответьте только по делу, не нужно писать ерунду
- Программирование C# . Length
- Написание программы на языке программирования C#
- Стоит ли писать на c# из за его недостатков? Например легкой декомпиляции кода или зависимости от .NET
- C#. Как вернуть индекс определенного элемента массива?Почему ошибка?
- С#. Решить задачу по программированию С#.
- Помогите решить простую задачу на c#
- Помогите решить 12,24!!! Программа C
