C語言實現(xiàn)猜數(shù)字小游戲的示例代碼
一、猜數(shù)字小游戲的要求
猜數(shù)字小游戲是我們小時候喜歡我們一個經(jīng)典小游戲,在本文中,猜數(shù)字小游戲主要的功能如下所示
1.登入猜數(shù)字小游戲系統(tǒng),顯示小時歡迎界面。
2.用戶猜的數(shù)字有系統(tǒng)隨機在1-20之間生成。
3.用戶可以有5次機會猜這個隨機生成的數(shù)字。
4.若用戶猜大了,則系統(tǒng)會顯示猜大了,并提示還有多少猜數(shù)字的機會。
5.若5次都沒有猜中系統(tǒng)隨機生成的數(shù)字,則游戲結(jié)束。
二、猜數(shù)字小游戲?qū)崿F(xiàn)的過程
2.1項目創(chuàng)建
使用VS2019創(chuàng)建一個名為GuessNumber的C語言項目,并在GuessNumber項目中創(chuàng)建Main.c源文件和Main.h頭文件。
2.2頭文件內(nèi)容
在Main.h頭文件中,將有關(guān)的頭文件包含進來,如下所示
#include <stdio.h> #include <stdlib.h> #include <time.h>
在聲明兩個函數(shù),如下所示
// 顯示菜單 void menu(); // 猜數(shù)字游戲功能 void gameGuess();
其中,menu函數(shù)的功能是顯示猜數(shù)字小游戲的初始化界面,并提供猜數(shù)字小游戲的相關(guān)說明。gameGuess函數(shù)的功能是整個猜數(shù)字游戲的核心,在gameGuess中主要是實現(xiàn)用戶猜數(shù)字的功能,并且給用戶提供友好的提示功能。
2.3源文件內(nèi)容
首先將頭文件包含進來
#define _CRT_SECURE_NO_WARNINGS #include "Main.h"
其中#define _CRT_SECURE_NO_WARNINGS是為了使編譯器沒有警告。
main函數(shù)中添加代碼如下
system("color 3E"); int select = 0; //防止出現(xiàn)的隨機數(shù)一樣 srand((unsigned int)time(NULL)); //利用循環(huán)實現(xiàn)可以多次玩 do { menu(); printf("請輸入選項:"); scanf("%d", &select); switch (select) { case 1: gameGuess(); break; case 0: break; default: printf("選擇錯誤\n"); system("pause"); system("cls"); break; } } while (select); printf("歡迎下次使用,再見?。。n"); system("pause"); return 0;
首先定義select 變量,根據(jù)用戶輸入的值,給變量select 賦值,從而進入相應(yīng)的函數(shù),進而實現(xiàn)相關(guān)的功能。
srand是為了防止出現(xiàn)的隨機數(shù)一樣。
根據(jù)輸入的select值,進入switch 分支語句進行判斷。
menu函數(shù)如下
// 顯示菜單 void menu() { printf("**********************************************************\n"); printf("* 歡迎來到猜數(shù)字小游戲\n"); printf("* 規(guī)則說明\n"); printf("* 猜的數(shù)字為1-20\n"); printf("* 共有5次機會\n"); printf("* 歡迎猜中數(shù)字哦!??!\n\n"); printf("* 1.開始游戲\n"); printf("* 0.退出游戲\n"); printf("**********************************************************\n\n"); }
其主要的功能是顯示系統(tǒng)的菜單功能,給用戶提示猜數(shù)字小游戲應(yīng)該如何進行。
gameGuess函數(shù)如下
//猜數(shù)字游戲功能函數(shù) void gameGuess() { int num = 0, input = 0, count = 0; num = rand() % 20 + 1;//獲取1-100的一個隨機數(shù) while (count != 5)//利用if循環(huán)判斷 { printf("請輸入數(shù)字:"); scanf("%d", &input); if (input == num) { printf("恭喜啦,你猜的數(shù)字是對的?。?!\n"); break; } else if (input < num) { printf("你猜小了\n"); } else { printf("你猜大了\n"); } count++; if (count == 5) { printf("很遺憾,5次機會用完了,你沒有猜對?。?!\n\n"); printf("正確答案是:%d\n", num); break; } printf("你還有:%d次機會\n\n", 5 - count); } system("pause"); system("cls"); }
使用系統(tǒng)庫函數(shù)rand隨機生成一個1-20的數(shù)字,賦值給變量num ,然后根據(jù)輸入的變量input值是否相等使用 == 進行判斷。
count主要用于判斷用戶還有多少次猜數(shù)字的機會。
三、猜數(shù)字小游戲調(diào)試結(jié)果如下
1.進入系統(tǒng),輸入數(shù)字1
2.猜對的調(diào)試結(jié)果
3.沒有猜對的調(diào)試結(jié)果
四、基于猜數(shù)字小游戲的總結(jié)
本文的猜數(shù)字小游戲讓我們對于C語言的入門可以得到有效的提高,對于srand函數(shù)、rand函數(shù),Switch語句、while循環(huán)、if條件判據(jù)等C語言知識點可以進一步的掌握。
五、完整代碼
Main.h頭文件
#pragma once #include <stdio.h> #include <stdlib.h> #include <time.h> // 顯示菜單 void menu(); // 猜數(shù)字游戲功能 void gameGuess();
Main.c源文件
#define _CRT_SECURE_NO_WARNINGS #include "Main.h" int main() { system("color 3E"); int select = 0; //防止出現(xiàn)的隨機數(shù)一樣 srand((unsigned int)time(NULL)); //利用循環(huán)實現(xiàn)可以多次玩 do { menu(); printf("請輸入選項:"); scanf("%d", &select); switch (select) { case 1: gameGuess(); break; case 0: break; default: printf("選擇錯誤\n"); system("pause"); system("cls"); break; } } while (select); printf("歡迎下次使用,再見?。?!\n"); system("pause"); return 0; } // 顯示菜單 void menu() { printf("**********************************************************\n"); printf("* 歡迎來到猜數(shù)字小游戲\n"); printf("* 規(guī)則說明\n"); printf("* 猜的數(shù)字為1-20\n"); printf("* 共有5次機會\n"); printf("* 歡迎猜中數(shù)字哦?。?!\n\n"); printf("* 1.開始游戲\n"); printf("* 0.退出游戲\n"); printf("**********************************************************\n\n"); } //猜數(shù)字游戲功能函數(shù) void gameGuess() { int num = 0, input = 0, count = 0; num = rand() % 20 + 1;//獲取1-100的一個隨機數(shù) while (count != 5)//利用if循環(huán)判斷 { printf("請輸入數(shù)字:"); scanf("%d", &input); if (input == num) { printf("恭喜啦,你猜的數(shù)字是對的!?。n"); break; } else if (input < num) { printf("你猜小了\n"); } else { printf("你猜大了\n"); } count++; if (count == 5) { printf("很遺憾,5次機會用完了,你沒有猜對?。?!\n\n"); printf("正確答案是:%d\n", num); break; } printf("你還有:%d次機會\n\n", 5 - count); } system("pause"); system("cls"); }
到此這篇關(guān)于C語言實現(xiàn)猜數(shù)字小游戲的示例代碼的文章就介紹到這了,更多相關(guān)C語言猜數(shù)字內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語言實現(xiàn)學(xué)生信息管理系統(tǒng)(鏈表)
這篇文章主要為大家詳細介紹了C語言實現(xiàn)學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-06-06epoll多路復(fù)用的一個實例程序(C實現(xiàn))
這篇文章主要為大家詳細介紹了epoll多路復(fù)用的一個實例程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-08-08C++基于socket UDP網(wǎng)絡(luò)編程實現(xiàn)簡單聊天室功能
這篇文章主要為大家詳細介紹了C++基于socket UDP網(wǎng)絡(luò)編程實現(xiàn)簡單聊天室功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-07-07C++調(diào)用C函數(shù)報錯無法解析的外部命令/無法解析的外部符號問題
這篇文章主要介紹了C++調(diào)用C函數(shù)報錯無法解析的外部命令/無法解析的外部符號問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08C語言詳細分析講解關(guān)鍵字goto與void的作用
我們在C語言中經(jīng)常會見到void,也會偶爾見到goto,那么C語言中既然有g(shù)oto,為什么我們在代碼中見的很少呢?在以前很多的項目經(jīng)驗中,我們得到這樣一條潛規(guī)則:一般項目都是禁用goto的,程序質(zhì)量與goto的出現(xiàn)次數(shù)成反比。自后也就造成了我們一般不會使用goto2022-04-04