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)文章
Qt(C++)調(diào)用工業(yè)相機Basler的SDK使用示例
這篇文章主要介紹了Qt(C++)調(diào)用工業(yè)相機Basler的SDK使用示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
C語言實現(xiàn)學(xué)生檔案管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)學(xué)生檔案管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-05-05
VS2010/MFC編程(常用控件:樹形控件Tree Control控件創(chuàng)建h和實例)
本篇文章介紹了VS2010/MFC編程:常用控件:樹形控件Tree Control,包括樹形控件的創(chuàng)建、CTreeCtrl類的主要成員函數(shù)和應(yīng)用實例有興趣的可以了解一下。2016-12-12
C語言數(shù)據(jù)結(jié)構(gòu)之中綴樹轉(zhuǎn)后綴樹的實例
這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu)之中綴樹轉(zhuǎn)后綴樹的實例的相關(guān)資料,需要的朋友可以參考下2017-08-08

