Программа понимает нужное действие только из второго раза (язык C#)
Не давно начал учится C#, захотел проверить свои знания и с огромным трудом додумался до вот такого кода (несколько дней назад начал учить):
Random rand = new Random();
int free;
free = rand.Next(1, 20);
string Cup = "Да";
string Cap = "Нет";
Console.WriteLine("Количество прожетых тобой лет: " + free);
if (Convert.ToString(Console.ReadLine()) == Cup)
{
Console.WriteLine("Я угадал");
}
if (Convert.ToString(Console.ReadLine()) == Cap)
{
Console.WriteLine("Блин значит тебе " + free, " лет");
}
Console.ReadKey();
Но если я напечатаю ответ "да" программа поймёт из первого раза, а если ответ "нет" со второго, как это исправить? Не печатайте весь код (можно напечатать частичку, где используется то что вы хотите мне напечатать), я всё так научится хочу чему-то...
Ответы (2 шт):
Вы написали Console.ReadLine() два раза - вот программа и читает строку из консоли два раза. Используйте переменные, их в язык не просто так добавили.
Кстати, нет никакого смысла преобразовывать строку в строку.
Вы можете считывать в переменную введенное значение, а потом сравнивать ее с "Да" и "Нет"
Console.WriteLine("Количество прожетых тобой лет: " + free);
string answer = Console.ReadLine();
if (answer == "Да")
...
else if (answer == "Нет")
...