2_猜數字遊戲_140329(C開發)

實例目的:

        強化while的用法

實例要求:

        正確輸入用戶名和密碼【用戶名:csdn(小寫),密碼:5love1】後,遊戲自動隨機設置一個目標數字(1到100之間),用戶進行猜數,如果猜測的數字比目標數字小則提示用戶“對不起,您猜小了!”,如果比目標數字大,則提示用戶“對不起,您猜大了!”;如果猜對了則提示用戶“恭喜您,猜對了,您真棒!”。用戶名和密碼輸入次數超過3次則遊戲退出,需要重新運行方可登陸。

實例分析:

        1、校驗用戶名和密碼,用戶名或密碼不正確,則提示用戶;次數超過3次,則提示次數超限,退出遊戲;

        2、比較大小,即比較用戶猜的數字與目標數字的大小,規則如實例要求。

        親們,看完題目了吧,那開始動手寫代碼吧!

算法分析:

        1、用戶名和密碼校驗部分,有3次限制,需要用循環,因爲我們這個實例主要是練習while循環,所以採用while循環模式;

        2、比較數字大小,很簡單的比較與提示,爲了強化while循環,依然採用while循環

        親們,還等什麼,趕緊代碼走起來吧!O(∩_∩)O哈哈~

        下面是參考代碼:

/**
  時間:2014-3-29 16:27:02
  功能:猜數字遊戲
  作者:byj
**/
#include "base.h"
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
void GuessGame()
{
int iLoginNum = 3, iSrcNum = 0, iGuessNum = 0;
char sUserName[5] = {}, sPassWord[7] = {};

srand(time(0));

//用戶名和密碼校驗
while(iLoginNum)
{
printf("請輸入用戶名:\n");
scanf("%s", sUserName);
printf("請輸入密碼:\n");
scanf("%s", sPassWord);
if(strcmp(sUserName, "csdn") || (strcmp(sPassWord, "5love1")))
iLoginNum--;
else
break;


if(iLoginNum)
printf("親,抱歉,您的用戶名或密碼有誤,您還有%d次機會,請重新輸入!\n", iLoginNum);
}

//登陸次數限制
if(!iLoginNum)
{
printf("親,您輸入次數已超限,最多3次哦!\n");
return ;
}


//數字判斷
iSrcNum = rand()%100+1;
while(iGuessNum != iSrcNum)
{
if(iGuessNum == 0)
printf("請猜數,數字在1到100之間:\n");
else if(iGuessNum < iSrcNum)
printf("親,抱歉,您猜小了哦!請重新猜吧!\n");
else
printf("親,抱歉,您猜大了哦!請重新猜吧!\n");


scanf("%d", &iGuessNum);
}
printf("yes!親,真棒!數字正確,GameOver!\n");
return ;
}

        以上代碼僅供參考哦,親們可以寫更高效,更簡潔的代碼哦。如果親覺得不過癮,可以對其繼續增加功能哦!比如可以詢問用戶“是否繼續玩,如果是則不退出遊戲,可以讓用戶繼續玩”,還可以控制用戶猜數字的次數,比如只有5次機會,超過5次,則輸了等等。開啓你的想象,進行完美優化吧!如果你覺得我代碼有不妥之處,歡迎拍磚指出哦!

        好了,不廢話了,來看下運行結果吧!

1、用戶名密碼校驗,超時測試:


2、猜數判斷測試


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章