Ayuda en C [Basico]

Iniciado por OlebN, 12 Julio 2014, 19:52 PM

0 Miembros y 1 Visitante están viendo este tema.

OlebN

Intentaré explicarme lo mejor posible estoy iniciando en esto de la programación y necesito de su ayuda

Estoy elaborando un código y quisiera hacer lo siguiente:

Quiero que en un scanf("%s") te valide o invalide lo que coloquen, por ejemplo... Quiero que solamente puedan colocar "avion, elefante, carro" sino que le de invalido.. Intente hacerlo de la siguiente manera:

scanf("%s", palabra);
if(palabra = avion)
printf("Palabra %s", palabra);
else if(palabra = elefante)
printf("Palabra %s", palabra);
else if(palabra = carro)
printf("Palabra %s", palabra);
else
printf("Nombre invalido, tenga cuidado con las mayusculas y minusculas");


Pero me tira errores en las condiciones de los if me dice que no existen ''elefante'' (por ejemplo), intenté definirlas con char y me tira estos errores al compilar:

alineacion.c:257:12: error: tipos incompatible en la asignación al tipo 'char[255]' del tipo 'char'
alineacion.c:259:17: error: tipos incompatible en la asignación al tipo 'char[255]' del tipo 'char'
alineacion.c:261:17: error: tipos incompatible en la asignación al tipo 'char[255]' del tipo 'char'

Agradecería su ayuda, disculpen las molestias

Stakewinner00

#1
Primero, las comparación son con "==" no con un solo "=" sino dos.
Para comparar las palabras podrías usar strcmp como en este ejemplo de tu code
Código (cpp) [Seleccionar]
scanf("%s", palabra);
    if(strcmp(palabra, "avion") == 0)
    printf("Palabra %s", palabra);

OlebN

Muchisimas gracias.

Tema solucionado  :)