快遞運費計算器
幫一家快遞站點開發一個快遞運費計算器,快遞站點人員只需要輸入包裹重量和地點編號即可計算出對應的運費。
假設快遞費計算規則如下:
首重:3公斤 3公斤以內:1.東三省/寧夏/青海/海南:12元,2.新疆/西藏:20元,3.港澳臺/國外:不接受寄件,4.其他地區:10元。
超過3公斤部分:1.東三省/寧夏/青海/海南:8元/公斤,2.新疆/西藏:10元/公斤,3.港澳臺/國外:聯系公司總部,4.其他地區:5元/公斤
如果要求加急,需額外收加急費
3公斤以內: 1.東三省/寧夏/青海/海南:12元,2.新疆/西藏:20元,3.港澳臺/國外:不接受件,其他地區:5元 超過3公斤: 1.東三省/寧夏/青海/海南:20元,2.新疆/西藏:30元,3.港澳臺/國外:聯系公司總部,4.其他地區:10元
#include<iostream>
using namespace std;
int main() {int height, num, money, urgent;cout << "請輸入包裹的重量(單位:kg):";cin >> height;cout << "請輸入地區編號(1.東三省/寧夏/青海/海南,2.新疆/西藏,3.港澳臺/國外,4.其他地區):";cin >> num;cout << "是否加急(1.加急 0.不加急):";cin >> urgent;if (height <= 0) {cout << "你輸入的包裹重量有誤。" << endl;} else if (height <= 3) {cout << "首重。" << endl;switch (num) {case 1:money = 12;if (urgent == 1) money += 12;break;case 2:money = 20;if (urgent == 1) money += 20;break;case 3:money = 9999;cout << "不接受寄件。" << endl;break;case 4:money = 10;if (urgent == 1) money += 5;break;default:cout << "輸入的地區編號有誤" << endl;}} else {cout << "超過3公斤。" << endl;switch (num) {case 1:money = 12 + (height - 3) * 8;if (urgent == 1) money += 20;break;case 2:money = 20 + (height - 3) * 10;if (urgent == 1) money += 30;break;case 3:money = 99999;cout << "請聯系公司總部。" << endl;break;case 4:money = 10 + (height - 3) * 5;if (urgent == 1) money += 10;break;default:cout << "輸入的地區編號有誤" << endl;}}cout << "本次快遞費用:" << money << endl;return 0;
}
?黑白配+石頭剪刀布小游戲
?請設計一個四人參與的游戲程序,規則如下:
1. 游戲參與者包括3個電腦玩家和1個人類玩家
2. 游戲分為三個階段:
- 第一回合:所有玩家從"黑"和"白"中選擇一個
- 第二回合:剩余玩家繼續從"黑"和"白"中選擇一個
- 第三回合:最后兩位玩家進行石頭剪刀布對決
3. 具體規則:
- 電腦玩家的選擇通過隨機數生成
- 人類玩家通過輸入進行選擇
- 前兩回合采用"少數者淘汰制":選擇人數較少的顏色對應的玩家被淘汰
- 如果兩種顏色選擇人數相同,則判定為平局,游戲結束
- 每回合淘汰1名玩家,直到剩余2名玩家
- 最后兩位玩家通過石頭剪刀布決定最終勝負(石頭勝剪刀,剪刀勝布,布勝石頭)
4. 程序需要:
- 清晰展示每回合的選擇結果
- 正確判斷淘汰情況并顯示
- 當人類玩家被淘汰時,游戲結束并提示
- 處理可能的非法輸入 請根據以上需求實現這個游戲程序。
#include<iostream>
#include<ctime>
#include<cstdlib>using namespace std;int main() {srand(time(0)); int num_1 = rand()%2+1;int num_2 = rand()%2+1;int num_3 = rand()%2+1;string str_1; string str_2; string str_3; string str_me;// 數量int sum_h = 0;int sum_b = 0;// 游戲人數int sum_rs = 4; // 隨機數與變量進行對應switch(num_1){case 1:str_1 = "黑";sum_h++;break;case 2:str_1 = "白";sum_b++;break;} switch(num_2){case 1:str_2 = "黑";sum_h++;break;case 2:str_2 = "白";sum_b++;break;} switch(num_3){case 1:str_3 = "黑";sum_h++;break;case 2:str_3 = "白";sum_b++;break;} // 第一回合 cout<<"游戲開始,請出(黑/白):";cin>>str_me;if(str_me == "黑"){sum_h++;}else if(str_me=="白"){sum_b++; }else{cout<<"輸入錯誤!";return 0;}cout<<"結果為:"<<endl;cout<<"我:"<<str_me<<" 其他人:"<<str_1<<" "<<str_2<<" "<<str_3<<endl;// 淘汰if(sum_h>sum_b){cout<<"白色淘汰"<<endl;if(str_me=="白"){cout<<"我是白色,我被淘汰,游戲結束";return 0; } } else if(sum_h<sum_b){cout<<"黑色淘汰"<<endl;if(str_me=="黑"){cout<<"我是黑色,我被淘汰,游戲結束";return 0;}}else{cout<<"平局,游戲結束";return 0;} cout<<"我沒有被淘汰,游戲繼續"<<endl;sum_rs -= 1;cout<<"游戲剩余人數:"<<sum_rs<<endl; // 剩余:3個 // 第二回合sum_h = 0; // 重置計數 sum_b = 0; // 重置計數 int num_11 = rand()%2+1;int num_22 = rand()%2+1;// 隨機數與變量進行對應switch(num_11){case 1:str_1 = "黑";sum_h++;break;case 2:str_1 = "白";sum_b++;break;} switch(num_22){case 1:str_2 = "黑";sum_h++;break;case 2:str_2 = "白";sum_b++;break;} cout<<"游戲開始,請出(黑/白):";cin>>str_me;if(str_me == "黑"){sum_h++;}else if(str_me=="白"){sum_b++; }else{cout<<"輸入錯誤!";return 0;}cout<<"結果為:"<<endl;cout<<"我:"<<str_me<<" 其他人:"<<str_1<<" "<<str_2<<endl;// 淘汰if(sum_h>sum_b){cout<<"白色淘汰"<<endl;if(str_me=="白"){cout<<"我是白色,我被淘汰,游戲結束";return 0; } } else if(sum_h<sum_b){cout<<"黑色淘汰"<<endl;if(str_me=="黑"){cout<<"我是黑色,我被淘汰,游戲結束";return 0; }}else{cout<<"平局,游戲結束";return 0;} cout<<"我沒有被淘汰,游戲繼續"<<endl;sum_rs -= 1;cout<<"游戲剩余人數:"<<sum_rs<<endl; // 剩余:2個// 第三回合// 使用石頭剪刀布cout<<"請輸入你的選擇(石頭/剪刀/布):";string str_my;cin>>str_my;// 隨機生成對手結果int num_ds = rand()%3+1;string str_ds;// 隨機數與變量進行對應switch(num_ds){case 1:str_ds = "石頭";break;case 2:str_ds = "剪刀";break;case 3: str_ds = "布";break; } //對手出的結果cout << "對手出:" << str_ds << endl; // 判斷if(str_my=="石頭"){if(str_ds=="石頭"){cout<<"平局"; }else if(str_ds=="剪刀"){cout<<"你贏了!";}else if(str_ds=="布"){cout<<"你輸了!";}}else if(str_my=="剪刀"){if(str_ds=="石頭"){cout<<"你輸了!"; }else if(str_ds=="剪刀"){cout<<"平局!";}else if(str_ds=="布"){cout<<"你贏了!";}}else if(str_my=="布"){if(str_ds=="石頭"){cout<<"你贏了!"; }else if(str_ds=="剪刀"){cout<<"你輸了!";}else if(str_ds=="布"){cout<<"平局!";}}else{cout << "輸入錯誤!"; // 新增:處理非法輸入}return 0;
}