Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Robo12812 en 11 Octubre 2018, 21:44 pm



Título: No se que esta mal y que hacer para corregirlo ayúdenme
Publicado por: Robo12812 en 11 Octubre 2018, 21:44 pm
No entendí muy bien el tema de la clase y realiza este código pero contiene demasiado errores, su función es crear un meno para realizar 3 operaciones que le corrijo?



Código
  1. [code=cpp]#include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. void area de un triangulo()
  6. {
  7.    cout << "Calcular el area de un triangulo";
  8. }
  9. void area de un circulo()
  10. {
  11.    cout << "Calcular el area de un circulo";
  12. }
  13. void area de un cuadrado()
  14. {
  15.    cout << "Calcula el area de un cuadrado";
  16. }
  17.  
  18. int main()
  19. {
  20.  int input;
  21.  
  22.  cout<<"1. calcula el area de un triangulo\n";
  23.  cout<<"2. Calcular el area de un circulo\n";
  24.  cout<<"3. Calcula el area de un cuadrado\n";
  25.  cout<<"4. Salir\n";
  26.  cout<<"Selection: ";
  27.  cin>> input;
  28.  switch ( input ) {
  29.  case 1:        
  30.  
  31. main ()
  32. {
  33.        float base, altura, area;
  34. printf(" Calcular el Area de un triangulo \n");
  35. printf("Introduce la base \n");
  36. scanf("%f", &base);
  37. printf("Introduce la altura \n");
  38. scanf("%f", &altura);
  39. area = (base*altura) / 2;
  40. printf("El area del triangulo es: %.2f\n", area);
  41.       getch();
  42.  
  43. }
  44.    break;
  45.  case 2:          
  46.    main()
  47. {
  48.      printf("\t\t Programa que alcula El Area De Un Circulo\n");
  49.      printf("Introduce El Radio Del Circulo Dividido en 2:\t");
  50.      scanf("%f",&radio);
  51.      area=(radio*radio)*(3.14);
  52.      printf("El Area Del Circulo Es: = %.2f",area);
  53.      getch();
  54.      }
  55.    break;
  56.  case 3:            
  57.    int main()
  58. {
  59.      int lado,area;
  60.      printf("Lado del cuadrado en cm:");
  61.      scanf("%d",&lado);
  62.      area=lado*lado;
  63.      printf("El area es:%d\n",area);
  64.      getch();
  65. }
  66.    break;
  67.  case 4:            
  68.    cout<<"Gracias por su atencion"\n";
  69.    break;
  70.  default:          
  71.    cout<<"Error, bad input, quitting\n";
  72.    break;
  73.  }
  74.  cin.get();
  75.  
[/code]


Título: Re: No se que esta mal y que hacer para corregirlo ayúdenme
Publicado por: Beginner Web en 11 Octubre 2018, 22:31 pm
Bueno tiene varios errores, primero que nada los nombres de los procedimientos(void) no pueden llevar espacios, segundo tienes 3 programas principales(main), cierre de parentesis por cualquier lado, funciones como getch() fuera de lugar, variables no declaradas(radio no esta declarada en ninguna parte), adicional a todo esto seria que no estas haciendo uso de tus procedimientos por ninguna parte y nada es todo  ;-)


Título: Re: No se que esta mal y que hacer para corregirlo ayúdenme
Publicado por: Robo12812 en 12 Octubre 2018, 00:36 am
Y asi que tal esta? mejoro? pero sigo sin saber en que me equivoque


Código
  1. #include <stdio.h>
  2.  
  3. #include <stdlib.h>
  4.  
  5. enum {cuadrado,  circulo,triangulo};
  6.  
  7. int main()
  8. {
  9. char Op;
  10.  
  11.  
  12. printf("Elige una opcion del menu, se realizara el procedimiento de encontrar el area: \n");
  13.        printf("1-Area del cuadrado\n");
  14.        printf("2-Area del circulo\n");
  15.        printf("3-Area del triangulo\n");
  16. printf("\tOpcion: ");
  17. Op = getchar();
  18.  
  19. switch(Op)
  20. {
  21.  case cuadrado:
  22. {
  23.      int lado,area;
  24.      printf("Lado del cuadrado en cm:");
  25.      scanf("%d",&lado);
  26.      area=lado*lado;
  27.      printf("El area es:%d\n",area);
  28.      }
  29.  
  30.  break;
  31.  
  32.  case circulo:
  33. float area,radio;
  34. {
  35.   printf("Introduce El Radio Del Circulo Dividido en 2:\t");
  36.      scanf("%f",&radio);
  37.      area=(radio*radio)*(3.14);
  38.      printf("El Area Del Circulo Es: = %.2f",area);
  39.      }
  40.  break;
  41.  
  42.  case triangulo:
  43.  
  44.      main()
  45.       printf("Introduce la base \n");
  46. scanf("%f", &base);
  47. printf("Introduce la altura \n");
  48. scanf("%f", &altura);
  49. area = (base*altura) / 2;
  50.  
  51.  
  52.  break;
  53.  
  54.  
  55.                default:
  56.   printf("La opcion seleccionada no existe\n");
  57.        }
  58. system("pause");
  59.        return 0;
  60.              }


Título: Re: No se que esta mal y que hacer para corregirlo ayúdenme
Publicado por: Beginner Web en 12 Octubre 2018, 02:57 am
Linea 5 esta demas
Linea 9, te recomiendo que uses numeros o caracteres
Linea 10, aqui podrias poner todas tus variables con el tipo de dato(Idem Linea 23 y 33)correspondiente(area,radio,lado,base,altura)
Linea 17, aqui cambiar la lectura para que lea enteros o caracteres;
Linea 21,32,42, cambiale el case por algun tipo de dato entero o caracter(referencia linea 9);
Linea 44, aun tienes dos programas principales(main) y el de esta linea esta demas
Lineas 22,28,34,39, esos llaves estan demas
Linea 50, aqui deberias mostrar el resultado del area del triangulo


Título: Re: No se que esta mal y que hacer para corregirlo ayúdenme
Publicado por: Robo12812 en 12 Octubre 2018, 04:24 am
Mira modifique algunas cosas que me dijiste pero aun no entiendo algunos puntos esos son los puntos que aun no me quedan del todo claro. de antemano disculpa las molestias soy un novato en esto :D
Linea 9, te recomiendo que uses numeros o caracteres
Linea 10, aqui podrias poner todas tus variables con el tipo de dato(Idem Linea 23 y 33)correspondiente(area,radio,lado,base,altura)
Linea 17, aqui cambiar la lectura para que lea enteros o caracteres;
Linea 21,32,42, cambiale el case por algun tipo de dato entero o caracter(referencia linea 9);

#include <stdio.h>
#include <stdlib.h>

enum {cuadrado,  circulo,triangulo,altura , base,};

int main()
{
 char Op;

 
 printf("Elige una opcion del menu, se realizara el procedimiento de encontrar el area: \n");
        printf("1-Area del cuadrado\n");
        printf("2-Area del circulo\n");
        printf("3-Area del triangulo\n");
 printf("\tOpcion: ");
 Op = getchar();

 switch(Op)
 
  case cuadrado;
      
      int lado,area;
      printf("Lado del cuadrado en cm:");
      scanf("%d",&lado);
      area=lado*lado;
      printf("El area es:%d\n",area);
     
     
  break;

  case circulo;
      float area,radio;
      
   printf("Introduce El Radio Del Circulo Dividido en 2:\t");
      scanf("%f",&radio);
      area=(radio*radio)*(3.14);
      printf("El Area Del Circulo Es: = %.2f",area);
     
  break;

  case triangulo;
     
     
         printf("Introduce la base \n");
   scanf("%f", &base);
   printf("Introduce la altura \n");
   scanf("%f", &altura);
   area = (base*altura) / 2;
     
   printf("El area del triangulo es: %.2f\n", area);
  break;


                default:
   printf("La opcion seleccionada no existe\n");
       
 system("pause");
        return 0;
              }


Título: Re: No se que esta mal y que hacer para corregirlo ayúdenme
Publicado por: dariodr01 en 12 Octubre 2018, 06:12 am
Hola, te debe quedar algo asi:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.    int Op;
  7.    int lado;
  8.    float area,radio,base,altura;
  9.  
  10.    printf("Elige una opcion del menu, se realizara el procedimiento de encontrar el area: \n");
  11.    printf("1-Area del cuadrado\n");
  12.    printf("2-Area del circulo\n");
  13.    printf("3-Area del triangulo\n");
  14.    printf("\tOpcion: ");
  15.    scanf("%d",&Op);
  16.  
  17.    switch(Op)
  18.    {
  19.        case 1:
  20.            printf("Lado del cuadrado en cm:");
  21.            scanf("%d",&lado);
  22.            area=lado*lado;
  23.            printf("El area es:%.2f\n",area);
  24.  
  25.        break;
  26.  
  27.        case 2:
  28.            printf("Introduce El Radio Del Circulo Dividido en 2:\t");
  29.            scanf("%f",&radio);
  30.            area=(radio*radio)*(3.14);
  31.            printf("El Area Del Circulo Es: = %.2f",area);
  32.        break;
  33.  
  34.        case 3:
  35.            printf("Introduce la base \n");
  36.            scanf("%f", &base);
  37.            printf("Introduce la altura \n");
  38.            scanf("%f", &altura);
  39.            area = (base*altura) / 2;
  40.            printf("El Area Del Triangulo Es = %.2f",area);
  41.        break;
  42.        default:
  43.            printf("La opcion seleccionada no existe\n");
  44.    }
  45.  
  46.    return 0;
  47. }
  48.  
  49.