Hola, no me ejecuta el printf, compile y esta bien pero no me lo ejecuta. aqui esta
#include<stdio.h>
#include<string.h>
int main()
{
char periodo[50];
char pintor[50];
char nacion[50];
printf("Ingrese periodo: ");
scanf("%s", periodo);
if ((strcmp (periodo, "Prehistorico")==0) || (strcmp(periodo, "egipcio")==0)){
printf("Galeria 1 \n");
}
else if ((strcmp(periodo, "renacimiento")==0)){
printf("Ingrese nombre del pintor: ");
scanf("%s", pintor);
}
else if ((strcmp (pintor, "Leonardo")==0) || (strcmp(pintor, "Michelangelo")==0)){
printf ("Galeria 2 \n");
}
else if (strcmp(pintor, "Rafael")==0){
printf ("Galeria 3");
}
else if ((strcmp (pintor, "Tiziano")==0) || (strcmp(pintor, "Boticelli")==0)){
printf("Galeria 4");
}
else if ((strcmp (pintor, "Greco")==0) || (strcmp(pintor, "Tintoretto")==0)){
printf("Galeria 5a");
}
else if (strcmp(pintor, "Bellini")==0){
printf("Galeria 5b");
}
else {
printf("No hay obras de este pintor");
}
return 0;
}
Haz un pantallazo de cuando te falla.
Osea el programa me dice:
Inserte periodo: (si pongo "egipcio" me aparece "galeria 1" eso esta bien, pero si pongo "renacimiento" me aparece "Ingrese pintor: " eso esta bien) el problema es despues, cuando me pide que ingrese el pintor, lo ingreso y tendria que aparecerme la galeria en la que esta pero no me aparece nada..
eso es porque solo capturas el nombre del pintor pero no le dices que hacer con el despues
#include<stdio.h>
#include<string.h>
int main(){
char periodo[50];
char pintor[50];
char nacion[50];
printf("Ingrese periodo: ");
scanf("%s", periodo);
if ((strcmp (periodo, "Prehistorico")==0) || (strcmp(periodo, "egipcio")==0)){
printf("Galeria 1 \n");
}else if ((strcmp(periodo, "renacimiento")==0)){
printf("Ingrese nombre del pintor: ");
scanf("%s", pintor);
/*a qui solo capturas el nombre despues de capturarlo sale de todos los else if
sin pasar por ningun otro*/
}else if ((strcmp (pintor, "Leonardo")==0) || (strcmp(pintor, "Michelangelo")==0)){
printf ("Galeria 2 \n");
}else if (strcmp(pintor, "Rafael")==0){
printf ("Galeria 3");
}else if ((strcmp (pintor, "Tiziano")==0) || (strcmp(pintor, "Boticelli")==0)){
printf("Galeria 4");
}else if ((strcmp (pintor, "Greco")==0) || (strcmp(pintor, "Tintoretto")==0)){
printf("Galeria 5a");
}else if (strcmp(pintor, "Bellini")==0){
printf("Galeria 5b");
}else {
printf("No hay obras de este pintor");
}
return 0;
}
Correcto. El else que hay justo después hace que continúe la cadena de ifs en vez de iniciar una nueva toma de decisiones.
Muchas gracias ahi funciona