Quién me ayuda convirtiendo este código de c a c++, please!

Iniciado por R6al L9ve, 11 Noviembre 2021, 15:48 PM

0 Miembros y 1 Visitante están viendo este tema.

R6al L9ve


#include <stdio.h>

int main()

{

 int codigo, precioP1=10, precioP2=10, precioP3=10, accion, cocas=8, manzanitas=8,sprites=8,ciclo=1;
 float cambio, dinero, faltante, falta;
 
 
 while(ciclo>=1){
 
  printf("_________________________________________________________________\n");  
  printf("\t         MAQUINA EXPENDEDORA DE BEBIDAS \n");  
  printf("Codigo\t \tProducto\t\t Precio\t\t Cantidad\n");  
  printf("_________________________________________________________________\n");    
  printf(" 1\t \t Cola Cola\t \t 10\t\t %d\n", cocas);    
  printf(" 2\t \t Manzanita\t \t 10\t\t %d\n", manzanitas);    
  printf(" 2\t \t Sprite   \t \t 10\t\t %d\n", sprites);  
 
  printf("_________________________________________________________________\n");  
  printf("  \t\t\t       Menu\n");
  printf("_________________________________________________________________\n");  
  printf(" 1\t\t Llenar  \n");
  printf(" 2\t\t Comprar  \n");
  printf(" 3\t\t Salir  \n");
  printf("\nIngrese el numero de la opcion deseada\n");
  scanf("%d",&accion);
 
  if(accion==1){
  printf(".........................Llenando......................\n\n\n");
  cocas=8;
  manzanitas=8;
  sprites=8;
  }
 
 
  else if(accion==2){
     printf("Ingrese el numero del producto deseado: \n");
     scanf("%d",&codigo);
     switch(codigo){
     case 1: printf("Seleccionaste una Coca Cola\n");
       printf("Ingrese el dinero: ");
       scanf("%f",&dinero);
       while(dinero<precioP1){
        faltante = precioP1 - precioP2;
        printf("Falta mas dinero, ingrese lo que falta: %.2f", faltante);
        scanf("%f",&falta);
        dinero = dinero + falta;
}
       cambio = dinero - precioP1;
printf("Tome su cambio: %.2f\n",cambio);
printf("Tome su bebida\n\n");
cocas = cocas-1;
break;

case 2: printf("Seleccionaste una manzanitas\n");
printf("Ingrese el dinero: ");
    scanf("%f",&dinero);
     while (dinero<precioP1){
     faltante = precioP1 - dinero;
     printf("Falta mas dinero, ingrese lo que falta: %.2f\n",faltante);
     scanf("%f",&falta);
     dinero = dinero + falta;  
 }
 cambio = dinero - precioP2;
 printf("Tome su cambio: %.2f\n", cambio);
 printf("Tome su bebida\n\n");
     manzanitas = manzanitas-1;
     break;
 
   case 3: printf("Seleccionaste un sprites");
printf("Ingrese el dinero: ");
     scanf("%f",&dinero);
      while(dinero<precioP1){
      faltante = precioP1 - dinero;
      printf("Fala mas dinero, ingrese lo que falta: %.2f\n",faltante);
      scanf("%f", &falta);
      dinero = dinero + falta;
}  
   cambio = dinero - precioP3;
   printf("Tome su cambio: %.2f\n",cambio);
   printf("Tome su bebida\n\n");
   sprites = sprites-1;
   break;
   
default: printf("No Existe Un Producto Con Ese Numero, Introduce Uno Valido\n");
//Si es un numero diferemte a 1, 2 o 2
 
   
}
   }
 
 
  else if(accion==2){
  printf("...............Saliendo...............\n");
  break;
  }
 
  else{
  break;//si es numero diferente a 1, 2 o 2
  }
 
 
}
}

Machacador

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:
"Solo tu perro puede admirarte mas de lo que tu te admiras a ti mismo"

.xAk.

#2
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.