--- tags: C++, 程式設計 --- # C++ 程式設計 流程控制 (上) ## 一、條件式 ### (一) if else #### 1、 單一條件使用方法 if (條件式){ 執行內容; } else(除if條件以外){ 執行內容; } ##### 範例: ```cpp= //輸入想販賣商品價格,假如價格超過100則顯示『你商品價格在市面上販售太貴了』 //若小於等於100元則顯示『你商品價格在市面上販售太便宜了』 int cost; cout << "請輸入你想販賣商品價格:"; cin >> cost; if (cost > 100){ cout <<"你商品價格在市面上販售太貴了"; } else{ // cost <= 100 cout <<"你商品價格在市面上販售太便宜了"; } ``` #### 2、多條件使用方法(else if) //可無限加 if (條件一){ 執行內容; } else if(條件二){ 執行內容; } else (除條件一、二以外){ 執行內容 } ##### 範例: ```cpp= //輸入想販賣商品價格,假如價格超過100則顯示『你商品價格在市面上販售太貴了』 //若等於100元則顯示『你商品價格在市面上非常合理』 //若小於100元則顯示『你商品價格在市面上販售太便宜了』 int cost; cout << "請輸入你想販賣商品價格:"; cin >> cost; if (cost > 100){ cout <<"你商品價格在市面上販售太貴了"; else if (cost == 100){ cout <<"你商品價格在市面上非常合理"; } else{ // cost < 100 cout <<"你商品價格在市面上販售太便宜了"; } ``` #### 3、巢狀條件使用方法 if (外圈條件一){ 執行內容; } if (內圈條件一){ 執行內容; } else(內圈條件一){ 執行內容; } } else (外圈條件一以外){ 執行內容 } ##### 範例: ```cpp= //輸入想販賣商品價格,假如價格超過100元 //請輸入價格貨幣1.美元 2.台幣 //輸入1(美元),則顯示『你商品價格在市面上販售太貴了』 //輸入2(台幣),則顯示『你商品價格在市面上非常合理』 //若價格小於等於100元則顯示『你商品價格在市面上販售太便宜了』 int cost; int money; cout << "請輸入你想販賣商品價格:"; cin >> cost; if (cost > 100){ cout <<"請輸入價格貨幣1.美元 2.台幣:" cin >> money; if (money == 1){ cout <<"你商品價格在市面上販售太貴了"; } else //money ≠ 1 cout <<"你商品價格在市面上非常合理"; } else{ // cost <= 100 cout <<"你商品價格在市面上販售太便宜了"; } ``` #### 4、也可以與字元做比較 char word; if ((word == 'G')||(word =='g')) ### (二) 條件運算子(?:) #### 使用方式 ((cost >100 ) ? (Yes):(NO)) 條件式(cost > 100) 成立執行 (Yes) 不成立執行(No) ##### 範例: ```cpp= 輸入想販賣商品價格,假如價格超過100元則顯示『你商品價格在市面上販售太貴了』 若小於等於100元則顯示『你商品價格在市面上販售太便宜了』 int cost; cout << "請輸入你想販賣商品價格:"; cin >> cost; if (cost > 100) ? (cout <<"你商品價格在市面上販售太貴了";) : (cout <<"你商品價格在市面上販售太便宜了";) ``` ### (三) switch case #### 使用方法 switcg(變數){ case (條件一): 執行內容; break; //跳出switch case (條件二): 執行內容; break; case (條件三): 執行內容; break; } #### 範例: ```cpp= //輸入想販賣商品價格,假如價格超過100則顯示『你商品價格在市面上販售太貴了』 //若等於100元則顯示『你商品價格在市面上非常合理』 //若小於100元則顯示『你商品價格在市面上販售太便宜了』 int cost; cout << "請輸入你想販賣商品價格:"; cin >> cost; switch (cost){ case (cost > 100): cout <<"你商品價格在市面上販售太貴了"; break; case (cost == 100): cout <<"你商品價格在市面上非常合理"; break; case (cost < 100) cout <<"你商品價格在市面上販售太便宜了"; break; } ``` ## 二、練習 ### (一)題目一: 已知「男生標準體重 = (身高-80)*0.7」、「女生標準體重 = (身高-70)*0.6」。 試寫一程式,讓使用者輸入其「性別」及「身高」,即輸出其「標準體重」。 (限用「if比較運算式」。) #### 1、程式碼(答案不唯一): ```cpp= #include<iostream> Using namespace std; /*題目1:已知「男生標準體重 = (身高-80)*0.7」、「女生標準體重 = (身高-70)*0.6」。 試寫一程式,讓使用者輸入其「性別」及「身高」,即輸出其「標準體重」。 (限用「if比較運算式」。)*/ Int main() { float a, b; cout<<"請輸入性別:1.男生2.女生"<<endl; cin>>a ; cout<<"請輸入身高:" ; cin>>b; if (a == 1) { b = (b - 80) * 0.7; cout<<"男生標準體重:"<< b <<"公斤"; } else { b = (b - 70) * 0.6; cout<<"女生標準體重:"<< b <<"公斤"; } } ``` #### 2、圖示: ![](https://i.imgur.com/hXnXLMQ.png) ### (二)題目二: 已知「男生標準體重 = (身高-80)*0.7」、「女生標準體重 = (身高-70)*0.6」。 試寫一程式,讓使用者輸入其「性別」及「身高」,即輸出其「標準體重」。 (限用「?:條件運算子」。) #### 1、程式碼(答案不唯一): ```cpp= #include<iostream> Using namespace std; /*題目2:已知「男生標準體重 = (身高-80)*0.7」、「女生標準體重 = (身高-70)*0.6」。 試寫一程式,讓使用者輸入其「性別」及「身高」,即輸出其「標準體重」。 (限用「?:條件運算子」。)*/ Int main() { float a, b; cout<<"請輸入性別:1.男生2.女生"<<endl; cin>>a; cout<<"請輸入身高:"; cin>>b; ((a == 1) ? (b = (b - 80) * 0.7) : (b = (b - 70) * 0.6)); cout<<"標準體重:"<< b <<"公斤"; } ``` #### 2、圖示: ![](https://i.imgur.com/dGWNEsE.png) ### (三)題目三: 已知「男生標準體重 = (身高-80)*0.7」、「女生標準體重 = (身高-70)*0.6」。 試寫一程式,讓使用者輸入其「性別」及「身高」,即輸出其「標準體重」。 (限用「switch分支」。) #### 1、程式碼(答案不唯一): ```cpp= #include<iostream> Using namespace std; /*題目2:已知「男生標準體重 = (身高-80)*0.7」、「女生標準體重 = (身高-70)*0.6」。 試寫一程式,讓使用者輸入其「性別」及「身高」,即輸出其「標準體重」。 (限用「?:條件運算子」。)*/ Int main() { float a, b; cout<<"請輸入性別:1.男生2.女生"<<endl; cin>>a; cout<<"請輸入身高:"; cin>>b; ((a == 1) ? (b = (b - 80) * 0.7) : (b = (b - 70) * 0.6)); cout<<"標準體重:"<< b <<"公斤"; } ``` #### 2、圖示: ![](https://i.imgur.com/dHvNp5a.png)