C++實(shí)現(xiàn)猜數(shù)游戲
猜數(shù)游戲
編程先由計(jì)算機(jī)“想”一個(gè)1~100之間的數(shù)請(qǐng)人猜,如果人猜對(duì)了,在屏幕上輸出人猜了多少次才猜對(duì)此數(shù),以此來(lái)反映猜數(shù)者“猜”的水平,則結(jié)束游戲;否則計(jì)算機(jī)給出提示,告訴人所猜的數(shù)是太大還是太小,最多可以猜10次,如果猜了10次仍未猜中的話,則停止本次猜數(shù),然后繼續(xù)猜下一個(gè)數(shù)。每次運(yùn)行程序可以反復(fù)猜多個(gè)數(shù),直到操作者想停止時(shí)才結(jié)束。
【思考題】 如果用戶輸入用戶猜測(cè)的數(shù)據(jù)時(shí),如果用戶不小心輸入了非法字符,如字符a,那么程序運(yùn)行就會(huì)出錯(cuò),用什么方法可以避免這樣的錯(cuò)誤發(fā)生呢?請(qǐng)讀者編寫程序驗(yàn)證方法的有效性。
#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 << "請(qǐng)猜一個(gè)1到100之間的數(shù):"; fflush(stdin); scanf("%d",&a); if (!(a>0 && a<100)) { cout << "請(qǐng)輸入有效且符合條件的數(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次,游戲已結(jié)束。下次加油哦!" << endl; else cout << "Right!" << "你用了" << count << "次就猜到了答案。" << endl; } int main() { while (1) { youxi(); cout << "想再來(lái)一次嗎?想請(qǐng)按1,結(jié)束請(qǐng)按2." << endl; int a; cin >> a; cout << endl; if (a != 1)break; } system("pause"); return 0; }
更多有趣的經(jīng)典小游戲?qū)崿F(xiàn)專題,也分享給大家:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C++實(shí)現(xiàn)十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)的數(shù)學(xué)算法
這篇文章和大家分享一下我個(gè)人對(duì)十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)的想法,目前暫時(shí)更新只整數(shù)十進(jìn)制的轉(zhuǎn)換,后續(xù)會(huì)更新帶有小數(shù)的進(jìn)制轉(zhuǎn)換,代碼使用c++實(shí)現(xiàn)2021-09-09C/C++使用Zlib實(shí)現(xiàn)文件的壓縮與解壓
zlib 是一個(gè)開源的數(shù)據(jù)壓縮庫(kù),旨在提供高效、輕量級(jí)的壓縮和解壓縮算法,本文將介紹如何使用 zlib 庫(kù)進(jìn)行數(shù)據(jù)的壓縮和解壓縮,以及如何保存和讀取壓縮后的文件,感興趣的可以了解下2023-11-11C++流程控制中用于跳轉(zhuǎn)的return和goto語(yǔ)句學(xué)習(xí)教程
這篇文章主要介紹了C++流程控制中用于跳轉(zhuǎn)的return和goto語(yǔ)句學(xué)習(xí)教程,是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2016-01-01C++中用兩個(gè)標(biāo)準(zhǔn)容器stack,實(shí)現(xiàn)一個(gè)隊(duì)列的方法詳解
本篇文章是對(duì)C++中使用兩個(gè)標(biāo)準(zhǔn)容器stack,實(shí)現(xiàn)一個(gè)隊(duì)列的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05