первое изменение в вашем коде должно правильно обрабатывать целочисленное значение
int age = -1;
if(int.TryParse(a,out age))
{
//rest of code
}
(проблема) другие изменения - это ваше состояние
else if ((age == 7) && (age >= 13))
, которое не будет работатькогда вы делаете &&
операцию и говорите age==7 && age>=13
, что означает, что возраст должен быть 7 лет и должен быть больше 13
, что относится ко всем вашим условиям
else if ((age == 7) && (age >= 13))
{
Console.WriteLine("you are in Elementary School");
}
else if ((age == 14) && (age >= 18))
{
Console.WriteLine("You are in High School");
}
else if ((age == 19) && (age >= 26))
{
Console.WriteLine("You are probably in College");
}
кажется, что должнобыть (решение)
else if ((age >= 7) && (age <= 13))
{
Console.WriteLine("you are in Elementary School");
}
else if ((age >= 14) && (age <= 18))
{
Console.WriteLine("You are in High School");
}
else if ((age >= 19) && (age <= 26))
{
Console.WriteLine("You are probably in College");
}
Полное решение
Console.WriteLine("What is your age?");
string a = Console.ReadLine();
int age = -1;
if(int.TryParse(a,out age))
{
Console.WriteLine("your age is : " + age);
if(age < 1)
{
Console.WriteLine("Input value should be greater then 0");
}
else if ((age >= 1) && (age <= 6))
{
Console.WriteLine("you are in Preschool");
}
else if ((age >= 7) && (age <= 13))
{
Console.WriteLine("you are in Elementary School");
}
else if ((age >= 14) && (age <= 18))
{
Console.WriteLine("You are in High School");
}
else if ((age >= 19) && (age <= 26))
{
Console.WriteLine("You are probably in College");
}
else
{
Console.WriteLine("you probaby have graduated already");
}
}
else
{
Console.WriteLine("InCorrect input value");
}