Created
March 5, 2012 23:57
-
-
Save brunoalano/1982214 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
| ----------------------------------------------------------------------------- | |
| Sistema de Inteligência Artificial | |
| | |
| Este é um sistema de aprendizado, onde você irá responder perguntas sobre | |
| um animal que você pensou, e isso irá formar um banco de dados. | |
| | |
| Desenvolvido por Bruno Alano Medina. | |
| http://brunoalano.com.br | |
| ----------------------------------------------------------------------------- | |
*/ | |
#include <vector> | |
#include <string> | |
#include <iostream> | |
class Animal | |
{ | |
protected: | |
std::vector< std::string > question; | |
std::vector< bool > answer; | |
std::string animalName; | |
bool liveInWater; | |
public: | |
/** | |
* Funções básicas da classe | |
*/ | |
void __addProperty ( std::string question, bool answer ) | |
{ | |
// Add the question to the animal | |
this->question.push_back( question ); | |
// Add the value to the current question | |
this->answer.push_back( answer ); | |
} | |
bool __getProperty ( int questionRow ) | |
{ | |
return this->answer[ questionRow ]; | |
} | |
bool __liveInWater ( void ) | |
{ | |
return this->liveInWater; | |
} | |
/** | |
* Construtor de um novo animal | |
* | |
* Criamos um novo animal, recebendo dados como nome e | |
* algumas propriedades básicas | |
*/ | |
Animal ( std::string animalName, bool liveInWater = false ) | |
{ | |
this->animalName = animalName; | |
this->liveInWater = liveInWater; | |
} | |
}; | |
int main ( void ) | |
{ | |
/* | |
* É necessário um vetor de animais, para sempre sabermos | |
* qual é o último animal adicionado, e saber sem utilizar | |
* um laço de repetição a quantidade de animais | |
* que estão no banco de dados na memória | |
*/ | |
std::vector< Animal > dbAnimais; | |
/* | |
| ------------------------------------------------------------------------- | |
| Adicionamos os animais padrão do sistema | |
| | |
| Tubarão e Macaco | |
| ------------------------------------------------------------------------- | |
*/ | |
dbAnimais.push_back( Animal("Tubarao", true ) ); | |
dbAnimais.push_back( Animal("Macaco", false ) ); | |
/* | |
| ------------------------------------------------------------------------- | |
| Fazemos as primeiras perguntas, sendo que só possuímos os animais | |
| básicos no banco de dados. | |
| | |
| Como pergunta padrão, a primeira deverá ser se o animal vive na água, | |
| caso o usuário responda positivamente, iremos dizer que é um tuburão, | |
| caso não for, ele irá falar qual animal é e responder qual a diferença | |
| entre um tuburão e o animal escolhido. Deste modo, iremos formular | |
| novas perguntas. | |
| ------------------------------------------------------------------------- | |
*/ | |
bool answer = 0; | |
std::cout << "Seu animal vive na agua? [1 = Verdadeiro/ 0 = Falso]" << std::endl; | |
std::cin >> answer; | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment