论坛: 编程破解 标题: C++做的一个猜数字游戏,挺有意思的,呵呵 复制本贴地址    
作者: jhkdiy [jhkdiy]    版主   登录
代码:

/*
*  功    能:猜数字的游戏
*  编译环境:windows2000 + Dev-c++ 4.9
*  作    者:jhkdiy
*  电子邮件:jhkdiy_gzb@21cn.net
*  备    注:无意中看到《Beginning C++ game programming》一书,随便浏览了一下,
*            觉得这个游戏有点意思,所以自己完善了下。初学者用来学习一下语法
*            和提高一下兴趣还是很有意思的。该程序有BUG,大家找出来,
*            不是语法错误哦!!思考一下! 
*/

#include <cstdlib>
#include <iostream>
#include <ctime>

using namespace std;

int main(int argc, char *argv[])
{
    //产生随机数种子
    srand(time(0));           
   
    int  theNumber = rand() % 100 + 1;    //随机数控制在1-100之间
    int  tries = 0,                        //用户尝试的次数
        guess;                            //用户输入的数字
    char bPlayAgain;                      //是否继续游戏
   
    cout << "\tWelcome to guess my number\n\n";
   
    do
    {
        //接受用户的输入
        cout << "Enter a guess: ";
        cin >> guess;
        ++tries;
       
        //如果输入的数字大于产生的随机数
        if( guess > theNumber )
        {
            cout<<"Too high!\n\n";
        }
       
        //如果输入的数字小于产生的随机数
        if( guess < theNumber )
        {
            cout << "Too low!\n\n";
        }
       
        //猜对了···
        if( guess == theNumber )
        {
            cout << "\n\n\tVery good! you get it!"
                  << "\tThe number is: " << theNumber << endl;
                 
            cout << "\n\n\tyou try " << tries << " times!" << endl;
           
            //是否继续游戏
            cout << "\n\nDo you want to play again?(y/n)";
            cin  >> bPlayAgain;
            if( bPlayAgain == 'y' || bPlayAgain == 'Y')
            {
                //清屏后继续游戏
                system("cls");
                continue;
            }
            else if( bPlayAgain == 'n' || bPlayAgain == 'N')
            {
                cout << "\nSee you next time, bye!\n";
                break;           
            }   
            else
            {
                cout << "\nEnter a wrong choice! program will exit!\n";
                break;
            }
        }
       
    }while(true);
   
    //退出程序
    system("pause");
    return EXIT_SUCCESS;
}



地主 发表时间: 07-03-28 20:27

回复: jhkdiy [jhkdiy]   版主   登录
大家最好亲自运行一下和细心看一下源代码,看看能否找出bug来。

B1层 发表时间: 07-03-28 20:39

回复: 月之御者 [kert_t8]   论坛用户   登录
tries没reset吧.....

B2层 发表时间: 07-03-30 00:53

回复: jhkdiy [jhkdiy]   版主   登录
嗯,这是其中一个,不过还有更多bug····

B3层 发表时间: 07-03-30 13:03

回复: 月之御者 [kert_t8]   论坛用户   登录
theNumber每次都不变,只有程序重起才变

B4层 发表时间: 07-03-31 01:10

回复: jhkdiy [jhkdiy]   版主   登录
嗯,没错,又给你找到一个了,还有····

B5层 发表时间: 07-03-31 01:15

回复: 月之御者 [kert_t8]   论坛用户   登录
不知道了,看不出来....

B6层 发表时间: 07-04-10 14:24

回复: jhkdiy [jhkdiy]   版主   登录
过段时间我发个专门的帖子详细论述一下。

B7层 发表时间: 07-04-10 19:36

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号