elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  calculadora en c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: calculadora en c++  (Leído 9,058 veces)
anarchy2k1

Desconectado Desconectado

Mensajes: 1



Ver Perfil
calculadora en c++
« en: 23 Marzo 2012, 05:28 am »

hola a todos tengo un problema con un programa qu me pide: Realiza un programa con funciones que simule el funcionamiento de una calculadora
suma, resta, multiplicación, división.
Recuerda que solo la primera vez pedira los dos valores y apartir de la segunda el resultado debera ser el primer operando.
el codigo que e hecho es:

Código
  1. #include <stdio.h>
  2. #include<iostream.h>
  3. #include <conio.h>
  4.  
  5. int main()
  6. {
  7. int tipo;
  8. float a,b,total;
  9. char cont='s';
  10. while (cont!='n')
  11. {
  12.  printf("Seleccione operacion a realizar\n");
  13.  printf("1. Suma\n");
  14.  printf("2. Resta\n");
  15.  printf("3. Multiplicacion\n");
  16.  printf("4. Division\n");
  17.  scanf("%d",&tipo);
  18.  switch (tipo)
  19.  {
  20. case 1:
  21. printf("Escriba los numeros que desea sumar:\n");
  22. scanf("%f""%f",&a,&b);
  23. total=a+b;
  24. printf("El resultado es: %.2f\n",total);
  25. a=0;
  26. b=0;
  27. break;
  28.  
  29. case 2:
  30. printf("Escriba los numeros que desea restar:\n");
  31. scanf("%f""%f",&a,&b);
  32. total=a-b;
  33. printf("El resultado es:%.2f\n",total);
  34. a=0;
  35. b=0;
  36. break;
  37.  
  38. case 3:
  39. printf("Escriba los numeros que desea multiplicar:\n");
  40. scanf("%f""%f",&a,&b);
  41. total=a*b;
  42. printf("El resultado es:%.2f\n",total);
  43. a=0;
  44. b=0;
  45. break;
  46.  
  47. case 4:
  48. printf("Escriba los numeros que desea dividir:\n");
  49. scanf("%f""%f",&a,&b);
  50. total=a/b;
  51.   printf("El resultado es:%.2f\n",total);
  52. a=0;
  53. b=0;
  54. break;
  55.  }
  56.  printf("Quieres hacer otra operacion:(s/n)");
  57.  scanf("%s",&cont);
  58.  printf("\n");
  59. }
  60. return 0;
  61. }
pero no se como guardar el resultado de mi primera operacion para con ese mismo hacer una segunda operacion les agradeceria su ayuda gracias


« Última modificación: 23 Marzo 2012, 16:38 pm por Eternal Idol » En línea

Ferno


Desconectado Desconectado

Mensajes: 375


Ver Perfil
Re: calculadora en c++
« Respuesta #1 en: 23 Marzo 2012, 13:50 pm »

Antes que nada, todo el código que postees debe estar dentro de las etiquetas GeShi, así es mucho más ordenado y legible para todos.

Con respecto a tu problema particular, puedes declarar una variable "ultimoResultado" de tipo float también, donde almacenes el valor del resultado y puedas usarlo en pasadas posteriores por el loop.

Aunque ahora que lo veo, puedes usar justamente la variable "total" que vos usaste.


En línea

Runex

Desconectado Desconectado

Mensajes: 192


http://tutogramacion.blogspot.com


Ver Perfil WWW
Re: calculadora en c++
« Respuesta #2 en: 24 Marzo 2012, 03:11 am »

Te aconsejo, que en vez de encapsularlo todo en un bucle, tires de funciones y pases los resultados como argumentos, te saldrá más fácil :).

Si ves que no te sale avísame y te hecho una mano :).

Un saludo :)
En línea

"No renunciaría al bambú.
Nunca renuciaría a ti.
No te compares con otros" "El me dijo:
El bambú tenía un propósito diferente al del
helecho, sin embargo eran necesarios y
hacían del bosque un lugar hermoso".
totolia

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: calculadora en c++
« Respuesta #3 en: 25 Marzo 2012, 01:02 am »

En el primer caso, es el único punto que necesitas a, en los demas a=total, entonces solo debes terminar en que casos pedirás 1 o las 2 variables:
#include <stdio.h>
#include <conio.h>
 
Código
  1. int main()
  2. {
  3. int tipo,primeravez;
  4. primeravez=0;
  5. float a,b,total;
  6. char cont='s';
  7. while (cont!='n')
  8. {
  9.  printf("Seleccione operacion a realizar\n");
  10.  printf("1. Suma\n");
  11.  printf("2. Resta\n");
  12.  printf("3. Multiplicacion\n");
  13.  printf("4. Division\n");
  14.  scanf("%d",&tipo);
  15.  switch (tipo)
  16.  {
  17. case 1:
  18. printf("Escriba los numeros que desea sumar:\n");
  19. if(!primeravez){
  20. scanf("%f""%f",&a,&b);
  21. }else{
  22. scanf("%f",&b);
  23. }
  24. total=a+b;
  25. break;
  26.  
  27. case 2:
  28. printf("Escriba los numeros que desea restar:\n");
  29. if(!primeravez){
  30. scanf("%f""%f",&a,&b);
  31. }else{
  32. scanf("%f",&b);
  33. }
  34. total=a-b;
  35. break;
  36.  
  37. case 3:
  38. printf("Escriba los numeros que desea multiplicar:\n");
  39. if(!primeravez){
  40. scanf("%f""%f",&a,&b);
  41. }else{
  42. scanf("%f",&b);
  43. }
  44. total=a*b;
  45. break;
  46.  
  47. case 4:
  48. printf("Escriba los numeros que desea dividir:\n");
  49. if(!primeravez){
  50. scanf("%f""%f",&a,&b);
  51. }else{
  52. scanf("%f",&b);
  53. }
  54. total=a/b;
  55. break;
  56.  }
  57. printf("El resultado es: %.2f\n",total);
  58. a=total;
  59. b=0;
  60. printf("Quieres hacer otra operacion:(s/n)");
  61. scanf("%s",&cont);
  62. printf("\n");
  63.  
  64. if(primeravez==0){
  65.  primeravez=1;
  66. }
  67. }
  68. return 0;
  69. }
Te aconsejo que lo hagas como dice Runex, hacer una funcionSuma(&a,&b); y devuelva el total, otra funcionResta... y que dentro tenga el printf de la pregunta y demás.
Ya que no solo a nivel visual es mejor, sino porque simplificas el código un montón.
Asi:
case 1: total=funcionSumar(&a,&b);
case 2: total=funcionRestar(&a,&b);
case 3: total=funcionMultiplicar(&a,&b);
....
case 1: total=funcionDividir(&a,&b);
« Última modificación: 25 Marzo 2012, 01:05 am por totolia » En línea

Don Pollo

Desconectado Desconectado

Mensajes: 74

/* No comments */


Ver Perfil
Re: calculadora en c++
« Respuesta #4 en: 25 Marzo 2012, 21:03 pm »

Pero lo que te han pedido en el enunciado del ejercicio es que lo hagas con funciones, no que lo metas todo en el switch.

Como ya te han dicho, con funciones se quedará todo más claro y te será más fácil trabajar.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Calculadora
Electrónica
Neobius 2 4,788 Último mensaje 11 Noviembre 2005, 17:24 pm
por Neobius
Calculadora
.NET (C#, VB.NET, ASP)
kokokoko 3 3,028 Último mensaje 17 Enero 2012, 17:41 pm
por kokokoko
Calculadora
Programación C/C++
bryanrz96 9 3,591 Último mensaje 28 Octubre 2015, 22:49 pm
por engel lex
CALCULADORA
Java
Gabrieldeus 3 2,881 Último mensaje 12 Junio 2016, 15:19 pm
por DarK_FirefoX
Calculadora
Programación C/C++
Ramses_977Alejandre 1 1,847 Último mensaje 20 Noviembre 2017, 18:15 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines