Título: Me imprime: El mayor es 59, el menor es 2, en 1er menu no se porque, ayuda
Publicado por: Nicoloreido en 18 Febrero 2015, 01:47 am
#include <stdio.h> #include <stdlib.h>
int main (){ int menu,opcion,a,b,x,y,z=0; printf ("Seleccione el cero (0) para el primer menu\n "); printf ("Seleccione el seis (6) para el segundo menu\n\n "); printf ("0-Primer Menu\n\n6-Segundo Menu\n\n"); scanf ("%d",&menu); if (menu==0) { printf ("\nHA SELECCIONADO EL PRIMER MENU\n\n "); printf ("Seleccione el numero de la operacion que quiere hacer\n\n "); printf ("Ejemplo: Si selecciona el uno (1) los dos valors que escriba se van a sumar\n\n "); printf ("Menu de Opciones\n\n 1-Suma \n 2-Resta \n 3-Multiplicacion \n 4-Division\n "); printf ("\nSeleccione Una Opcion\n\n "); scanf ("%d",&opcion);
}
if (opcion==1){
printf ("\nHa Seleccionado Suma\n\n "); printf ("Escribe el primer valor "); scanf ("%d",&x); printf ("Escribe el segundo valor "); scanf ("%d",&y); z= x+y; printf ("\n%d + %d = %d ",x,y,z); }
else if (opcion==2){ printf ("\nHa Seleccionado Resta\n\n "); printf ("Escribe el primer valor "); scanf ("%d",&x); printf ("Escribe el segundo valor "); scanf ("%d",&y); z= x-y; printf ("\n%d - %d = %d ",x,y,z); }
else if (opcion==3){ printf ("\nHa Seleccionado Multiplicacion\n\n "); printf ("Escribe el primer valor "); scanf ("%d",&x); printf ("Escribe el segundo valor "); scanf ("%d",&y); z= x*y; printf ("\n%d * %d = %d ",x,y,z); }
else if (opcion==4){ printf ("\nHa Seleccionado Division\n\n "); printf ("Escribe el primer valor "); scanf ("%d",&x); printf ("Escribe el segundo valor "); scanf ("%d",&y); z= x/y; printf ("\n%d / %d = %d ",x,y,z); }
else if (menu==6){ printf ("HA SELECCIONADO EL SEGUNDO MENU\n\n "); printf ("Escriba el primer valor "); scanf ("%d",&a); printf ("Escriba el segundo valor "); scanf ("%d",&b); }
if (a>b) { printf ("\nEl Mayor es %d ",a); printf ("\nEl Menor es %d ",b); }
else if (a<b) { printf ("\n El Mayor es %d \n",b); printf ("\n El Menor es %d \n",a); }
else { printf ("\nSon Iguales \n "); }
system ("pause "); }
Título: Re: Me imprime: El mayor es 59, el menor es 2, en 1er menu no se porque, ayuda
Publicado por: engel lex en 18 Febrero 2015, 03:30 am
explica tu error con detalle, porque no entiendo...
Título: Re: Me imprime: El mayor es 59, el menor es 2, en 1er menu no se porque, ayuda
Publicado por: Nicoloreido en 18 Febrero 2015, 15:43 pm
Si corres el programa veras que si seleccionas el primer menu, sea cual sea la operación que hayas escogido, te da el resultado, pero debajo del resultado me sale: El mayor es 59, el menor es 2, no se porque, y no debería de salir
Título: Re: Me imprime: El mayor es 59, el menor es 2, en 1er menu no se porque, ayuda
Publicado por: engel lex en 18 Febrero 2015, 16:25 pm
ya... porque en prime menú cargas las variables "x", "y" y "z", pero nunca "a" y "b", y como no inicializas ninguna variable a demás de "z" la operacion muestra basura de la memoria....
Título: Re: Me imprime: El mayor es 59, el menor es 2, en 1er menu no se porque, ayuda
Publicado por: Nicoloreido en 18 Febrero 2015, 20:18 pm
Yo no se mucha programación, estoy aprendiendo y no entiendo lo que me dices, como resuelvo el problema, en español por favor ;D
Título: Re: Me imprime: El mayor es 59, el menor es 2, en 1er menu no se porque, ayuda
Publicado por: T. Collins en 18 Febrero 2015, 20:25 pm
if (a>b) { printf ("\nEl Mayor es %d ",a ); printf ("\nEl Menor es %d ",b ); } else if (a<b) { printf ("\n El Mayor es %d \n",b ); printf ("\n El Menor es %d \n",a ); } else { }
Mete esa parte del código dentro de: else if (menu==6){ }
Título: Re: Me imprime: El mayor es 59, el menor es 2, en 1er menu no se porque, ayuda
Publicado por: engel lex en 18 Febrero 2015, 20:38 pm
si no sabes de programación, como hiciste el código? :s no te dije nada raro, te dije que no estás usando bien las variables XD
te recomiendo sentarte y leer bien lo que haces y te dicen :P
Título: Re: Me imprime: El mayor es 59, el menor es 2, en 1er menu no se porque, ayuda
Publicado por: Nicoloreido en 18 Febrero 2015, 20:54 pm
Gracias, pero sigo con el mismo problema, solo que ahora pone números diferentes, y si que me he sentado, y revisado, y como dije estoy aprendiendo, aun así espero poder resolver el problema
Título: Re: Me imprime: El mayor es 59, el menor es 2, en 1er menu no se porque, ayuda
Publicado por: T. Collins en 18 Febrero 2015, 21:09 pm
#include <stdio.h> #include <stdlib.h> int main (){ int menu,opcion,a,b,x,y,z=0; printf ("Seleccione el cero (0) para el primer menu\n "); printf ("Seleccione el seis (6) para el segundo menu\n\n "); printf ("0-Primer Menu\n\n6-Segundo Menu\n\n"); if (menu==0) { printf ("\nHA SELECCIONADO EL PRIMER MENU\n\n "); printf ("Seleccione el numero de la operacion que quiere hacer\n\n "); printf ("Ejemplo: Si selecciona el uno (1) los dos valors que escriba se van a sumar\n\n "); printf ("Menu de Opciones\n\n 1-Suma \n 2-Resta \n 3-Multiplicacion \n 4-Division\n "); printf ("\nSeleccione Una Opcion\n\n "); scanf ("%d",&opcion ); } if (opcion==1){ printf ("\nHa Seleccionado Suma\n\n "); z= x+y; printf ("\n%d + %d = %d ",x ,y ,z ); } else if (opcion==2){ printf ("\nHa Seleccionado Resta\n\n "); z= x-y; printf ("\n%d - %d = %d ",x ,y ,z ); } else if (opcion==3){ printf ("\nHa Seleccionado Multiplicacion\n\n "); z= x*y; printf ("\n%d * %d = %d ",x ,y ,z ); } else if (opcion==4){ printf ("\nHa Seleccionado Division\n\n "); z= x/y; printf ("\n%d / %d = %d ",x ,y ,z ); } else if (menu==6){ printf ("HA SELECCIONADO EL SEGUNDO MENU\n\n "); if (a>b) { printf ("\nEl Mayor es %d ",a ); printf ("\nEl Menor es %d ",b ); } else if (a<b) { printf ("\n El Mayor es %d \n",b ); printf ("\n El Menor es %d \n",a ); } else { } } }
Título: Re: Me imprime: El mayor es 59, el menor es 2, en 1er menu no se porque, ayuda
Publicado por: engel lex en 18 Febrero 2015, 21:12 pm
mira tus variables int menu,opcion,a,b,x,y,z=0;
tienes 7 variables y solo "z" está inicializada (se le dio valor inicial), el resto contienen "basura" que había en esas posiciones de la ram... tu proceso lee e imprime en el primer menú del 1 al 4 "x", "y" y "z" printf ("Escribe el primer valor "); scanf ("%d",&x); printf ("Escribe el segundo valor "); scanf ("%d",&y); //----------------// printf ("\n%d + %d = %d ",x,y,z);
fijate las anidaciones (los if dentro de if) el identarlos (darle tantos espacios a la izquierda como adentro estén) ayuda a identificar el codigo... te doy el tuyo arreglado mira tu codigo #include <stdio.h> #include <stdlib.h> int main (){ int menu,opcion,a,b,x,y,z=0; printf ("Seleccione el cero (0) para el primer menu\n "); printf ("Seleccione el seis (6) para el segundo menu\n\n "); printf ("0-Primer Menu\n\n6-Segundo Menu\n\n"); scanf ("%d",&menu); if (menu==0) { printf ("\nHA SELECCIONADO EL PRIMER MENU\n\n "); printf ("Seleccione el numero de la operacion que quiere hacer\n\n "); printf ("Ejemplo: Si selecciona el uno (1) los dos valors que escriba se van a sumar\n\n "); printf ("Menu de Opciones\n\n 1-Suma \n 2-Resta \n 3-Multiplicacion \n 4-Division\n "); printf ("\nSeleccione Una Opcion\n\n "); scanf ("%d",&opcion); } if (opcion==1){ printf ("\nHa Seleccionado Suma\n\n "); printf ("Escribe el primer valor "); scanf ("%d",&x); printf ("Escribe el segundo valor "); scanf ("%d",&y); z= x+y; printf ("\n%d + %d = %d ",x,y,z); } else if (opcion==2){ printf ("\nHa Seleccionado Resta\n\n "); printf ("Escribe el primer valor "); scanf ("%d",&x); printf ("Escribe el segundo valor "); scanf ("%d",&y); z= x-y; printf ("\n%d - %d = %d ",x,y,z); } else if (opcion==3){ printf ("\nHa Seleccionado Multiplicacion\n\n "); printf ("Escribe el primer valor "); scanf ("%d",&x); printf ("Escribe el segundo valor "); scanf ("%d",&y); z= x*y; printf ("\n%d * %d = %d ",x,y,z); } else if (opcion==4){ printf ("\nHa Seleccionado Division\n\n "); printf ("Escribe el primer valor "); scanf ("%d",&x); printf ("Escribe el segundo valor "); scanf ("%d",&y); z= x/y; printf ("\n%d / %d = %d ",x,y,z); } else if (menu==6){ printf ("HA SELECCIONADO EL SEGUNDO MENU\n\n "); printf ("Escriba el primer valor "); scanf ("%d",&a); printf ("Escriba el segundo valor "); scanf ("%d",&b); } if (a>b) { printf ("\nEl Mayor es %d ",a); printf ("\nEl Menor es %d ",b); } else if (a<b) { printf ("\n El Mayor es %d \n",b); printf ("\n El Menor es %d \n",a); } else { printf ("\nSon Iguales \n "); } system ("pause "); }
desde la linea 56 debería estar dentro del opcion 6
Título: Re: Me imprime: El mayor es 59, el menor es 2, en 1er menu no se porque, ayuda
Publicado por: Nicoloreido en 19 Febrero 2015, 04:44 am
Gracias por la ayuda pero ya me pasaron los códigos, y queda así sin errores :xD: #include <stdio.h>
int main (){ int m,s,x,y,z; printf ("Seleccione el cero para Comparacion de Valores\nSeleccione el seis para Operaciones Aritmeticas\n\n"); scanf ("%d",&x); if (x==0){ printf ("HA SELECCIONADO EL PRIMER MENU\n\n"); printf ("Escriba el primer valor"); scanf ("%d",&m); printf ("Escriba el segundo valor"); scanf ("%d",&s); if (m>s) { printf( "%d Mayor que %d",m,s ); } if (s>m) {printf ("%d Mayor que %d",s,m );} if (s==m) {printf ("%d Es Igual a %d",s,m);} } if (x==6) { printf ("\nHA SELECCIONADO EL SEGUNDO MENU\n\n"); printf ("\n\n 1-Suma \n 2-Resta \n 3-Multiplicacion \n 4-Division\n"); scanf ("%d",&y); if (y==1){ printf ("\nHa Seleccionado Suma\n\n"); printf ("Escribe el primer valor"); scanf ("%d",&m); printf ("Escribe el segundo valor"); scanf ("%d",&s); z= m+s; printf ("\n%d + %d = %d",m,s,z); } if (y==2){ printf ("\nHa Seleccionado Resta\n\n"); printf ("Escribe el primer valor"); scanf ("%d",&m); printf ("Escribe el segundo valor"); scanf ("%d",&s); z= m-s; printf ("\n%d - %d = %d",m,s,z); } if (y==3){ printf ("\nHa Seleccionado Multiplicacion\n\n"); printf ("Escribe el primer valor"); scanf ("%d",&m); printf ("Escribe el segundo valor"); scanf ("%d",&s); z= m*s; printf ("\n%d * %d = %d",m,s,z); } if (y==4){ printf ("\nHa Seleccionado Division\n\n"); printf ("Escribe el primer valor"); scanf ("%d",&m); printf ("Escribe el segundo valor"); scanf ("%d",&s); z= m/s; printf ("\n%d / %d = %d",m,s,z); } } getch (); }
|