標題:
[隨堂測驗] 賽馬程式 (五)
[打印本頁]
作者:
鄭繼威
時間:
2023-3-18 12:12
標題:
[隨堂測驗] 賽馬程式 (五)
本帖最後由 鄭繼威 於 2023-4-1 13:52 編輯
1. 完成主選單的功能((1)買入
(2)下注 (3)離開
請選擇: ) (運用if...else if...else判斷式)
2. 處理以下bug
處理
買入
時可能出現的bug: 當輸入0以下的數字, 顯示 "
輸入錯誤!
"
處理
下注
時可能出現的bug: 當輸入0以下的數字, 顯示 "
輸入錯誤!
"
處理
下注
時可能出現的bug: 當下注金額超過可用餘額, 顯示 "
可用餘額不足,請先買入!
"
3.
錯誤提示
訊息顯示
1.5秒
後自動消失, 並回到輸入畫面(goto re), 使能重新輸入
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main()
{
int round=1; //局數
int balance=0; //餘額
int option; //選項
int buy, bet, player;
// 買入 下注 賭哪隻馬
re:
system("cls");
srand(time(NULL));
int s[]={0,0,0,0}; //存放進度用的
string p[]={"◆","★","▲","●"}; //存放馬用的
int r=0;
cout<<"「好事成雙」賽馬場 第"<<round<<"局"<<endl;
cout<<"-------------------------------------------------------------------------| 終點"<<endl;
for(int i=0; i<4; i++)
cout<<p[i]<<endl; //把馬印出來
cout<<endl<<"可用餘額: "<<balance<<"元"<<endl<<endl;
cout<<"(1)買入 (2)下注 (3)離開 請選擇: ";
cin>>option;
//輸入等於1執行買入(儲值)
if(option==1){
//買入
cout<<"買入: ";
cin>>buy;
if(buy<=0){
//如果買入小於0
cout<<"輸入錯誤!";
_sleep(1500); //顯示1.5秒
goto re;
}
balance=balance+buy; //儲值
goto re;
}
//輸入等於2執行下注
else if(option==2)
{
cout<<"下注: ";
cin>>bet;
if(bet<=0)
{
//如果小於0
cout<<"輸入錯誤!";
_sleep(1500);
goto re;
}
if(bet>balance)
{
//下注錢大於可用餘額代表錢不夠
cout<<"可用餘額不足,請先買入!";
_sleep(1500);
goto re;
}
//OK選馬
cout<<endl<<"(1)◆ (2)★ (3)▲ (4)● 請選擇: ";
cin>>player;
cout<<"比賽即將開始..."<<endl<<endl;
}
//輸入等於3結束
else if(option==3)
{
goto end;
}
else
{
cout<<"輸入錯誤!";
_sleep(1500);
goto re;
}
system("pause");
system("cls"); //清空畫面
while(s[r]<=73) //開始賽馬
{
r=rand()%4; //0~3 (抽馬)
s[r]++; //看電腦抽到哪隻馬就+1
cout<<"比賽進行中"<<endl;
cout<<"-------------------------------------------------------------------------| 終點"<<endl;
for(int i=0; i<4; i++)
{
for(int j=0; j<s[i]; j++)
cout<<" "; //印空格(看進度是多少就印多少空格)
cout<<p[i]<<endl; //把馬印出來
}
_sleep(50);
system("cls");
}
cout<<"比賽結束! 由 "<<p[r]<<" 先馳得點!"<<endl;
cout<<"-------------------------------------------------------------------------| 終點"<<endl;
for(int i=0; i<4; i++)
{
for(int j=0; j<s[i]; j++)
cout<<" ";
cout<<p[i]<<endl;
}
system("pause");
round++; //局數+1
goto re;
end:
cout<<endl<<"不玩了? 88~"<<endl;
_sleep(1500);
return 0;
}
複製代碼
作者:
陳宥霖
時間:
2023-3-18 15:17
此帖僅作者可見
作者:
宜儒
時間:
2023-3-18 15:24
此帖僅作者可見
作者:
徐啟祐
時間:
2023-3-18 15:27
此帖僅作者可見
作者:
吳俊頡
時間:
2023-3-18 15:29
此帖僅作者可見
作者:
羅暐傑
時間:
2023-3-18 15:31
此帖僅作者可見
作者:
楊芊琦
時間:
2023-3-20 13:19
此帖僅作者可見
作者:
翁川祐
時間:
2023-3-24 19:35
此帖僅作者可見
作者:
陳牧謙
時間:
2023-4-4 15:33
此帖僅作者可見
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/)
Powered by Discuz! 7.2