2012年7月7日土曜日

開発環境

『初めてのC# 第2版』(Jesse Liberty+Brian MacDonald著、日向俊二訳、オライリー・ジャパン、2006年、ISBN978-487311-294-7)の 第6章(実行制御)4.6(練習問題)、練習5-2を解いてみる。

練習5-2.

コード

using System;

namespace Sample
{
    class Tester
    {
        enum Conditions
        {
            big, multiple, even, odd,
        }
        public void Run()
        {
            Console.WriteLine("ifステートメント");
            while (true)
            {
                Console.Write("整数を入力: ");
                string str = Console.ReadLine();
                if (str == "")
                {
                    break;
                }
                int num = Convert.ToInt32(str);
                if (num >= 100)
                {
                    Console.WriteLine("大きすぎる値");
                }
                else if (num % 10 == 0)
                {
                    Console.WriteLine("10の倍数");
                }
                else if (num % 2 == 0)
                {
                    Console.WriteLine("偶数");
                }
                else
                {
                    Console.WriteLine("奇数");
                }
            }
            Console.WriteLine("switchステートメント");
            while (true)
            {
                Console.Write("整数を入力: ");
                string str = Console.ReadLine();
                if (str == "")
                {
                    break;
                }
                int num = Convert.ToInt32(str);
                Conditions condition =
                    num >= 100 ? Conditions.big :
                    num % 10 == 0 ? Conditions.multiple :
                    num % 2 == 0 ? Conditions.even : Conditions.odd;
                switch (condition)
                {
                    case Conditions.big:
                        Console.WriteLine("大きすぎる値");
                        break;
                    case Conditions.multiple:
                        Console.WriteLine("10の倍数");
                        break;
                    case Conditions.even:
                        Console.WriteLine("偶数");
                        break;
                    case Conditions.odd:
                        Console.WriteLine("奇数");
                        break;
                    default:
                        break;
                }
            }
        }
        static void Main()
        {
            Tester t = new Tester();
            t.Run();
        }
    }
}

入出力結果(Console Window)

ifステートメント
整数を入力: 10
10の倍数
整数を入力: 11
奇数
整数を入力: 12
偶数
整数を入力: 100
大きすぎる値
整数を入力:
switchステートメント
整数を入力: 101
大きすぎる値
整数を入力: 100
大きすぎる値
整数を入力: 99
奇数
整数を入力: 98
偶数
整数を入力: 90
10の倍数
整数を入力:
続行するには何かキーを押してください . . .

0 コメント:

コメントを投稿