Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: kzeww en 14 Enero 2016, 03:15 am



Título: Error en el codigo c++ [Resuelto]
Publicado por: kzeww en 14 Enero 2016, 03:15 am
Código
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. using namespace std;
  5.  
  6. int main(){
  7.  
  8. int c;
  9. double a;
  10. double b;
  11. double h;
  12.  
  13. cout << "¿ Que quieres hacer ?" << endl;
  14. cout << "1) Sacar Hipotenusa" << endl;
  15. cout << "2) Sacar Un Cateto" << endl;
  16. cout << "Precione cualquier letra para salir \n" << endl;
  17.  
  18. cout << "Elige 1 o 2" << endl;
  19. cin >> c;
  20. cout << "\n" << endl;
  21.  
  22. switch (c) {
  23. case '1':
  24.  
  25. cout << "Dame el cateto 1:" << endl;
  26.  
  27. cin >> a;
  28.  
  29. cout << "Dame el cateto 2:" << endl;
  30.  
  31. cin >> b;
  32.  
  33. double cateto_elevado_uno = pow(a,2.0);
  34. double cateto_elevado_dos = pow(b,2.0);
  35.  
  36. double suma = (cateto_elevado_uno + cateto_elevado_dos);
  37. double resultado = sqrt(suma);
  38.  
  39. cout << "La hipotenusa es:" << resultado << endl;
  40. break;
  41. case '2':
  42.  
  43. cout << "Dame el cateto:" << endl;
  44.  
  45. cin >> a;
  46.  
  47. cout << "Dame la Hipotenusa:" << endl;
  48.  
  49. cin >> h;
  50.  
  51. double cateto_elevado_uno = pow(a,2.0);
  52. double hipotenusa_elevada = pow(h,2.0);
  53.  
  54. double suma = (hipotenusa_elevada - cateto_elevado_uno);
  55. double resultado = sqrt(suma)
  56.  
  57. cout << "El cateto es:" << resultado << endl;
  58.  
  59. break;
  60. default:
  61. exit(0);
  62. break;
  63. }
  64.  
  65.  
  66. system("pause");
  67.  
  68. return 0,0;
  69. }


El Dev C++ me da error en el case '2': y no se porque diablos lo hace alguien me puede  ayudar estoy recien empezando a programar.  :(


Título: Re: Error en el codigo c++
Publicado por: 0xFer en 14 Enero 2016, 05:17 am
Cuando declaras variables dentro de algún case, esas variables son visibles en los siguientes case del switch, debes usar { } para que no haya conflictos;

Código
  1. switch(c)
  2. {
  3.    case 1: {
  4.       //Lo que sea
  5.    }break;
  6.    case 2: {
  7.       //Lo que sea
  8.    }break;
  9.  
  10. }    

Fíjate también que no se usa comillas simples para los números, ya que, en ese caso serían caracteres y en tu código la variable c es una variable de tipo entera. '1' no es lo mismo que 1.

Te falta un ; aqui:
Código
  1. double resultado = sqrt(suma)


Título: Re: Error en el codigo c++
Publicado por: kzeww en 14 Enero 2016, 19:45 pm
Muchas Gracias  ;D