Компилятор сам присваивает значения - C#

Узнай цену своей работы

Формулировка задачи:

Приветствую всех. Пишу простенькую программу, просто, чтобы освоить ввод-вывод на консоль в самом начале. Получился следующий код
using System;
 
class create_pers
{
    static void Main()
    {
        
string name=" ", vid=" ";
int rate = 0;
int age = 0;
Console.WriteLine("Имя: "+name+"\n"+"Возраст: "+age+"\nВид музыки: "+vid+"\nРейтинг: "+rate);
Console.WriteLine();
 
Console.Write("Введите имя пользователя: ");
name = Console.ReadLine();
Console.WriteLine();

Console.Write("Введите возраст: ");
age = Console.Read();
  
Console.Write("Введите вид музыки: ");
vid = Console.ReadLine();
 
Console.WriteLine();
Console.WriteLine("Имя: " + name + "\n" + "Возраст: " + age + "\nВид музыки: " + vid + "\nРейтинг: " + rate);

Console.ReadKey(true);

    }
}
Проблема заключается в следующем. Когда пользователю предлагают ввести имя, то все записывается нормально. Возраст он дает вести пользователю, НО, в конечном итоге присваивает вообще другое значение. То есть если ввести возраст 25, age станет не 25, а 50 почему-то и т.д. До пункта ввести вид музыки программа вообще не доходит, НО, на выходе она показывает, что переменная vid имеет значение 5, хотя она инициализировалась пустой строкой, а предложение ввести значение пользователю вообще почему-то игнорируется компилятором. Получается следующее: почему-то откуда-то берутся совсем "левые" значения и какие-то части кода даже не переходят на выполнение. В чем может быть проблема?

Решение задачи: «Компилятор сам присваивает значения»

textual
Листинг программы
age = int.Parse(Console.ReadLine());

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5
Похожие ответы