飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2061|回复: 1

GuessingProgram

[复制链接]

该用户从未签到

发表于 2005-10-27 13:06:20 | 显示全部楼层 |阅读模式
//N年前的东西,希望对新人有帮助的说
//**************************************
//INCLUDE files for: GuessingProgram
//**************************************
#include <stdio.h>
#include <time.h>
#include <stdlib.h>



char GetAnswer( void ) {
    getchar();
        int choice = getchar();
        while( choice != 'y' && choice != 'Y' && choice != 'n' && choice != 'N' ) {
                printf("Please choose \"y\" or \"Y\" for yes or \"n\" or \"N\" for no: ");
                getchar();
                choice = tolower(getchar());
        }
        return choice;
}

int random( int num ) {
    if(num == 0) {
                return 0;
        }
        srand(( unsigned ) time( NULL ));
    return rand() % num;
}

int main()
{
    int recursion = 0;
        while(1) {
        printf("\n\t\t\t================");
        printf("\n\t\t\tGuessing program\n");
        printf("\t\t\t================\n\n\n");
        printf("Do you have a number between 1 and 9 in mind? Yes(y) No(n): ");
        if(recursion > 0) getchar();
        char answer = tolower(getchar());
    if( answer == 'y' ) {
        printf("Is it a prime number? Yes(y) No(n): ");
        if( GetAnswer() == 'y' ) {
            printf("Is it bigger than 4? Yes(y) No(n): ");
            if( GetAnswer() == 'y' ) {
                switch(random(2)){
                                case 0:
                                        printf("Your number is 7? Yes(y) No(n): ");
                    if( GetAnswer() == 'y' ) {
                                                printf("Well,i am intelligent i have found your number !\n");
                                        }
                                        else {
                                                printf("Now,i know for sure that your number is 5\n");
                                        }
                    break;
                case 1:
                                        printf("Your number is 5? Yes(y) No(n): ");
                    if( GetAnswer() == 'y' ) {
                                                printf("Well,i am intelligent i have found your number !\n");
                                        }
                    else {
                                                printf("Now,i know for sure that your number is 7\n");
                                        }
                    break;
                                }
                        }
                        else {
                                switch(random(2)){
                                case 0:
                                        printf("Your number is 3? Yes(y) No(n): ");
                    if( GetAnswer() == 'y' ) {
                                                printf("Well,i am intelligent i have found your number !\n");
                                        }
                    else {
                        printf("Now,i know for sure that your number is 2\n");
                                        }
                    break;
                case 1:
                                        printf("Your number is 2? Yes(y) No(n): ");
                                        if( GetAnswer() == 'y' ) {
                                                printf("Well,i am intelligent i have found your number !\n");
                                        }
                                        else {
                                                printf("Now,i know for sure that your number is 3\n");
                                        }
                                        break;
                                }
                        }
                }
                else {
                        printf("Is it odd? Yes(y) No(n): ");
                        if( GetAnswer() == 'y' ) {
                                switch(random(2)){
                                case 0:
                                        printf("Your number is 1? Yes(y) No(n): ");
                                        if( GetAnswer() == 'y' ) {
                                                printf("Well,i am intelligent i have found your number !\n");
                                        }
                                        else {
                                                printf("Now,i know for sure that your number is 9\n");
                                        }
                    break;
                                case 1:
                                        printf("Your number is 9? Yes(y) No(n): ");
                                        if( GetAnswer() == 'y' ) {
                                                printf("Well,i am intelligent i have found your number !\n");
                                        }
                    else {
                                                printf("Now,i know for sure that your number is 1.\n");
                                        }
                    break;
                                }
                        }
                        else {
                                printf("So,your number is even? Yes(y) No(n): ");
                                if( GetAnswer() == 'n' ) {
                                        printf("I think that you are not telling me the truth.\n");
                                }
                                else {
                                        printf("Is it bigger than 5? Yes(y) No(n): ");
                                        if( GetAnswer() == 'n')
                                                printf("Without any doubt,i know that your number is 4\n");
                                        else {
                                                switch(random(2)){
                                                case 0:
                                                        printf("Your number is 8? Yes(y) No(n): ");
                                                        if( GetAnswer() == 'y' ) {
                                                                printf("Well,i am intelligent i have found your number !\n");
                                                        }
                            else {
                                                                printf("Now,i know for sure that your number is 6\n");
                                                        }
                                                        break;
                                                case 1:
                                                        printf("Your number is 6? Yes(y) No(n): ");
                                                        if( GetAnswer() == 'y' ) {
                                                                printf("Well,i am intelligent i have found your number !\n");
                                                        }
                                                        else {
                                                                printf("Now,i know for sure that your number is 8.\n");
                                                        }
                                                        break;
                                                }
                                        }
                                }
                        }
                }
    }
        printf("\n\ndo you want to continue Yes(y) No(n): ");
        getchar();
        int choice = getchar();
        if( choice != 'y' && choice != 'Y') break;
        system("cls");
        recursion++;
    }
        return 0;
}
PYG19周年生日快乐!

该用户从未签到

发表于 2005-11-2 08:36:17 | 显示全部楼层
沙发!学习中
PYG19周年生日快乐!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表