decimal i_random = new Random().Next(100);
            
            decimal i_guess = numericUpDown1.Value;
            
            decimal i_count =0;            for (i_count = 0; i_count < 10; i_count++)
            {
                if (i_guess < i_random)
                {
                    MessageBox.Show("太小了.");
                    continue;
                 
                }
              else if (i_guess > i_random)
                {
                    MessageBox.Show("太大了.");
                    continue;
                    //return;
                    
                }
            }
            if (i_guess == i_random && i_count != 10)
            {
                MessageBox.Show("不错,猜对了!");
            }
            else if (i_guess == i_random && i_count == 10)
            {
                MessageBox.Show("在这功败垂成的时候,你猜对了!");
            }
            else if (i_count == 10 && i_guess != i_random)
            {
                MessageBox.Show("对不起,你已经猜了十次,不能再猜了.");
                //Console.WriteLine(i_random);
            }
            Console.WriteLine(i_random);
第一 循环比如数字猜第一次没对 ,然后要猜第2次时候,一直不能输入数字,都是直接就执行第2次比较了,没空隙去NUMBER控键里写数字,加RETURN虽然能写数字了,可是原始的i_random 就会换数字。
第二 代码最后一步的 报正确答案:Console.WriteLine(i_random);
无法输出,如果加个LABLE控键,又说INT无法和STRING互相转换。
如何实现呢?

解决方案 »

  1.   

    所以要把原始的i_random保存下来
      

  2.   

    -_-!!!!!
    label1.Text = i_random.ToString();
      

  3.   

    都不用大家看 大家就帮看看
    for   (i_count   =   0;   i_count   <   10;   i_count++) 
            { 
               if   (i_guess   <   i_random) 
              { 
                MessageBox.Show("太小了."); 
                  continue; 
                                      
               } 
           else   if   (i_guess   >   i_random) 
               { 
               MessageBox.Show("太大了."); 
                 continue;
    这里不能中途修改数字,一次输入完猜的数字,它连续报10次错误,大家意思还明白就是我我应该是错了,报一次错误,我修改,他又判断,连续10次;而不是他上来就判断10次不给我修改数据的机会。第2个问题楼上解决了不用麻烦大家了,代码多就研究这段就行 
      

  4.   

    decimal i_random = 0;
    decimal i_count = 0; private void button1_Click(object sender, EventArgs e)
    {
        if (i_count == 0) // 第一次就重新生成随机数
        {
            i_random = new Random().Next(100);
            label1.Text = "?";
        }
        i_count++;
        if (numericUpDown1.Value == i_random) // 正确
        {
            if (i_count < 10)
                MessageBox.Show("不错,猜对了!");
            else MessageBox.Show("在这功败垂成的时候,你猜对了!");
            label1.Text = i_random.ToString();
            i_count = 0; // 重新计算
        }
        else if (i_count >= 10)
        {
            MessageBox.Show("对不起,你已经猜了十次,不能再猜了.");
            label1.Text = i_random.ToString();
            i_count = 0; // 重新计算
        }
        else if (numericUpDown1.Value < i_random)
        {
            MessageBox.Show("太小了.");
        }
        else if (numericUpDown1.Value > i_random)
        {
            MessageBox.Show("太大了.");
        }
    }