C语言------猜数字游戏----有次数限制版

本文介绍了一个简单的C++程序,通过菜单驱动实现了一个包含猜数字游戏的程序,使用了switchcase结构和随机数生成。用户可以选择玩游戏或退出,程序会根据用户输入执行相应操作。
摘要由CSDN通过智能技术生成
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
void menu()//void函数不需要返回,menu将函数体封装,将菜单独拎出来,
{
    // 打印菜单
    printf("********************************\n");
    printf("********** 1. play *************\n");
    printf("********** 0. exit *************\n");
    printf("********************************\n");
}
void game()
{
    //1. 游戏的逻辑,生成随机数
    int r = rand() % 100 + 1;
    //2. 猜数字
    int guess = 0;
    int count = 5;
    while (count)
    {
        printf("还有%d次机会\n", count);
        printf("轻猜数字");
        scanf_s("%d", &guess);
        if (guess > r)
        {
            printf("猜大了\n");
        }
        else if (guess < r)
        {
            printf("猜小了\n");
        }
        else
        {
            printf("恭喜你,猜对了\n");
            break;  //猜对了,就直接停止
        }
        count = count - 1;//才一次就减少一次机会,仍然在while循环之内
    }   
    if (count == 0)
    {
        printf("用完了所有机会,猜数字失败,正确的值是:%d",r);


    }
}    





int main()
{

    int input = 0;
    //设置随机数的生成起点
    //整个工程只用调用一次
    srand((unsigned int )time(NULL));//随机值随着时间变化而变化   //不能放在循环里面
    do
    {
        menu();//想要使用菜单,直接通过menu调用,直接调用上方的void menu函数
        //选择

        printf("请选择");
        scanf_s("%d", &input); //让玩家从菜单的两个选项选择,然后输入
        switch (input)      //switch条件语句
        {
        case 1:
            //玩游戏的逻辑
            game();    //当玩家选择1进入游戏,则开始游戏
            break;
        case 0:
            printf("退出游戏\n");
            break;
        default:
            printf("选择错误,重新选择\n");
            break;
        }
    } while (input); //括号内放入input



    return 0;
}
  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值