//沒加goto
#include<iostream>
using namespace std;
int main()
{
int a;
cout<<"請輸入一個月份:"<<endl;
cin>>a;
if(a<1||a>12){
cout<<"沒有這個月份"<<endl;
//goto end;
}
switch((a%12)/3) //(a%12)將12個數為劃分0~11共12段;(a%12)/3將12個數劃分成0~3共4段
{
case 0: //case 0 第一段
cout<<"此月份為冬天"<<endl;
break;
case 1: //case 1 第二段
cout<<"此月份為春天"<<endl;
break;
case 2: //case 2 第三段
cout<<"此月份為夏天"<<endl;
break;
case 3: //case 3 第四段
cout<<"此月份秋天"<<endl;
break;
}
//end:
system("pause");
return 0;
}
DOS輸出:
請輸入一個月份:
0
沒有這個月份
此月為冬天
請按任意鍵繼續 . . .
//有加goto
#include<iostream>
using namespace std;
int main()
{
int a;
cout<<"請輸入一個月份:"<<endl;
cin>>a;
if(a<1||a>12){
cout<<"沒有這個月份"<<endl;
goto end;
}
switch((a%12)/3) //(a%12)將12個數為劃分0~11共12段;(a%12)/3將12個數劃分成0~3共4段
{
case 0: //case 0 第一段
cout<<"此月份為冬天"<<endl;
break;
case 1: //case 1 第二段
cout<<"此月份為春天"<<endl;
break;
case 2: //case 2 第三段
cout<<"此月份為夏天"<<endl;
break;
case 3: //case 3 第四段
cout<<"此月份秋天"<<endl;
break;
}
end:
system("pause");
return 0;
}
DOS輸出:
請輸入一個月份:
0
沒有這個月份
請按任意鍵繼續 . . .
原因:撰寫if完,但並沒有跳脫指令,所以會持續執行下面switch指令,而goto是一種無條件前往的指令,可避免持去執行的語法。
留言列表