ayuda a que corra este programa en C

#1
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
main()
{

char nombre[30];
printf ("Quien es el mas tonto del salon?");
scanf("%s", nombre);
if(nombre == pinocho){
printf("asi es pinocho es muy tontito");
}
else
{
printf("te voy a dar una pista empieza con pi y termina con nocho");
}
getch ();
}

lo que resalto es lo que no se hacer bien la comparacion de meter otro nombre que no sea pinocho o que sea pinocho y de esos desplegados de pantalla es muy sencillo pero no puedo y es un ejercicio de clases (ya investige y no logro entender)
 

StuxNet

Bovino Milenario
#2
no te entiendo que quiieres decir pero explicate bien de maneras mas lenta por fa asi nadie al menos yo no te entiendo
 
#3
if(nombre == pinocho)
nombre es un arreglo de chars, el compilador cree que pinocho es una variable, para ser una cadena deberia ser "pinocho", ahora, no puedes comparar usando == una cadena de caracteres, usar strcmp(cadena1, cadena); esta instruccion te regresa 0 si las cadenas son diferentes

if(strcmp(nombre, "pinocho"))

esa seria la comparacion correcta, por cierto necesitas incluir #include<string.h>

Saludos!
 

Teseo2099

Bovino Milenario
#7
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
main()
{

char nombre[30];
printf ("Quien es el mas tonto del salon?");
scanf("%s", nombre);
if(nombre == pinocho){
printf("asi es pinocho es muy tontito");
}
else
{
printf("te voy a dar una pista empieza con pi y termina con nocho");
}
getch ();
}

lo que resalto es lo que no se hacer bien la comparacion de meter otro nombre que no sea pinocho o que sea pinocho y de esos desplegados de pantalla es muy sencillo pero no puedo y es un ejercicio de clases (ya investige y no logro entender)
QUe raro pero si hasta tu mismo te estas respondiendo, pues marcaste de rojo donde esta el error.
La variable 'nombre' imagino que es de tipo string y por lo tanto deberia llevar " " todo lo que intentes comparar.

Dale 1 checada y nos dices que onda sale.
Salu2
 
#8
En C no existe el tipo de dato String y no puedes comparar dos cadenas con ==
existe una función strcmp que recibe como parámetro dos cadenas y regresa 0 cuando son iguales. cambia tu if por:
if(!strcmp(nombre,"pinocho"))
y funciona, ya lo probé :D
 
Arriba