Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

ayuda a que corra este programa en C

1000jp

Becerro
Desde
26 Ago 2009
Mensajes
30
#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)
 
no te entiendo que quiieres decir pero explicate bien de maneras mas lenta por fa asi nadie al menos yo no te entiendo
 
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!
 
Oops Pequeño error deberia ser

if(strcmp(nombre, "pinocho") == 0)

strcmp regresa 0 cuando son iguales :P
 
#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
 
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
 
Volver
Arriba