官术网_书友最值得收藏!

3.4 嵌套選擇結構

選擇結構讓你有可能處理許多選擇性的問題。例如,如果你正在創建一個商務網站,你就可能要基于幾種可能計算運費。如果消費者的購買額超過一定數量或者輸入某個優惠代碼,那么送貨可能是免費的。運費選項可能包括陸運、空運和快遞服務。運費也可能取決于包裹的運送距離和包裹的重量。對于這種情況,你需要做出許多判斷。一個客戶可能購買了價值$150.00的商品而要求免除陸運費,而另外一個客戶可能購買相同商品卻愿意支付快遞費。因此一旦確定了商品的費用,還要做出許多判斷。一個住在美國的客戶與另一個住在歐洲的客戶,盡管購買的商品一樣,但運費很可能是不同的。要編寫依賴前面判斷結果的判斷代碼,我們可以使用嵌套選擇結構。圖3-4展示了計算運費例子所需要的一部分判斷。

多路選擇結構的一般語法如下:

圖3-4 嵌套選擇結構

可以嵌套任意多的if...結構或者if...else結構,然而嵌套結構太多會令人費解。我們將學習其他有效方法處理需要許多判斷的程序。在有些情況下,嵌套結構是有意義的,例3.5就展示了這樣一種情形。

例3.5 嵌套選擇結構 在這個例子中,詢問用戶是否對兩個數進行加或者減運算。如果用戶決定進行加法運算,就將這兩個數相加。由于在做加法時不管哪一個數在前其結果都是一樣的,所以不需要進一步的判斷。但是如果要對兩個數進行減法運算,其答案就取決于哪一個數作為減數。因此,第二個選擇結構嵌套在第一個選擇結構的else子句中。

3.4節檢查點

3.16 舉出一個可能在程序中使用嵌套選擇結構的例子,要求這個例子在本節沒有使用過。

3.17 根據需要為下列函數添加一個選擇結構:如果用戶剛好16歲,就繼續問今天是否是他的生日,如果是就將信息“Happy Birthday!”連同關于駕駛學習執照資格的信息一起顯示。

3.18 編寫一個函數,讓用戶錄入兩個數。然后問用戶是否想要對這兩個數進行相乘或者相除。如果用戶選擇除法運算,就要包括一個嵌套的if結構提示用戶哪一個是除數和被除數。如果用戶選擇乘法運算,程序就乘這兩個數。然后,程序將顯示這兩個數的商或乘積。注意:在表達式a÷b=c中,a是被除數,b是除數,而c是商。在表達式a×b=c中,c是乘積。

3.19 修改下列代碼,使得當用戶答錯時就顯示信息“Your answer is incorrect”。

主站蜘蛛池模板: 高淳县| 嘉峪关市| 扎兰屯市| 辽宁省| 辽宁省| 富裕县| 景谷| 九寨沟县| 卫辉市| 固原市| 灵川县| 民和| 乐昌市| 偏关县| 胶州市| 南丹县| 白沙| 吴桥县| 菏泽市| 嘉定区| 新竹县| 凤阳县| 万山特区| 余干县| 怀仁县| 茶陵县| 武川县| 太仆寺旗| 建昌县| 阿鲁科尔沁旗| 灵川县| 惠水县| 天台县| 镇宁| 佛坪县| 临漳县| 玉门市| 彩票| 元朗区| 泰来县| 无极县|