Недавно я начал «кодирование», и я действительно в самом начале, и это один из моих первых «проектов». Он должен быть преобразователем SI, где вы можете ввести значение, его блок и блок, который вы хотите преобразовать.Если условие/else в C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Program
{
class Program
{
static void Main()
{
decimal one = 1;
decimal two = 0.001m;
decimal three = 0.000001m;
decimal four = 0.000000001m;
decimal five = 0.000000000001m;
decimal answer;
begn: Console.WriteLine("SI converter!\nPlease, enter value: ");
decimal value = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("\nFactors: \n1.One \n2.Milli(m)\n3.Micro(µ)\n4.Nano(n)\n5.Pico(p)\nEnter factor: ");
decimal factor = int.Parse(Console.ReadLine());
if (factor == 1)
{
factor = one;
}else if (factor == 2)
{
factor = two;
}else if (factor == 3)
{
factor = three;
}else if (factor == 4)
{
factor = four;
}else if (factor == 5)
{
factor = five;
}
Console.WriteLine("\nFactors: \n1.One \n2.Milli(m)\n3.Micro(µ)\n4.Nano(n)\n5.Pico(p)\nEnter the second factor: ");
decimal factor2 = Convert.ToInt32(Console.ReadLine());
if (factor2 == 1)
{
factor2 = one;
answer = value * factor;
Console.WriteLine("The answer is : " + answer);
}
else if (factor2 == 2)
{
factor2 = two;
}
else if (factor2 == 3)
{
factor2 = three;
}
else if (factor2 == 4)
{
factor2 = four;
}
else if (factor2 == 5)
{
factor2 = five;
}
answer = value * factor/factor2;
Console.WriteLine("The answer is : " + answer);
Console.WriteLine("Go again?\nY/N");
char ans =char.Parse(Console.ReadLine());
if (ans == 'y')
{
Console.Clear();
goto begn;
}
if(ans=='n')
{
Console.ReadKey();
}
}
}
}
Таким образом, проблема в том, что мне не очень нравится эта часть, и я не имею никакого представления, как это сделать:
if (factor == 1)
{
factor = one;
}else if (factor == 2)
{
factor = two;
}else if (factor == 3)
{
factor = three;
}else if (factor == 4)
{
factor = four;
}else if (factor == 5)
{
factor = five;
}
PS Да, я знаю его, вероятно, на самом деле очень плохо, но мой первый try.And, если вы можете дать мне какие-либо советы я буду очень счастлив :)
Я не понимаю ... что не так с кодом? – bitwise
Первый совет начинающему программисту: сделайте себе одолжение и забудьте о ключе 'goto';). Вместо этого используйте цикл. –
Лучше совет, проигнорируйте вышеуказанный комментарий и сделайте то, что вам нужно сделать. Стиль и утонченность наступает позже – bitwise