1. 程式人生 > >C#if and switch

C#if and switch

using System;

namespace homework2
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            /*
             * 從鍵盤輸入一個算數運算式,使用if語句實現正確的算數運算,並輸出運算結果。
        作業目標及能力提升
        熟練掌握運算子和基本資料型別的使用
        熟練掌握分支結構的使用
        鍛鍊邏輯思維
        解題思路
        通過接收輸入的三個值,並進行型別轉換,然後再進行計算。
        先判斷輸入的操作符,然後根據操作符進行相應的算數運算。
        注意除法運算中,除數不能為0
        參考答案
        輸入:    3
                +
                4
        輸出:3+4=7

             */

            //定義月份

            double first = Convert.ToDouble (Console.ReadLine ());

            //
            string sign = Convert.ToString (Console.ReadLine());
            double second = Convert.ToDouble (Console.ReadLine ());
            if (sign == "+") {
                Console.WriteLine ("{0}+{2}={3}", first, second, first + second);
            }
            if (sign == "-") {
                //...
            }
            //*/
            else{
                Console.WriteLine ("計算不支援的運算子");
            }
            /*
            第五題:輸入一個生日日期,輸出其星座.
            白羊座:3.21-4.19,金牛座:4.20-5.20,雙子座:5.21-6.21,巨蟹座:6.22-7.22
            獅子座:7.23-8.22,處女座:8.23-9.22,天秤座:9.23-10.23,天蠍座:10.24-11.22
            射手座:11.23-12.21,魔羯座:12.22-1.19,水瓶座:1.20-2.18,雙魚座:2.19-3.20


            解題思路
            使用輸入語句接收使用者從控制檯輸入的內容。
            使用強制型別轉換方法,將輸入的字串轉換為整數。
            使用switch語句,寫清楚所有的月份分支。
            在每個月份分支中,新增日期的判斷。
            新增對應的輸出語句。
            可以新增對輸入日期正確性的判斷。

            */

            //定義月份
            int mt = Convert.ToInt32(Console.ReadLine());

            //定義日期

            int dy = Convert.ToInt32 (Console.ReadLine ());
            switch (mt) {
            case 1:
                {
                    if (dy >= 1 && dy < 20) {
                        Console.WriteLine ("摩羯座");
                    } else if (dy > 19 && dy <= 31) {
                        Console.WriteLine ("水瓶座");
                    } else {
                        Console.WriteLine("您輸入的日期有誤!");
                }
                    break;
            case 2:
                {
                        //....
                    }
                    break;
                //...
            case 12:
                {
                        //...
                    }
                    break;
            default:
                Console.WriteLine ("您輸入的月份有誤!");
            }


/*
             某城市普通計程車收費標準如下:"起步里程3公里,起步費10元;
             超起步里程後10公里內,每公里租費2元,超過10公里以上的部分加收50%的回空補貼費,即每公里租費3元。
             營運過程中,因路阻及乘客要求臨時停車的,每5分鐘按1公里租費計收。運價計費尾數四捨五入,保留到元。"。
             編寫程式,輸入行駛里程(公里)與等待時間(分鐘),計算並輸出乘客應支付的車費(元)。
        輸入輸出示例:括號內是說明
            輸入
            3.1 6  (行駛3.1公里,等待6分)
            輸出
            cost = 13
        作業目標及能力提升
        熟練掌握輸入語句和型別轉換語句的使用
        熟練掌握if語句的使用
        熟練掌握關係運算符和邏輯運算子的組合使用
        鍛鍊程式設計邏輯思維能力

             */
            //總金額
            double cost;
            //行駛里程
            Console.WriteLine("輸入行駛的里程");
            double run = Convert.ToDouble(Console.ReadLine());
            //等待時間
            Console.WriteLine("輸入等待的時間");
            double minute = Convert.ToDouble(Console.ReadLine());
            //將等待的時間轉換為里程,在進行運算
            //每五分鐘按1公里算
            run+=minute/5;
            //三公里以內
            if(run<=3){
                cost=10;
            }
            //三公里到10公里
            else if(run>3&&run<=10){
                cost=10+(run-3)*2;
            }
            //10公里以外
            else{
                cost=10+(10-3)*2+(run-10)*3;
                
            }
            Console.WriteLine("0:f0",cost);     

  }

    }

}