猜数字游戏

简介: 猜数字游戏

猜数字游戏

今天分享一个在学习C语言阶段可以练练手的小项目,可以让学习编程的朋友更有动力。如有不足,请提出建议!

  • 做任何一个项目或者程序,无论大小,都需要做好前期构思准备,中期实现每个部分,后期完善并且查缺补漏。

前期准备:猜数字游戏,需要的玩家与电脑进行数字匹配,电脑出一个随机值,玩家输入,电脑判定。

-可以画个流程图

中期代码实现:一般习惯使用一个头文件,俩个源文件。

game.h头文件

#define  _CRT_SECURE_NO_WARNINGS 1  
//调用输入输出的头文件
#include<stdio.h>
//调用随机值的头文件
#include<stdlib.h>
//调用时间的头文件
#include<time.h>
//菜单1:进入游戏|退出游戏
void menu1();
//菜单2:再次进入游戏|退出游戏
void menu2();
//游戏主题
void game();
  • operate.c源文件
#include"game.h"
int main(void)
{
  //调用随机值
  srand((unsigned int) time(NULL));
  int imput = 0;
  //初次玩游戏
  menu1();
  printf("请输入数字:\n");
  scanf("%d",&imput);
  switch (imput)
  {
  case 1:
    game();
    break;
  case 0:
    printf("感谢你的游玩!\n");
    break;
  default:
    printf("输入错误!请重新输入:\n");
    break;
  }
  //再次游玩
  do
  {
    menu2();
    printf("请输入数字:\n");
    scanf("%d", &imput);
    switch (imput)
    {
    case 1:
      game();
      break;
    case 0:
      printf("感谢你的游玩!\n");
      break;
    default:
      printf("输入错误!请重新输入:\n");
      break;
    }
  } while (imput);
  return 0;
}

game.c源文件

#include"game.h"
//菜单1
void menu1()
{
  printf("************************\n");
  printf("******** 1.game ********\n");
  printf("******** 0.exit ********\n");
  printf("************************\n");
}
//菜单2
void menu2()
{
  printf("*************************\n");
  printf("******** 1.again ********\n");
  printf("******** 0.exit  ********\n");
  printf("*************************\n");
}
//进入游戏
void game()
{
  //设置一个1-100的值
  int rand_num = rand() % 100 + 1;
  int count = 0;
  do {
    int imput = 0;
    //设置一个计数器,设置超过7次游戏结束
    printf("请猜猜数字:\n");
    scanf("%d", &imput);
    //与系统设定的值比较大小
    if (imput > rand_num)
    {
      count++;
      printf("不好意思!猜大了!\n");
    }
    else if (imput < rand_num)
    {
      count++;
      printf("不好意思!猜小了!\n");
    }
    else
    {
      count++;
      break;
    }
    //判定判断次数是否为7,7次后退出
    if (count > 7)
    {
      break;
    }
  } while (1);
  //判断次数,输出
  if (count > 7)
  {
    printf("不好意思!您失败了!\n");
    printf("真正的数字是%d \n",rand_num);
  }
  else
  {
    printf("恭喜您!猜对了!\n");
    printf("您一共猜了%d次。\n",count);
  }
}

后期运行结果:

这里无法演示后期完善过程,写好代码后,需要一次一次的修改和完善,所以希望大家好好加油!

相关文章
|
安全 NoSQL 关系型数据库
使用cnpm搭建企业内部私有NPM仓库
cnpm是企业内部搭建npm镜像和私有npm仓库的开源方案。它同时解决了现有npm架构的一些问题。
1133 0
使用cnpm搭建企业内部私有NPM仓库
|
Java Android开发 UED
安卓scheme_url调端:如果手机上多个app都注册了 http或者https 的 intent。 调端的时候,调起哪个app呢?
当多个Android应用注册了相同的URL Scheme(如http或https)时,系统会在尝试打开这类链接时展示一个选择对话框,让用户挑选偏好应用。若用户选择“始终”使用某个应用,则后续相同链接将直接由该应用处理,无需再次选择。本文以App A与App B为例,展示了如何在`AndroidManifest.xml`中配置对http与https的支持,并提供了从其他应用发起调用的示例代码。此外,还讨论了如何在系统设置中管理这些默认应用选择,以及建议开发者为避免冲突应注册更独特的Scheme。
|
JavaScript 前端开发 UED
js的节流
js的节流
203 0
|
域名解析 文件存储 数据安全/隐私保护
如何利用阿里云域名远程访问家中群辉NAS(Docker容器)上的calibre、halo博客?
如何利用阿里云域名远程访问家中群辉NAS(Docker容器)上的calibre、halo博客?最近我买了一个群辉的nas,也开始慢慢鼓捣这玩意了,真好玩(啥也不会的小白,要学可的真多)。我在nas上利用docker安装了halo(个人博客)和calibre(个人书架)这两个容器。在本地的话可以利用ip地址+端口打开,但是我想在外网远程访问,这样的话问题就产生了!
1249 0
如何利用阿里云域名远程访问家中群辉NAS(Docker容器)上的calibre、halo博客?
SAP报错因为不允许对公司代码 XXXX科目 XXXXXXXXXX进行销项/进项税相关操作,所以税码XX无效
问题描述:因为不允许对公司代码 3300 科目 6001000000 进行销项/进项税相关操作,所以税码 Z1 无效
SAP报错因为不允许对公司代码 XXXX科目 XXXXXXXXXX进行销项/进项税相关操作,所以税码XX无效
|
存储 弹性计算 运维
更轻松的协作方式!通过阿里 ECS 快速部署团队私有云
互联时代,数据安全与隐私同样重要。在高度重视保密的工作场景,如何安全的存储数据?这次我们通过阿里云的 ECS 快速手把手的教你搭建出自己的团队私有云工具。
1477 1
更轻松的协作方式!通过阿里 ECS 快速部署团队私有云
|
Ubuntu Linux Shell
适用于 Linux 的 Windows 子系统(WSL)安装指南
适用于 Linux 的 Windows 子系统(WSL)安装指南
822 0
适用于 Linux 的 Windows 子系统(WSL)安装指南
|
JavaScript API Android开发
Velocity.js:一个简单易用、高性能、功能丰富的轻量级JS动画库
最近在尝试使用 Vue3 + Vuex4 + Ant Design2 开发一个管理系统,在实现路由切换动画效果时候,无意发现一个轻量级脚本库:Velocity.js。
411 0
Velocity.js:一个简单易用、高性能、功能丰富的轻量级JS动画库
|
缓存 Linux Shell
Linux Command screen 后台运行
Linux Command screen 后台运行
|
计算机视觉
Qt实用技巧:设置应用程序exe的图标
Qt实用技巧:设置应用程序exe的图标
Qt实用技巧:设置应用程序exe的图标
下一篇
开通oss服务