Skip to content

Instantly share code, notes, and snippets.

@brunoalano
Created March 5, 2012 23:57
Show Gist options
  • Save brunoalano/1982214 to your computer and use it in GitHub Desktop.
Save brunoalano/1982214 to your computer and use it in GitHub Desktop.
/*
| -----------------------------------------------------------------------------
| 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