Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problema calculadora

Estas en el tema de Problema calculadora en el foro de C/C++ en Foros del Web. Hola, estoy intentando desarrollar una calculadora, simple, solo por entretenimiento,pero me da algunos errores [highlitght=c]#include <stdio.h> #include <stdlib.h> void suma ( int x, int y) ...
  #1 (permalink)  
Antiguo 27/01/2011, 13:58
Avatar de rodrjrc  
Fecha de Ingreso: enero-2011
Mensajes: 11
Antigüedad: 13 años, 3 meses
Puntos: 1
Problema calculadora

Hola, estoy intentando desarrollar una calculadora, simple, solo por entretenimiento,pero me da algunos errores

[highlitght=c]#include <stdio.h>
#include <stdlib.h>

void suma ( int x, int y) /* operacion suma */
{
int resultado;

resultado = x + y;
printf ("El resultado es: %d\n", resultado);
}

void resta ( int x, int y) /*operacion resta */
{
int resultado;

resultado = x - y;
printf ("El resultado es: %d\n", resultado);
}

void division ( int x, int y) /* operacion division */
{
float resultado;
float a;
float b;

x = a;
y = b;


resultado = a / b;
printf ("El resultado es: %.2f\n", resultado);
}

void multiplicacion ( int x, int y) /* operacion multiplicacion */
{
int resultado;

resultado = x * y;
printf ("El resultado es: %d\n", resultado);
}




int main()
{
int num1; /* declaracion de variables */
int num2;
int operacion;


printf ("Introduzca el 1er valor: "); /* usuario introduce valores */
scanf ("%d", &num1);

printf ("Introduzca el 2do valor: ");
scanf ("%d", &num2);

printf ("Introduzca 1 si quiere sumar \n");
printf ("Introduzca 2 si quiere restar \n");
printf ("Introduzca 3 si quiere multiplicar \n");
printf ("Introduzca 4 si quiere dividir \n");

scanf ( "%d", &operacion);


switch (operacion){ /* selecciona la operacion */
case 1:
suma ( num1, num2);
break;
case 2:
resta (num1, num2);
break;
case 3:
multiplicacion (num1, num2);
break;
case 4:
division (num1, num2);
break;
}


system("PAUSE");
return 0;
}[/highlight]

El problema es que hago una división por ejemplo, 25/4 y me da de resultado 6.000 y no 6.25.

Muchas gracias
  #2 (permalink)  
Antiguo 27/01/2011, 15:23
 
Fecha de Ingreso: enero-2008
Mensajes: 229
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Problema calculadora

void division ( int x, int y) /* operacion division */
{
float resultado;
float a;
float b;

x = a;
y = b;

resultado = a / b;
printf ("El resultado es: %.2f\n", resultado);
}

x=a es correcto, o sería mas correcto a=x???
  #3 (permalink)  
Antiguo 27/01/2011, 15:44
Avatar de rodrjrc  
Fecha de Ingreso: enero-2011
Mensajes: 11
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: Problema calculadora

Cita:
Iniciado por margarito04 Ver Mensaje
void division ( int x, int y) /* operacion division */
{
float resultado;
float a;
float b;

x = a;
y = b;

resultado = a / b;
printf ("El resultado es: %.2f\n", resultado);
}

x=a es correcto, o sería mas correcto a=x???
Graciaaas
  #4 (permalink)  
Antiguo 27/01/2011, 17:03
 
Fecha de Ingreso: enero-2011
Mensajes: 5
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Problema calculadora

te aconsejo el uso en vez de funciones void funciones int o double y que hagas el return
de los resultados y en el main hagas la salida de datos .
  #5 (permalink)  
Antiguo 28/01/2011, 11:11
Avatar de rodrjrc  
Fecha de Ingreso: enero-2011
Mensajes: 11
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: Problema calculadora

Cita:
Iniciado por navas_1988 Ver Mensaje
te aconsejo el uso en vez de funciones void funciones int o double y que hagas el return
de los resultados y en el main hagas la salida de datos .
En que cambiaría el programa o en que me beneficiaría?
  #6 (permalink)  
Antiguo 29/01/2011, 10:58
 
Fecha de Ingreso: enero-2011
Mensajes: 5
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Problema calculadora

void division ( int x, int y) /* operacion division */
{
float resultado;
float a;
float b;

x = a;
y = b;


resultado = a / b;
printf ("El resultado es: %.2f\n", resultado);
}

este es tu codigo yo lo que aria seria en vez de hacer
void division (int x , int y )
aria: float division (int x , int y)
y aria un return de resultado

Etiquetas: calculadora
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:32.