I have a problem with my guessing number simulator, almost everything except for one last statement is done and I need to get a answer that says i should guess somewhere between 1,100. And i do, but I also get the answer that my guess is to high and I´m not suppose to have that for school... can someone please help me? here is my code.
//introduktion
Console.WriteLine("gissa talet\nDu ska nu gissa ett tal mellan 1 ocn 100, så
varsågod..\nskriv in ett tal");
var str = Console.ReadLine();
int guess = Convert.ToInt32(str);
Random rd = new Random();
int rand_num = rd.Next(1, 100);
//when your guess is right
if (guess == rand_num)
{
Console.WriteLine("Ditt Tal är rätt. grattis!");
}
//when your guess is to small
else if (guess < rand_num)
{
Console.WriteLine("Ditt tal är för litet. gissa på ett större tal");
}
//when your guess is to high
if (guess > rand_num)
{
Console.WriteLine("Ditt tal är för stort. gissa på ett mindre tal");
}
//and when you guess is still wrong but close
if (Math.Abs(guess - rand_num) <= 3)
{
Console.WriteLine("Du är dock nära och det bränns");
}
// when your guess is over 100
if (guess > 100)
{
Console.WriteLine("Du måste skriva in ett tal mellan 1 och 100!");
}
// ending line
Console.WriteLine("Programmet är slut");
CodePudding user response:
Try this:
//introduktion
Console.WriteLine("gissa talet\nDu ska nu gissa ett tal mellan 1 ocn 100, så
varsågod..\nskriv in ett tal");
var str = Console.ReadLine();
int guess = Convert.ToInt32(str);
Random rd = new Random();
int rand_num = rd.Next(1, 100);
//when your guess is right
if (guess == rand_num)
{
Console.WriteLine("Ditt Tal är rätt. grattis!");
}
else
{
// when your guess is over 100
if (guess > 100)
{
Console.WriteLine("Du måste skriva in ett tal mellan 1 och 100!");
}
else
{
//when your guess is to small
if (guess < rand_num)
{
Console.WriteLine("Ditt tal är för litet. gissa på ett större tal");
}
//when your guess is to high
else // if (guess > rand_num) - redundant check: if it's not equal or below
// it must be greater
{
Console.WriteLine("Ditt tal är för stort. gissa på ett mindre tal");
}
//and when you guess is still wrong but close
if (Math.Abs(guess - rand_num) <= 3)
{
Console.WriteLine("Du är dock nära och det bränns");
}
}
}
// ending line
Console.WriteLine("Programmet är slut");