C++實現(xiàn)猜數(shù)游戲
猜數(shù)游戲
編程先由計算機“想”一個1~100之間的數(shù)請人猜,如果人猜對了,在屏幕上輸出人猜了多少次才猜對此數(shù),以此來反映猜數(shù)者“猜”的水平,則結束游戲;否則計算機給出提示,告訴人所猜的數(shù)是太大還是太小,最多可以猜10次,如果猜了10次仍未猜中的話,則停止本次猜數(shù),然后繼續(xù)猜下一個數(shù)。每次運行程序可以反復猜多個數(shù),直到操作者想停止時才結束。
【思考題】 如果用戶輸入用戶猜測的數(shù)據(jù)時,如果用戶不小心輸入了非法字符,如字符a,那么程序運行就會出錯,用什么方法可以避免這樣的錯誤發(fā)生呢?請讀者編寫程序驗證方法的有效性。
#include <iostream> #include <stdlib.h> #include <time.h> using namespace std; void youxi() { srand(time(0)); int number = rand() % 100 + 1; int count = 0; int a = 0; while (a != number&&count<10) { cout << "請猜一個1到100之間的數(shù):"; fflush(stdin); scanf("%d",&a); if (!(a>0 && a<100)) { cout << "請輸入有效且符合條件的數(shù)字!" << endl; } else { count++; if (a > number) { cout << "Wrong!"; cout << "Too high!" << endl; } else if (a < number) { cout << "Wrong!"; cout << "Too low!" << endl; } if (a != number) a = 0; } } if (count == 10) cout << "嘗試次數(shù)超過10次,游戲已結束。下次加油哦!" << endl; else cout << "Right!" << "你用了" << count << "次就猜到了答案。" << endl; } int main() { while (1) { youxi(); cout << "想再來一次嗎?想請按1,結束請按2." << endl; int a; cin >> a; cout << endl; if (a != 1)break; } system("pause"); return 0; }
更多有趣的經(jīng)典小游戲?qū)崿F(xiàn)專題,也分享給大家:
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
C++實現(xiàn)十進制數(shù)轉換為二進制數(shù)的數(shù)學算法
這篇文章和大家分享一下我個人對十進制數(shù)轉換為二進制數(shù)的想法,目前暫時更新只整數(shù)十進制的轉換,后續(xù)會更新帶有小數(shù)的進制轉換,代碼使用c++實現(xiàn)2021-09-09C++流程控制中用于跳轉的return和goto語句學習教程
這篇文章主要介紹了C++流程控制中用于跳轉的return和goto語句學習教程,是C++入門學習中的基礎知識,需要的朋友可以參考下2016-01-01C++中用兩個標準容器stack,實現(xiàn)一個隊列的方法詳解
本篇文章是對C++中使用兩個標準容器stack,實現(xiàn)一個隊列的方法進行了詳細的分析介紹,需要的朋友參考下2013-05-05