1

私はこのコードを持っています:

   using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace _121119_zionAVGfilter_Nave
{
    class Program
    { 
        static void Main(string[] args)
        {
            int cnt = 0, zion, sum = 0;
            double avg;
            Console.Write("Enter first zion \n");
            zion = int.Parse(Console.ReadLine());
            while (zion != -1)
            {
               while (zion < -1 || zion > 100)
            {
                Console.Write("zion can be between 0 to 100 only! \nyou can rewrite the zion here, or Press -1 to see the avg\n");
                zion = int.Parse(Console.ReadLine());
            }

                cnt++;
                sum = sum + zion;
                Console.Write("Enter next zion, if you want to exit tap -1 \n");
                zion = int.Parse(Console.ReadLine());


            }
            if (cnt == 0)
            {
                Console.WriteLine("something doesn't make sence");
            }
            else
            {
                avg = (double)sum / cnt;
                Console.Write("the AVG is {0}", avg);

            }
       Console.ReadLine(); }
    }
}

ここでの問題は、最初に負の数または 100 より大きい数を入力すると、次のメッセージが表示されることです。平均\n".
次に-1 を入力すると、AVG の代わりに次のように表示されます。「終了するには、-1 \n をタップします。」
この問題を解決するにはどうすればよいですか?数値が負の値または 100 より大きい場合、-1 をタップすると、AVG が別のメッセージではなく表示されますか?

4

2 に答える 2

1

ifこのようなステートメントで実行したくないこのコードを囲むだけです

if(zion != -1)
{
      cnt++;
      sum = sum + zion;
      Console.Write("Enter next zion, if you want to exit tap -1 \n");
      zion = int.Parse(Console.ReadLine());
      if (cnt != 0){}
}
于 2012-11-23T10:54:16.157 に答える
1

フラグ変数を追加するだけで完了です。

namespace _121119_zionAVGfilter
{
    class Program
    { 
        static void Main(string[] args)
    {
        int cnt = 0, zion, sum = 0;
        double avg;
        int flag = 0;
        Console.Write("Enter first zion \n");
        zion = int.Parse(Console.ReadLine());
        while (zion != -1)
        {                 
            while (zion < -1 || zion > 100)
            {
                Console.Write("zion can be between 0 to 100 only! \nyou can rewrite the zion here, or Press -1 to see the avg\n");
                zion = int.Parse(Console.ReadLine());
                if(zion== -1)
                    flag = 1;
            }                
            cnt++;
            sum = sum + zion;
            if (flag == 1)
                break;
            Console.Write("Enter next zion, if you want to exit tap -1 \n");
            zion = int.Parse(Console.ReadLine());
            if (cnt != 0) { }

        }
        if (cnt == 0)
        {
            Console.WriteLine("something doesn't make sence");
        }
        else
        {
            avg = (double)sum / cnt;
            Console.Write("the AVG is {0}", avg);                
        }            
        Console.ReadLine(); 
      }
    }
}
于 2012-11-23T11:05:58.020 に答える