CURSO DE C++ / CLASE 14

// HABLAR CON LA COMPU. IA VER. 1
#include <iostream>

using namespace std;

string entrada;

int main()
{
	cout << "? ";
	cin >> entrada;
	if(entrada == "hola") // buscamos la palabra "hola".
	{
		cout << endl << "Hola amigo!" << endl;
	}
	return 0;
}

// HABLAR CON LA COMPU. CONVERTIMOS TEXTO A MAYÚSCULAS IA VER. 2
#include <iostream>

using namespace std;

string entrada;
int largo;

int main()
{
    cout << "? ";
    cin >> entrada;
    // Transformamos la entrada a mayúsculas.
    
    largo = entrada.size(); // Primero contamos la cantidad de caracteres que tiene nuestra variable entrada.
    
    // La variable letra hará que nuestra función toupper case se ejecute tantas veces como el largo de nuestro texto.
    
    for (int letra = 0; letra < largo; ++letra)
    	{   
		// Guardamos en la variable de texto una a una de las letras ahora en mayúscula con la función toupper().
		entrada[letra] = toupper(entrada[letra]); 
		}
    
    // Ahora sí analizamos las palabras todas en mayúsculas.
         
    if(entrada == "HOLA") // buscamos la palabra "HOLA".
    {
        cout << endl << "Hola amigo!" << endl;
    }
    if(entrada == "CHAU") // buscamos la palabra "CHAU".
    {
        cout << endl << "Adios amigo!" << endl;
    }
    return 0;
}
// HABLAR CON LA COMPU. CONVERTIMOS TEXTO A MINÚSCULAS IA VER. 3
#include <iostream>

using namespace std;

string entrada;
int largo;

int main()
{
    cout << "? ";
    cin >> entrada;
    // Transformamos la entrada a minúsculas.
    
    largo = entrada.size(); // Primero contamos la cantidad de caracteres que tiene nuestra variable entrada.
    
    // La variable letra hará que nuestra función tolower case se ejecute tantas veces como el largo de nuestro texto.
    
    for (int letra = 0; letra < largo; ++letra)
    	{   
		// Guardamos en la variable de texto una a una de las letras ahora en minúscula con la función tolower().
		entrada[letra] = tolower(entrada[letra]); 
		}
    
    // Ahora sí analizamos las palabras todas en minúsculas.
         
    if(entrada == "hola") // buscamos la palabra "hola".
    {
        cout << endl << "Hola amigo!" << endl;
    }
    if(entrada == "chau") // buscamos la palabra "chau".
    {
        cout << endl << "Adios amigo!" << endl;
    }
    return 0;
}
// HABLAR CON LA COMPU. UTILIZAMOS SUBCADENAS. IA VER. 4
#include <iostream>

using namespace std;

string entrada;
string subcadena;
int largo;

int main()
{
    cout << "? ";
    getline(cin,entrada);
    // Transformamos la entrada a minúsculas.
    
    largo = entrada.size(); // Primero contamos la cantidad de caracteres que tiene nuestra variable entrada.
    
    // La variable letra hará que nuestra función toupper case se ejecute tantas veces como el largo de nuestro texto.
    
    for (int letra = 0; letra < largo; ++letra)
    	{   
		// Guardamos en la variable de texto una a una de las letras ahora en minúscula con la función tolower().
		entrada[letra] = tolower(entrada[letra]); 
		}
    
	// Vamos a cortar en trocitos a la entrada.
	
		for(int i = 0; i <= largo; i++)
		{
			for(int o=0; o <= largo; o++)
			{
			subcadena=entrada.substr(i, o);
			//cout << subcadena << endl;   // Esto muestra como corta la entrada en pedazos más chicos. 
		
			// Ahora sí analizamos las palabras todas en minúsculas.
         
			if(subcadena == "hola") // buscamos la palabra "hola".
			{
				cout << endl << "Hola amigo!" << endl;
			}
			if(subcadena == "chau") // buscamos la palabra "chau".
			{
				cout << endl << "Adios amigo!" << endl;
			}
		}
	}
    return 0;
}
// HABLAR CON LA COMPU. AISLAMOS PALABRAS CON ESPACIOS Y BUSCAMOS DOS COINCIDENCIAS PARA UNA SOLA RESPUESTA.
// IA VER. 5
#include <iostream>

using namespace std;

string entrada;
string subcadena;
int largo;

int main()
{
    cout << "? ";
    getline(cin,entrada);
    // Transformamos la entrada a minúsculas.
    
    largo = entrada.size(); // Primero contamos la cantidad de caracteres que tiene nuestra variable entrada.
    
    // La variable letra hará que nuestra función toupper case se ejecute tantas veces como el largo de nuestro texto.
    
    for (int letra = 0; letra < largo; ++letra)
        {   
        // Guardamos en la variable de texto una a una de las letras ahora en minúscula con la función tolower().
        entrada[letra] = tolower(entrada[letra]); 
        }
    
    // Sumamos un espacio al principio y al final de la entrada.
    
    entrada = " " + entrada + " ";
    
    largo = entrada.size(); // Volvemos a calcular el largo de la entrada.
    
    // Vamos a cortar en trocitos a la entrada.
    
        for(int i = 0; i <= largo; i++)
        {
            for(int o=0; o <= largo; o++)
            {
            subcadena=entrada.substr(i, o);
            //cout << subcadena << endl;   // Esto muestra como corta la entrada en pedazos más chicos. 
        
            // Ahora sí analizamos las palabras todas en minúsculas.
         
            if(subcadena == " hola ") // buscamos la palabra "hola".
            {
                cout << endl << "Hola amigo!" << endl;
                break;
            }
            if(subcadena == " chau ") // buscamos la palabra "chau".
            {
                cout << endl << "Adios amigo!" << endl;
				break;
            }
                        if(subcadena == " te llamas" || subcadena == " tu nombre") // buscamos dos coincidencias para una sola respuesta.
            {
                cout << endl << "Mi nombre es IMA, la Inteligencia Moderna Artificial." << endl;
				break;
            }
        }
    }
    return 0;
}