Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: JosebaliX en 15 Agosto 2014, 15:04 pm



Título: [Solucionado] Problema al crear Calculadora
Publicado por: JosebaliX en 15 Agosto 2014, 15:04 pm
Lo primero, soy novato en esto, solo llevo 2 días en esto y no tengo mucha idea...

Bueno, he hecho esto, pero tengo un problema y es que escoja lo que escoja, me lo suma :S

Y la verdad es que no se que le pasa.

Si pudierais ayudarme...

#include <stdio.h>

int main () {
   int x, i, y;
   
   printf ("CALCULADORA\n\n");
   system ("pause");
   
   printf ("\n\nEscriba un numero: ");
   scanf ("%i",&x);
   
   
   printf ("\n\nEscriba el simbolo matematico para realizar la operacion: ");
   printf("\n\n1 = Sumar / 2 = Restar / 3 = Multiplicar / Dividir = 4 / : ");
   scanf("%f", &y);
   
   
   printf ("\n\nEscriba otro numero: ");
   scanf ("%i",&i);
   
   printf ("\n\n");
   
   system ("pause");
   
   if (y = 1) {
      
      printf ("\n\nEl resuldado es: %i.\n\n",x+i);
   
   } else if (y = 2) {
      
      printf ("\n\nEl resuldado es: %i.\n\n",x-i);
   
   } else if (y = 3) {
      
      printf ("\n\nEl resuldado es: %i.\n\n",x*i);
   
   } else if (y = 4) {
      
      printf ("\n\nEl resuldado es: %i.\n\n",x/i);
   
   } else {
      
      printf ("\n\nEl simbolo matematico es incorrecto.\n\n");
   }
   
   printf ("\n\n");
   
   system ("pause");
   return 0;
}
   

PD: Si esta muy mal no os riáis de mi please :)

GRACIAS :D


Título: Re: Problema al crear Calculadora
Publicado por: ivancea96 en 15 Agosto 2014, 15:24 pm
"if(y=1)"
El operador '=' es de asignación. Si quieres comparar, es '=='.


PD: Recuerda poner las etiquetas GeSHi para los códigos.

Quedaría así:
Código
  1. if(y==1){}


Título: Re: Problema al crear Calculadora
Publicado por: JosebaliX en 15 Agosto 2014, 15:33 pm
"if(y=1)"
El operador '=' es de asignación. Si quieres comparar, es '=='.


PD: Recuerda poner las etiquetas GeSHi para los códigos.

Quedaría así:
Código
  1. if(y==1){}

Al poner eso me sale; El simbolo matematico es eincorrecto, es decir me lleva a:

else {
      
      printf ("\n\nEl simbolo matematico es incorrecto.\n\n");
   }

Y no se porque, ya que si pongo un numero del 1 al 4

:S


Título: Re: Problema al crear Calculadora
Publicado por: JosebaliX en 15 Agosto 2014, 15:33 pm
Al poner eso me sale; El simbolo matematico es incorrecto, es decir me lleva a:

else {
      
      printf ("\n\nEl simbolo matematico es incorrecto.\n\n");
   }

Y no se porque, ya que si pongo un numero del 1 al 4

:S


Título: Re: Problema al crear Calculadora
Publicado por: ivancea96 en 15 Agosto 2014, 15:36 pm
Pusiste el "==" en todos no? Pon el código de nuevo a ver qué puede ser.


Título: Re: Problema al crear Calculadora
Publicado por: JosebaliX en 15 Agosto 2014, 15:37 pm
Pusiste el "==" en todos no? Pon el código de nuevo a ver qué puede ser.

Si, mira:

#include <stdio.h>

int main () {
   int x, i, y;
   
   printf ("CALCULADORA\n\n");
   system ("pause");
   
   printf ("\n\nEscriba un numero: ");
   scanf ("%i",&x);
   
   
   printf ("\n\nEscriba el simbolo matematico para realizar la operacion: ");
   printf("\n\n1 = Sumar / 2 = Restar / 3 = Multiplicar / Dividir = 4 / : ");
   scanf("%f", &y);
   
   
   printf ("\n\nEscriba otro numero: ");
   scanf ("%i",&i);
   
   printf ("\n\n");
   
   system ("pause");
   
   if (y == 1) {
      
      printf ("\n\nEl resuldado es: %i.\n\n",x+i);
   
   } else if (y == 2) {
      
      printf ("\n\nEl resuldado es: %i.\n\n",x-i);
   
   } else if (y == 3) {
      
      printf ("\n\nEl resuldado es: %i.\n\n",x*i);
   
   } else if (y == 4) {
      
      printf ("\n\nEl resuldado es: %i.\n\n",x/i);
   
   } else {
      
      printf ("\n\nEl simbolo matematico es incorrecto.\n\n");
   }
   
   printf ("\n\n");
   
   system ("pause");
   return 0;
}


Título: Re: Problema al crear Calculadora
Publicado por: ivancea96 en 15 Agosto 2014, 15:42 pm
Las etiquetas GeSHi, ponlas en el código.

Pusiste "scanf("%f", &y);". %f es para float. "%i" es para enteros. Pon %i.


Título: Re: Problema al crear Calculadora
Publicado por: JosebaliX en 15 Agosto 2014, 15:45 pm
Las etiquetas GeSHi, ponlas en el código.

Pusiste "scanf("%f", &y);". %f es para float. "%i" es para enteros. Pon %i.

Es verdad xD Menudo fallo mas... Si, es que primero estuve trasteando con los float y al parecer se me olvido cambiarlo xDD.

MUCHAS GRACIAS
:D