Lo que quiero es que ejecute una acción si las letras introducidas por teclado (qw) coinciden con las especificadas en el if.
Podría hacer un arreglo de 3 caracteres que almacenara "qw" y compararlo con "palabra" pero voy a incluir muchísimas combinaciones de letras y tendría que declarar muchísimos arreglos, con este código me ahorraría cientos de lineas y el código sería más legible pero en la linea del "if" me da el error:
Citar
ISO C++ forbids comparison between pointer and integer
También me salta un warning pero, ¿creo que solo me avisa de que estoy comparando una variable con una constante no?
Citar
multi-character character constant
Código
#include <iostream> char palabra[20]; int main() { std::cout << "introduce letras"; std::cin >> palabra; if (palabra == 'qw') {std::cout <<"\nHola mundo";} getchar(); getchar(); return 0;}
Aquí el código comentado:
Código
#include <iostream> //Incluir biblioteca entrada salida. char palabra[20]; //Cadena de caracteres global. int main() { //Funcion principal. std::cout << "introduce letras"; //Muestra el texto. std::cin >> palabra;//Recoge texto del teclado y se lo asigna a "palabra". if (palabra == 'qw') //Si se introdujo por teclado "qw" {std::cout <<"\nHola mundo";} //muestra el texto. getchar(); //No cierra hasta que se pulse enter. getchar(); //No cierra hasta que se pulse enter. return 0;} //Devuelve 0 a la funcion.
PD: Poniéndolo así soluciono el warning:
Código
Pero me sigue dando el mismo error.
if (palabra[20] == "qw")