0 c# loops messagebox do-while
我是编程新手.我想创建一个添加10个整数的程序,并显示一个消息框,指示我得到了多少正确的答案.我只用了一个标签盒和一个按钮.这是我使用的代码.它完美地工作,直到消息框显示我只有1个正确的答案.我究竟做错了什么?谢谢.
}
int a;
int b;
string sagot;
private void button1_Click(object sender, EventArgs e)
{
int i = 1;
do
{
a = i + i;
label1.Text = i.ToString() + " + " + i.ToString() + "=";
sagot = Interaction.InputBox("Please type your answer:");
i++;
} while (i <= 10);
{
if (a == Convert.ToInt32(sagot))
{
b++;
}
}
MessageBox.Show("Number of correct answers: " + b.ToString());
}
}
}
Run Code Online (Sandbox Code Playgroud)
让我们看看你的代码:
int a;
int b;
string sagot;
private void button1_Click(object sender, EventArgs e)
{
int i = 1;
do
{
a = i + i;
label1.Text = i.ToString() + " + " + i.ToString() + "=";
sagot = Interaction.InputBox("Please type your answer:");
i++;
} while (i <= 10);
{
if (a == Convert.ToInt32(sagot))
{
b++;
}
}
MessageBox.Show("Number of correct answers: " + b.ToString());
}
}
}
Run Code Online (Sandbox Code Playgroud)
所以.
你从1开始,a = i*2,你要求他们进入i + i.你得到他们的回应,并增加我.
第一个问题在这里..你没有测试他们的回应!一旦你再次绕过循环,一个和"sagot"不再被记住以便稍后测试,所以如果你现在不测试..它就消失了.
一旦你做到这一点i = 10它将出现循环..
所以..
现在你问它,如果a与他们给出的答案相同,则在b中添加一个
那么你只做了一次..它只适用于最后一个答案..
因此,是的,你将获得10分中的1分.....
你有几个到多个括号.然而..
所以,告诉你你哪里出错了...不,我不会指出任何问题,如你写"FRED"作为答案..你的应用程序将barf ..
继续你的代码洗牌,以获得你的意思 - 但以你的方式 - 而不是我的.
int a;
int b;
string sagot;
private void button1_Click(object sender, EventArgs e)
{
int i = 1;
do
{
a = i + i;
label1.Text = i.ToString() + " + " + i.ToString() + "=";
sagot = Interaction.InputBox("Please type your answer:");
i++;
if (a == Convert.ToInt32(sagot))
{
b++;
}
} while (i <= 10);
MessageBox.Show("Number of correct answers: " + b.ToString());
Run Code Online (Sandbox Code Playgroud)