C语言编写——四则运算小游戏

 自己编程,喜欢可以拿去玩!VC最新版本的需要把scanf 换成scanf_s.

//四则运算器
//四则运算需求:
//进入一个界面选择 + - * /
//选择运算法则(如果选择错误, 提示重新选择 > 显示100以内两个随机数, 输入你自己的运算结果与系统比较
//系统显示正确答案, 并且判断正确错误
//积分
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

void jiemian(); 			//选择四则运算界面
int  Select_prompt();		//选择提示
int  random_num();			//显示100以内两个随机数
int  Operation(int i,int num1,int num2);//开始运算
void verification(int yanshu);//验证
int  Continue();			//选择是否结束游戏

int jifen = 0;
int con = 0;

int main()
{
	int i,num1,num2,yanshu;
	system("color 2");		//设置页面文字为绿颜色
STAR:
	num1 = random_num();	//两个随机函数太近,运行时间太短会导致随机数没时间发生变化
	jiemian();				//运行界面
	printf("你的选择是: ");
	i = Select_prompt();	//选择界面

	if (i < 1 || i > 4)
	{
		goto STAR;			//无匹配选项,跳转重选
	}
	jiemian(); 				//运行界面
	system("color 2");	//运行成功继续保持绿色
	num2 = random_num();	//随机数
	yanshu = Operation(i,num1,num2);	//运算结果返还
	verification(yanshu);				//验证
	Continue();
	if (con == 1)
	{
		goto STAR;
	}
}

void jiemian()//选择四则运算界面
{
	printf("四则运算游戏,现在积分为%d\n", jifen);

	printf("***********  四则运算   **********\n");
	printf("***    请选择下面的运算符号    ***\n");
	printf("***                            ***\n");
	printf("***    1.+           2.-       ***\n");
	printf("***    3.*           4./       ***\n");
	printf("***                            ***\n");
	printf("**********************************\n");

}

int Select_prompt()
{
	int i;
	scanf("%d", &i);
	switch (i) {
		case 1:printf("你已选择 加法 运算\n"); system("pause"); break;
		case 2:printf("你已选择 减法 运算\n"); system("pause"); break;
		case 3:printf("你已选择 乘法 运算\n"); system("pause"); break;
		case 4:printf("你已选择 除法 运算\n"); system("pause"); break;
		default:system("cls"); system("color 4"); printf("你选择错误请重新选择\n\n"); system("pause"); break;
	}
	system("cls");
	return i;
}

int random_num()//100以内的随机数
{
	int z;
	int num;
	srand((unsigned)time(NULL));//随着时间变化的种子,使rand函数的随机变化随时间变换种子
	for (z=0; z < 100; ++z) {
		num = rand() % 100 + 1;//产生一个1-100之间的2个数
	}
	return num;
}

int Operation(int i, int num1, int num2)//开始运算
{
	int jieguo = 0;
	switch (i) {
	case 1:jieguo = num1 + num2; printf("请计算 %d + %d = ?\n", num1, num2); break;
	case 2:jieguo = num1 - num2; printf("请计算 %d - %d = ?\n", num1, num2); break;
	case 3:jieguo = num1 * num2; printf("请计算 %d * %d = ?\n", num1, num2); break;
	case 4:jieguo = num1 / num2; printf("请计算 %d / %d = ?\n", num1, num2); break;
	}
	return jieguo;
}

void verification(int yanshu)//验证
{
	int input;
	printf("请输入你的答案:");
	scanf("%d",&input);
	if (yanshu == input)
	{
		printf("恭喜您答对了,答案就是 %d \n", yanshu);
		jifen++;
	}
	else
	{
		printf("可惜了,您答错了,回家种田吧,答案就是 %d \n", yanshu);
		jifen--;
	}
	printf("积分为:%d\n",jifen);
	system("pause");
	
}

int Continue()			//选择是否结束游戏
{
	
	system("cls");
	printf("四则运算游戏,现在积分为%d\n", jifen);
	printf("****************************\n");
	printf("*** 是否继续四则运算游戏 ***\n");
	printf("***                      ***\n");
	printf("***   1.YES    2.NO      ***\n");
	printf("***                      ***\n");
	printf("****************************\n");

	printf("你的选择是:"); 

	scanf("%d",&con,1);
	if (con == 1)
	{
		system("cls");
	}
	else if (con == 2)
	{
		printf("NO!!!!不!!!!GAME  OVER!!!!");
	}
	return con;
}

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值