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

📄 ai.cpp

📁 一个用于动物识别的产生式系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	if(c[5])
	{
		cout << "该动物可能是鸵鸟" << endl;
		fout << "该动物可能是鸵鸟" << endl;
	}
	if(c[6])
	{
		cout << "该动物可能是企鹅" << endl;
		fout << "该动物可能是企鹅" << endl;
	} 
	if(c[7])
	{
		cout << "该动物可能是信天翁" << endl;
		fout << "该动物可能是信天翁" << endl;
	}
	if(!(c[1] || c[2] || c[3] || c[4] || c[5] || c[6] || c[7])) 
	{
		cout << "已知条件太少,无法判断是哪种动物。" << endl;
		fout << "已知条件太少,无法判断是哪种动物。" << endl;
	}
}

void mark()							//标记使用的特征条件
{
	if(a[1]==1)
	{
		b[1]=1;						//标记成立的结果
		r[1]=1;						//标记正在使用的规则
	}
	if(a[2]==1)
	{
		b[1]=1;
		r[2]=1;
	}
	if(a[3]==1)
	{
		b[2]=1;
		r[3]=1;
	}
	if(a[4]==1 && a[5]==1)
	{
		b[2]=1;
		r[4]=1;
	}
	if(a[6]==1)
	{
		b[3]=1;
		r[5]=1;
	}
	if(a[7]==1 && a[8]==1 && a[9]==1)
	{
		b[3]=1;
		r[6]=1;
	}
	if(b[1]==1 && a[10]==1)
	{
		b[4]=1;
		r[7]=1;
	}
	if(b[1]==1 && a[11]==1)
	{
		b[4]=1;
		r[8]=1;
	}
	if(b[1]==1 && b[3]==1 && a[12]==1 && a[13]==1)
	{
		c[1]=1;
		r[9]=1;
	}
	if(b[1]==1 && b[3]==1 && a[12]==1 && a[14]==1)
	{
		c[2]=1;
		r[10]=1;
	}
	if(b[4]==1 && a[15]==1 && a[16]==1 && a[13])
	{
		c[3]=1;
		r[11]=1;
	}
	if(b[4] && a[14])
	{
		c[4]=1;
		r[12]=1;
	}
	if(b[2] && a[15] && a[16] && a[17])
	{
		c[5]=1;
		r[13]=1;
	}
	if(b[2] && a[17] && a[18] && a[19])
	{
		c[6]=1;
		r[14]=1;
	}
	if(b[2] && a[20])
	{
		c[7]=1;
		r[15]=1;
	}
}

void sure()								//确认所选条件是否为所需要的
{
	n=0;
	cout << endl;
	fout << endl;
	cout << "您所选择的条件为:" << endl;
	fout << "您所选择的条件为:" << endl;
	for (i=1; i<=20; i++)
	{
		if(a[i]==1)
		{
			n++;						//记录选择了几个特征
			switch(i)
			{
				cout << setiosflags(ios::right); 
				fout << setiosflags(ios::right); 
				case 1: cout << "有毛发  " << setw(10);
						fout << "有毛发  " << setw(10);
						break;
				case 2: cout << "有奶   " << setw(10);
						fout << "有奶   " << setw(10);
						break;
				case 3: cout << "有羽毛  " << setw(10);	
						fout << "有羽毛  " << setw(10);
						break;
				case 4: cout << "会飞   " << setw(10);
						fout << "会飞   " << setw(10);
						break;
				case 5: cout << "会下蛋  " << setw(10);	
						fout << "会下蛋  " << setw(10);	
						break;
				case 6: cout << "吃肉   " << setw(10);	
						fout << "吃肉   " << setw(10);	
						break;
				case 7: cout << "有犬齿  " << setw(10);
						fout << "有犬齿  " << setw(10);
						break;
				case 8: cout << "有爪   " << setw(10);
						fout << "有爪   " << setw(10);
						break;
				case 9: cout << "眼盯前方 " << setw(10);
						fout << "眼盯前方 " << setw(10);
						break;
				case 10: cout << "有蹄   " << setw(10);	
						 fout << "有蹄   " << setw(10);	
						 break;
				case 11: cout << "嚼反刍  " << setw(10);		
						 fout << "嚼反刍  " << setw(10);	
						 break;
				case 12: cout << "黄褐色  " << setw(10);	
						 fout << "黄褐色  " << setw(10);
						 break;
				case 13: cout << "暗斑点  " << setw(10);
						 fout << "暗斑点  " << setw(10);
						 break;
				case 14: cout << "黑色条纹 " << setw(10);	
						 fout << "黑色条纹 " << setw(10);
						 break;
				case 15: cout << "长脖子  " << setw(10);	
						 fout << "长脖子  " << setw(10);	
						 break;
				case 16: cout << "长腿   " << setw(10); 
						 fout << "长腿   " << setw(10); 
						 break;
				case 17: cout << "不会飞  " << setw(10); 
						 fout << "不会飞  " << setw(10);
						 break;
				case 18: cout << "会游泳  " << setw(10); 
						 fout << "会游泳  " << setw(10); 
						 break;
				case 19: cout << "黑白二色 " << setw(10);	
						 fout << "黑白二色 " << setw(10);	
						 break;
				case 20: cout << "善飞   " << setw(10);	
						 fout << "善飞   " << setw(10);	
					 	 break;
				default: break;
			}
		}
	}
	if(!n)
	{
		cout << "您没有选择任意一种特征";
		fout << "您没有选择任意一种特征";
	}
	cout << endl << "确认请按y,重新输入请按r,退出请按任意键:";
	fout << endl << "确认请按y,重新输入请按r,退出请按任意键:";
	j=getchar();
	getchar();
	switch(j)
	{
		case 'y': mark(); output(); break;
		case 'r': reset(); input(); sure(); break; 
		default: cout << "系统即将关闭" << endl;
				 fout << "系统即将关闭" << endl;
				 break;
	}
}

void main()
{
	fout.open("Out.txt",ios::out);
	list();
	reset();
	input();
	sure();
	cout << endl << "请输入任意键退出";
	getchar();
	fout.close();
}

⌨️ 快捷键说明

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