• Miércoles 20 de Noviembre de 2024, 18:33

Autor Tema:  Calculadora con switch  (Leído 15319 veces)

cazagavilan

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Calculadora con switch
« en: Jueves 21 de Julio de 2011, 06:39 »
0
Código: C++
  1. #include "stdafx.h"
  2. #include <iostream>
  3. #include <stdio.h>
  4. using namespace std;
  5.  
  6. int main()
  7.  
  8. {
  9.    int dato1;
  10.    int dato2;
  11.    int resultado;
  12.       cout <<"****************************************\n";
  13.       cout <<"*****                              *****\n";
  14.       cout <<"****                                ****\n";
  15.       cout <<"***                                  ***\n";
  16.       cout <<"**                                    **\n";
  17.       cout <<"*             CALCULADORA              *\n";
  18.       cout <<"**                                    **\n";
  19.       cout <<"***                                  ***\n";
  20.       cout <<"****                                ****\n";
  21.       cout <<"*****                              *****\n";
  22.       cout <<"****************************************\n";
  23.  
  24.       cout <<"Que desea hacer?\n";
  25.       cout <<"[1]-Suma.\n";
  26.       cout <<"[2]-Resta.\n";
  27.       cout <<"[3]-Multiplicacion.\n";
  28.       cout <<"[4]-Division.\n";
  29.       cin >> resultado;
  30.  
  31.       cout <<"Escriba la primera cifra: ";
  32.       cin >> dato1;
  33.       cout <<"Escriba la segunda cifra: ";
  34.       cin >> dato2;
  35.  
  36.       switch(resultado)
  37.       {
  38.       case 1:
  39.          resultado = dato1 + dato2;
  40.          break;
  41.       case 2:
  42.          resultado = dato1 - dato2;
  43.          break;
  44.       case 3:
  45.          resultado = dato1 * dato2;
  46.          break;
  47.       case 4:
  48.          resultado = dato1 / dato2;
  49.         default:
  50.          cout <<"No ha seleccionado una opcion correcta";
  51.       }
  52.       cout << resultado <<"\n";
  53. }
Hola, he hecho esta calculadora y me funciona todo menos cuando pongo un numero que no es ninguna de las opciones que doy, en vez de saltar el mensage cuando se selecciona una opcion incorrecta te dice que selecciones el dato1 y dato2 luego hace una suma y luego me salta el mensage... alguien me podria ayudar por favor.

Gracias.

P.D: He encontrado otro fallo, cuando selecciono la division siempre me salta el mensage de default y aparte me da el resultado:/.
« última modificación: Jueves 21 de Julio de 2011, 06:45 por cazagavilan »

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re:Calculadora con switch
« Respuesta #1 en: Jueves 21 de Julio de 2011, 07:52 »
0
Citar
en vez de saltar el mensage cuando se selecciona una opcion incorrecta te dice que selecciones el dato1 y dato2 luego hace una suma y luego me salta el mensage... alguien me podria ayudar por favor.

Esto es porque lees las variables dato1 y dato2 antes del switch, debes leer las variables despues del switch y dentro de cada case

Ademas, recomiendo que uses una variable para el resultado de la suma, y otra para las opciones de tu menu, pues si ocupas la misma se borra la opcion:

Ejemplo:

Código: [Seleccionar]
      cout <<"[4]-Division.\n";
      cin >> opcion;
 
      switch(opcion)
      {
         case 1:
         cout <<"Escriba la primera cifra: ";
         cin >> dato1;
         cout <<"Escriba la segunda cifra: ";
         cin >> dato2;
         resultado = dato1 + dato2;
         break;
      case 2:
         // Repite la lectura en cada caso igual que arriba, y antes de hacer la operacion:

Citar
cuando selecciono la division siempre me salta el mensage de default y aparte me da el resultado:/.

Solo inserta un break; antes del default:
Código: [Seleccionar]
break;
default:

Saludos :)

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

cazagavilan

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re:Calculadora con switch
« Respuesta #2 en: Jueves 21 de Julio de 2011, 08:09 »
0
Muchas gracias hace falta gente como tu por los foros xD