2012年8月21日火曜日

開発環境

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

練習5-2.

コード

using System;

class Tester
{
    enum Conditions
    {
        big, multiply, even, odd, unknown,
    }
    public void Run()
    {
        while (true)
        {
            Console.Write("数値を入力: ");
            string str = Console.ReadLine();
            if (str == "")
            {
                break;
            }
            int n = Convert.ToInt16(str);
            if (n >= 100)
            {
                Console.WriteLine("大きすぎる値(100以上)");
            }
            else if (n % 10 == 0)
            {
                Console.WriteLine("10の倍数");
            }
            else if (n % 2 == 0)
            {
                Console.WriteLine("偶数");
            }
            else if (n % 2 != 0)
            {
                Console.WriteLine("奇数");
            }
            else
            {
                Console.WriteLine("入力内容を確認してください");
            }
        }
        while (true)
        {
            Console.Write("数値を入力: ");
            string str = Console.ReadLine();
            if (str == "")
            {
                break;
            }
            int n = Convert.ToInt16(str);
            Conditions condition = n >= 100 ? Conditions.big :
                n % 10 == 0 ? Conditions.multiply :
                n % 2 == 0 ? Conditions.even :
                n % 2 != 0 ? Conditions.odd : Conditions.unknown;
            switch (condition)
            {
                case Conditions.big:
                    Console.WriteLine("大きすぎる値(100以上)");
                    break;
                case Conditions.multiply:
                    Console.WriteLine("10の倍数");
                    break;
                case Conditions.even:
                    Console.WriteLine("偶数");
                    break;
                case Conditions.odd:
                    Console.WriteLine("奇数");
                    break;
                case Conditions.unknown:
                    Console.WriteLine("入力内容を確認してください");
                    break;
            }
        }
    }
    static void Main()
    {
        Tester t = new Tester();
        t.Run();
    }
}

入出力結果(Console Window)

数値を入力: 150
大きすぎる値(100以上)
数値を入力: 100
大きすぎる値(100以上)
数値を入力: 99
奇数
数値を入力: 98
偶数
数値を入力: 90
10の倍数
数値を入力:
数値を入力: 1000
大きすぎる値(100以上)
数値を入力: 100
大きすぎる値(100以上)
数値を入力: 11
奇数
数値を入力: 10
10の倍数
数値を入力: 9
奇数
数値を入力:
続行するには何かキーを押してください . . .

0 コメント:

コメントを投稿