小鳴利用C++製作了一款小遊戲
在遊戲一開始的選單畫面,玩家可以選擇以下其中一項動作:
(1)開始遊戲 (2)讀取進度 (3)遊戲說明 (4)離開遊戲
小鳴的程式碼如下
#include<iostream>
using namespace std;
int main()
{
int select;
cout << "請輸入指令:";
cin >> select;
if( select==1 )
cout << "開始遊戲" << endl;
if( select==2 )
cout << "讀取進度" << endl;
if( select==3 )
cout << "遊戲說明" << endl;
if( select==4 )
cout << "離開遊戲" << endl;
return 0;
}
這樣雖然可以正確運作,但是想想玩家輸入1
後,程式運作的情形:
1
select==1
成立,輸出開始遊戲
select==2
不成立,沒有任何事發生select==3
不成立,沒有任何事發生select==4
不成立,沒有任何事發生因為一次只能選擇一個動作,既然select==1
成立了,顯然 3. 4. 5.都是不需要判斷的。
浪費了很多程式的執行時間,也增加了出錯的可能性。
把
if( select==1 )
cout << "開始遊戲" << endl;
改成
if( select==1 )
{
cout << "開始遊戲" << endl;
select = 2;
}
玩家輸入1
後,會發生什麼事?
if( 條件式一 )
{
如果條件式一成立時做什麼...
}
else if( 條件式二 )
{
當條件式一不成立的情況下,如果條件式二成立時做什麼...
}
else if( 條件式三 )
{
當條件式一、二不成立的情況下,如果條件式三成立時做什麼...
}
...以此類推
如果 玩家輸入1
,就輸出開始遊戲
否則如果 玩家輸入2
,就輸出讀取進度
否則如果 玩家輸入3
,就輸出遊戲說明
否則如果 玩家輸入4
,就輸出離開遊戲
#include<iostream>
using namespace std;
int main()
{
int select;
cout << "請輸入指令:";
cin >> select;
if( select==1 )
cout << "開始遊戲" << endl;
else if( select==2 )
cout << "讀取進度" << endl;
else if( select==3 )
cout << "遊戲說明" << endl;
else if( select==4 )
cout << "離開遊戲" << endl;
return 0;
}
else
,代表以上皆非時要做什麼if( 條件式一 )
{
如果條件式一成立時做什麼...
}
else if( 條件式二 )
{
當條件式一不成立的情況下,如果條件式二成立時做什麼...
}
else if( 條件式三 )
{
當條件式一、二不成立的情況下,如果條件式三成立時做什麼...
}
else
{
當以上所有if都不成立時做什麼...
}
讓使用者輸入一個正整數N,再依下列條件輸出結果:
a) 若 N 整除 2,則輸出 2 的倍數
b) 若 N 不滿足 a) 的狀況但整除 3,則輸出 3 的倍數
c) 若 N 不符合以上的狀況,則輸出 非2 或 3 的倍數
#include<iostream>
using namespace std;
int main()
{
int N;
cin >> N;
if( N%2 == 0 )
cout << "2的倍數" << endl;
else if( N%3 == 0 )
cout << "3的倍數" << endl;
else
cout << "非2 或 3 的倍數" << endl;
return 0;
}