Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Can someone tell me what is wrong with my code? I keep getting an error on the l

ID: 3676908 • Letter: C

Question

Can someone tell me what is wrong with my code? I keep getting an error on the last else statement. The assignment is: Create an application that generates a random number in the range of 1 through 100 and asks the user to guess what the number is. If the user's guess is higher than the number, the program should display "Too high, try again." If the user's guess is lower than the random number, the program should display "Too low, try again." If the user guesses the number, the application should congratulate the user and then generate a new random number so the game can start over. Optional enhancement: Enhance the game so it keeps count of the number of guesses that the user makes. When the user correctly guesses the random number, the program should display the number of guesses.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
int randomNumber;
int count = 1;

public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
GenerateRandomNumber();
}

private void GenerateRandomNumber()
{
count = 1;

Random random = new Random();
randomNumber = random.Next(1, 100);

lblRandomNo.Text = "{" + randomNumber.ToString() + "}";
}

private void btnCheck_Click(object sender, EventArgs e)
{
int guessNumber = 0;

lblNoOfGuesses.Visible = false;

if (txtUserGuessNo.Text.Trim() != "")
{
guessNumber = Convert.ToInt32(txtUserGuessNo.Text);
}

if (guessNumber > randomNumber)
{
lblResults.Text = "Too high, try again.";
count = count + 1;
}

else if (guessNumber < randomNumber)
{
lblResults.Text = "Too low, try again.";
count = count + 1;
}
else if (guessNumber == randomNumber)
{
lblResults.Text = "Congratulations, your guess was correct!";
lblNoOfGuesses.Visible = true;
lblNoOfGuesses.Text = "Number of guesses are: " + count.ToString();

GenerateRandomNumber();
txtUserGuessNo.Text = "";
txtUserGuessNo.Focus();
}
else
{
lblResults.Text = "Invalid number!!";
}
}
  
else
{
lblResults.Text = "";

}
}
}
}

Explanation / Answer

You have use bellow code working fine .

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
int randomNumber;
int count = 1;

public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
GenerateRandomNumber();
}
private void GenerateRandomNumber()
{
count = 1;
Random random = new Random();
randomNumber = random.Next(1, 100);
lblRandomNo.Text = "{" + randomNumber.ToString() + "}";
}

private void btnCheck_Click(object sender, EventArgs e)
{
int guessNumber = 0;
lblNoOfGuesses.Visible = false;
int tester;
if (Int32.TryParse(txtUserGuessNo.Text, out tester))
{
if (txtUserGuessNo.Text.Trim() != "")
{
guessNumber = Convert.ToInt32(txtUserGuessNo.Text);
}
if (guessNumber > randomNumber)
{
lblResults.Text = "Too high, try again.";
count = count + 1;
}
else if (guessNumber < randomNumber)
{
lblResults.Text = "Too low, try again.";
count = count + 1;
}
else if (guessNumber == randomNumber)
{
lblResults.Text = "Congratulations, your guess was correct!";
lblNoOfGuesses.Visible = true;
lblNoOfGuesses.Text = "Number of guesses are: " + count.ToString();
GenerateRandomNumber();
txtUserGuessNo.Text = "";
txtUserGuessNo.Focus();
}
}
else
{
lblResults.Text = "Invalid number!!";
}
  

}
}
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote