⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 8_1.cpp

📁 这是一个(BSJ)人机分歧中断器
💻 CPP
字号:
/***
*
*题目:分歧终端机 v3.0
*
*班级:河北师范大学 软件学院
*
*姓名:高伟龙
*
*学号:2008013521
*	
****/
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <windows.h>
#include <time.h> 
#include <stdlib.h>

int main()
{
	char name[15];
	char ch1;  //人出的
	char ch2;  //计算机出的
	int a;
	int flag1 = 0;
	int flag2 = 0;
	int b = 0;  //第几回合
	int c = 0;  //参战人赢的回合
	int d = 0;  //计算机赢的回合
	int e = 0;  //战平的回合

	printf("              =============================================\n");
	printf("                  分歧终端机 v3.0 ------人机对战\n\n");
	printf("                  作者:高伟龙\n");
	printf("                  身份:学生\n");
	printf("              =============================================\n");
	printf("欢迎您参加人机BSJ对战大赛!\n");
	printf("请输入您的尊姓大名:");
	gets(name);
	printf("祝您好运!\n");
	printf("请按任意键进入比赛-----");

	getch();
	system("CLS");
	
	while(flag2 == 0)
	{
		while(flag1 == 0)
		{
			printf("第 %d 回合                           %s: %d    计算机: %d    战平: %d\n",b,name,c,d,e);
			printf("------------------------------------------------------------------\n\n\n");
			printf("%s:",name);
			ch1 = getch();
			putch(ch1);
			printf("\n");

			//验证代码
			if(isdigit(ch1))
			{
				printf("\nERROR: 您输入的是数字!\n");
				printf("USAGE: 请输入B(布)J(剪刀)和S(石头)三个字母中的一个,而且必须是大写!\n\n");
				printf("请按任意键继续----\n");
				getch();
				system("CLS");
			}
			else if(islower(ch1))
			{
				printf("\nERROR: 您输入的是小写字母!\n");
				printf("USAGE: 请输入B(布)J(剪刀)和S(石头)三个字母中的一个,而且必须是大写!\n\n");
				printf("请按任意键继续----\n");
				getch();
				system("CLS");
			}
			else if(iscntrl(ch1))
			{
				printf("\nERROR: 您输入的是控制字符!\n");
				printf("USAGE: 请输入B(布)J(剪刀)和S(石头)三个字母中的一个,而且必须是大写!\n\n");
				printf("请按任意键继续----\n");
				getch();
				system("CLS");
			}
			else if(isspace(ch1))
			{
				printf("\nERROR: 您输入的是空白字符!\n");
				printf("USAGE: 请输入B(布)J(剪刀)和S(石头)三个字母中的一个,而且必须是大写!\n\n");
				printf("请按任意键继续----\n");
				getch();
				system("CLS");
			}
			else if(!isalpha(ch1))
			{
				printf("\nError: 未知错误!\n");
				printf("USAGE: 请输入B(布)J(剪刀)和S(石头)三个字母中的一个,而且必须是大写!\n\n");
				printf("请按任意键继续----\n");
				getch();
				system("CLS");
			}
			else if(isupper(ch1))
			{
				if(ch1 != 'B' && ch1 != 'S' && ch1 != 'J')
				{
					printf("\nERROR: 您输入的是大写字母,但是不是B、J和S其中之一!\n");
					printf("USAGE: 请输入B(布)J(剪刀)和S(石头)三个字母中的一个,而且必须是大写!\n\n");
					printf("请按任意键继续----\n");
					getch();
					system("CLS");
				}
				else
				{
					flag1 = 1;
				}
			}
		}
		flag1 = 0;

		//计算机随机出的
		srand(time(NULL)); 
		a = (int)rand()%3;
		if(a==0) ch2='B';
		else if(a==1) ch2='S';
		else if(a==2) ch2='J';
	
		printf("计算机:%c",ch2);

		//结果
		if(ch1 == 'B'&&ch2 == 'B')
		{
			printf("\n\n-----------\n");
			printf("\n战平!!\n");
			printf("退出比赛请按数字键0,按任意键进入下一回合-----");
			++e;
		}
		if(ch1 == 'B'&&ch2 == 'J')
		{
			printf("\n\n-----------\n");
			printf("\n计算机 赢!!\n");
			printf("退出比赛请按数字键0,按任意键进入下一回合-----");
			++d;
		}
		if(ch1 == 'B'&&ch2 == 'S')
		{
			printf("\n\n-----------\n");
			printf("%s 赢!!\n",name);
			printf("退出比赛请按数字键0,按任意键进入下一回合-----");
			++c;
		}
		if(ch1 == 'J'&&ch2 == 'B')
		{
			printf("\n\n-----------\n");
			printf("\n%s 赢!!\n",name);
			printf("退出比赛请按数字键0,按任意键进入下一回合-----");
			++c;
		}
		if(ch1 == 'J'&&ch2 == 'J')
		{
			printf("\n\n-----------\n");
			printf("\n战平!!\n");
			printf("退出比赛请按数字键0,按任意键进入下一回合-----");
			++e;
		}
		if(ch1 == 'J'&&ch2 == 'S')
		{
			printf("\n\n-----------\n");
			printf("\n计算机 赢!!\n");
			printf("退出比赛请按数字键0,按任意键进入下一回合-----");
			++d;
		}
		if(ch1 == 'S'&&ch2 == 'B')
		{
			printf("\n\n-----------\n");
			printf("\n计算机 赢!!\n");
			printf("退出比赛请按数字键0,按任意键进入下一回合-----");
			++d;
		}
		if(ch1 == 'S'&&ch2 == 'J')
		{
			printf("\n\n-----------\n");
			printf("\n%s 赢!!\n",name);
			printf("退出比赛请按数字键0,按任意键进入下一回合-----");
			++c;
		}
		if(ch1 == 'S'&&ch2 == 'S')
		{
			printf("\n\n-----------\n");
			printf("\n战平!!\n");
			printf("退出比赛请按数字键0,按任意键进入下一回合-----");
			++e;
		}
		if(getch()!='0')
		{
			system("CLS");
			++b;
		}
		else
		{
			flag2 = 1;
		}
	}
	
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -