设计一个数字运算游戏

利用函数设计一个数字运算游戏

#include 
#include 
#include 
#include 
int score = 0;
int SetChance = 3;
int SetAmount = 5;
int serror = 0;
int i = 0;
void menu()
{
	printf("=========Arithmetic exercises=========\n");
	printf("               1. Add\n");
	printf("               2. Subtract\n");
	printf("               3. Multiply\n");
	printf("               4. Divide\n");
	printf("               5. Mode\n");
	printf("               6. SetAmount(默认为5)\n");
	printf("               7. SetChance(默认为3)\n");
	printf("               0. Exit\n");
	printf("=========Arithmetic exercises=========\n");
}
void Add()
{
	int error = 0;
	int c = 0;
	int a = rand() % 100 + 1;
	int b = rand() % 100 + 1;
	printf("%d + %d = ", a, b);
	do
	{
		scanf("%d", &c);
		if (c == a + b)
		{
			printf("恭喜你回答正确\n");
			score += 10;
			SetAmount -= 1;
			break;
		}
		else
		{
			printf("对不起回答错误,再试一次\n");
			SetAmount -= 1;
			error++;
			serror++;
		}
		if (SetAmount == 0)
		{
			break;
		}
		if (error > 2)
		{
			printf("正确答案为:%d\n", a + b);
		}
	} while (serror < SetChance);
}
void Subtract()
{
	int error = 0;
	int c = 0;
	int a = rand() % 100 + 1;
	int b = rand() % 100 + 1;
	printf("%d - %d = ", a, b);
	do
	{
		scanf("%d", &c);
		if (c == a - b)
		{
			printf("恭喜你回答正确\n");
			score += 10;
			SetAmount -= 1;
			break;
		}
		else
		{
			printf("对不起回答错误,再试一次\n");
			SetAmount -= 1;
			error++;
			serror++;
		}
		if (SetAmount == 0)
		{
			break;
		}
		if (error > 2)
		{
			printf("正确答案为:%d\n", a - b);
		}
	} while (serror < SetChance);
}
void Multiply()
{
	int error = 0;
	int c = 0;
	int a = rand() % 100 + 1;
	int b = rand() % 100 + 1;
	printf("%d * %d = ", a, b);
	do
	{
		scanf("%d", &c);
		if (c == a * b)
		{
			printf("恭喜你回答正确\n");
			score += 10;
			SetAmount -= 1;
			break;
		}
		else
		{
			printf("对不起回答错误,再试一次\n");
			SetAmount -= 1;
			error++;
			serror++;
		}
		if (SetAmount == 0)
		{
			break;
		}
		if (error < 2)
		{
			printf("正确答案为:%d\n", a * b);
		}
	} while (serror < SetChance);
}
void Divide()
{
	int error = 0;
	int c = 0;
	int a = rand() % 100 + 1;
	int b = rand() % 100 + 1;
	printf("%d / %d = ", a, b);
	do
	{
		scanf("%d", &c);
		if (c == a / b)
		{
			printf("恭喜你回答正确\n");
			score += 10;
			SetAmount -= 1;
			break;
		}
		else
		{
			printf("对不起回答错误,再试一次\n");
			SetAmount -= 1;
			error++;
			serror++;
		}
		if (SetAmount == 0)
		{
			break;

		}
		if (error < 2)
		{
			printf("正确答案为:%d\n", a / b);
		}
	} while (serror < SetChance);	
}
void Mode()
{
	int error = 0;
	int c = 0;
	int a = rand() % 100 + 1;
	int b = rand() % 100 + 1;
	printf("%d % %d = ", a, b);
	do
	{
		scanf("%d", &c);
		if (c == a % b)
		{
			printf("恭喜你回答正确\n");
			score += 10;
			SetAmount -= 1;
			break;
		}
		else
		{
			printf("对不起回答错误,再试一次\n");
			SetAmount -= 1;
			error++;
			serror++;
		}
		if (SetAmount == 0)
		{
			break;
		}
		if (error < 2)
		{
			printf("正确答案为:%d\n", a % b);
		}
	} while (serror < SetChance);
}
void setc()
{
	printf("请设置最大的错误次数>:");
	scanf("%d", &SetChance);
}
void setm()
{
	printf("请设置最大的输入次数>:");
	scanf("%d", &SetAmount);
}
int main()
{
	int input = 0;
	srand((unsigned int)time(NULL));
	menu();
    do
    {
		printf("请选择>:");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			Add();
			break;
		case 2:
			Subtract();
			break;
		case 3:
			Multiply();
			break;
		case 4:
			Divide();
			break;
		default:
			printf("输入错误\n");
			break;
		case 5:
			Mode();
			break;
		case 0:
			printf("退出游戏\n");
			printf("总得分为:%d", score);
			break;
		case 7:
			setc();
			break;
		case 6:
			setm();
			break;
		}
		printf("得分为:%d,错误次数为:%d\n", score, serror);	
	} while (SetAmount!=0);
	printf("总得分为:%d,错误次数为:%d\n", score, serror);
	printf("游戏结束\n");
	return 0;
}

这里感谢大佬的指点
link
只是一篇简单的博客,所以没有过多的描述(其实就是水,嘿嘿)

你可能感兴趣的:(C语言,1024程序员节)