Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: R6al L9ve en 11 Noviembre 2021, 15:48 pm



Título: Quién me ayuda convirtiendo este código de c a c++, please!
Publicado por: R6al L9ve en 11 Noviembre 2021, 15:48 pm
Código
  1. #include <stdio.h>
  2.  
  3. int main()
  4.  
  5. {
  6.  
  7.  int codigo, precioP1=10, precioP2=10, precioP3=10, accion, cocas=8, manzanitas=8,sprites=8,ciclo=1;
  8.  float cambio, dinero, faltante, falta;
  9.  
  10.  
  11.  while(ciclo>=1){
  12.  
  13.   printf("_________________________________________________________________\n");  
  14.   printf("\t         MAQUINA EXPENDEDORA DE BEBIDAS \n");  
  15.   printf("Codigo\t \tProducto\t\t Precio\t\t Cantidad\n");  
  16.   printf("_________________________________________________________________\n");    
  17.   printf(" 1\t \t Cola Cola\t \t 10\t\t %d\n", cocas);    
  18.   printf(" 2\t \t Manzanita\t \t 10\t\t %d\n", manzanitas);    
  19.   printf(" 2\t \t Sprite   \t \t 10\t\t %d\n", sprites);  
  20.  
  21.   printf("_________________________________________________________________\n");  
  22.   printf("  \t\t\t       Menu\n");
  23.   printf("_________________________________________________________________\n");  
  24.   printf(" 1\t\t Llenar  \n");
  25.   printf(" 2\t\t Comprar  \n");
  26.   printf(" 3\t\t Salir  \n");
  27.   printf("\nIngrese el numero de la opcion deseada\n");
  28.   scanf("%d",&accion);
  29.  
  30.   if(accion==1){
  31.   printf(".........................Llenando......................\n\n\n");
  32.   cocas=8;
  33.   manzanitas=8;
  34.   sprites=8;
  35.   }
  36.  
  37.  
  38.   else if(accion==2){
  39.      printf("Ingrese el numero del producto deseado: \n");
  40.      scanf("%d",&codigo);
  41.      switch(codigo){
  42.      case 1: printf("Seleccionaste una Coca Cola\n");
  43.        printf("Ingrese el dinero: ");
  44.        scanf("%f",&dinero);
  45.        while(dinero<precioP1){
  46.         faltante = precioP1 - precioP2;
  47.         printf("Falta mas dinero, ingrese lo que falta: %.2f", faltante);
  48.         scanf("%f",&falta);
  49.         dinero = dinero + falta;
  50. }
  51.        cambio = dinero - precioP1;
  52. printf("Tome su cambio: %.2f\n",cambio);
  53. printf("Tome su bebida\n\n");
  54. cocas = cocas-1;
  55. break;
  56.  
  57. case 2: printf("Seleccionaste una manzanitas\n");
  58. printf("Ingrese el dinero: ");
  59.     scanf("%f",&dinero);
  60.      while (dinero<precioP1){
  61.      faltante = precioP1 - dinero;
  62.      printf("Falta mas dinero, ingrese lo que falta: %.2f\n",faltante);
  63.      scanf("%f",&falta);
  64.      dinero = dinero + falta;  
  65.  }
  66.  cambio = dinero - precioP2;
  67.  printf("Tome su cambio: %.2f\n", cambio);
  68.  printf("Tome su bebida\n\n");
  69.      manzanitas = manzanitas-1;
  70.      break;
  71.  
  72.    case 3: printf("Seleccionaste un sprites");
  73. printf("Ingrese el dinero: ");
  74.      scanf("%f",&dinero);
  75.       while(dinero<precioP1){
  76.       faltante = precioP1 - dinero;
  77.       printf("Fala mas dinero, ingrese lo que falta: %.2f\n",faltante);
  78.       scanf("%f", &falta);
  79.       dinero = dinero + falta;
  80. }  
  81.    cambio = dinero - precioP3;
  82.    printf("Tome su cambio: %.2f\n",cambio);
  83.    printf("Tome su bebida\n\n");
  84.    sprites = sprites-1;
  85.    break;
  86.  
  87. default: printf("No Existe Un Producto Con Ese Numero, Introduce Uno Valido\n");
  88. //Si es un numero diferemte a 1, 2 o 2
  89.  
  90.  
  91. }
  92.    }
  93.  
  94.  
  95.   else if(accion==2){
  96.   printf("...............Saliendo...............\n");
  97.   break;
  98.   }
  99.  
  100.   else{
  101.   break;//si es numero diferente a 1, 2 o 2
  102.   }
  103.  
  104.  
  105. }
  106. }
  107.  


Título: Re: Quién me ayuda convirtiendo este código de c a c++, please!
Publicado por: Machacador en 11 Noviembre 2021, 19:33 pm
Esto lo vi por allí, pero yo no soy programador...

Citar

La respuesta fácil es “usa un compilador de c++”: normalmente no hay que hacerle ningún cambio.

Si estás hablando de hacer cambios en la estructura del código para usar clases y el resto de características propias de los lenguajes de programación orientado a objetos, no hay una manera automática de hacerlo. A ese proceso se le llama refactorización y no es trivial.

Si quieres saber más, te recomiendo el libro de Martin Fowler Refactoring

https://es.quora.com/C%C3%B3mo-puedo-cambiar-un-programa-escrito-en-C-en-C


 :rolleyes: :o :rolleyes:


Título: Re: Quién me ayuda convirtiendo este código de c a c++, please!
Publicado por: .xAk. en 20 Noviembre 2021, 00:00 am
Por qué quieres el cambio si C++ compila C ¿? querrás decir hacerlo utilizando objetos

te reto a hacer una simple clase que utilice ese código C. pocos cambios, poco que añadir

y luego la implementes. Eso sólo será C++ y el code no estará mal.