ayuda necesito hacer que este codigo se pueda repetir :(

Iniciado por ElQueQuiereAprender, 6 Junio 2019, 23:40 PM

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

ElQueQuiereAprender

#include<iostream>
using namespace std;
void texto(string t);
int main()




{
   float dinerodisponible,precio,precio2,precio3,cobrototal,cobrototal2,cobrototal3,cobrototal4,cobrofinal,cambio;
   string producto,producto2,producto3;
   int cantidad,cantidad2,cantidad3;
   
cout<<"Hola soy tu asistente de compras, te ayudare a realizar diversas tareas"<<endl;
cout<<"empezemos con el proceso de compra"<<endl;
cout<<"cuanto dinero desea gastar?"<<endl;
cin>>dinerodisponible;
cout<<"que desea llevar?"<<endl;
cin>>producto;
cout<<"Cuantos desea llevar?"<<endl;
cin>>cantidad;
cout<<"Cuanto vale cada uno?"<<endl;
cin>>precio;
cobrototal= precio * cantidad ;
cout<<"La suma total hasta ahora es de : " << cobrototal <<endl;
cout<<"Que otro producto desea llevar? :"<<endl;
cin>>producto2;
cout<<"cuantos desea llevar? : "<<endl;
cin>>cantidad2;
cout<<"Cuanto vale cada uno?"<<endl;
cin>>precio2;
cobrototal2= precio2 * cantidad2 ;
cobrototal3= cobrototal + cobrototal2 ;
cout<<"La suma total hasta ahora es de : " << cobrototal3 <<endl;
cout<<"Que otro producto desea llevar? : " <<endl;
cin>>producto3;
cout<<"cuantos desea llevar? : "<<endl;
cin>>cantidad3;
cout<<"Cuanto vale cada uno?"<<endl;
cin>>precio3;
cobrototal4= precio3 * cantidad3 ;
cobrofinal= cobrototal4 + cobrototal3 ;
cout<<"el total de su deuda es de  : " << cobrofinal <<endl;
if (cobrofinal > dinerodisponible) {
   cout << "No te alcanza";
}
else {
   cambio= dinerodisponible - cobrofinal;
   cout << "te resta cambio de : " << cambio<<endl;
}


return 0;
}

@XSStringManolo

#1
Hola, puedes usar un bucle while. Tambien una variable booleana  para controlar la salida del bucle.
Metes todo el codigo que quieres repetir dentro de las llaves del bucle while. Cuando quieras salir cambias el valor con la variable bool. Un ejemplo:

Código (cpp) [Seleccionar]
bool salirDelBucle = false;
int guardarNumero;

int main()
{
    while (salirDelBucle == false)
   {

    cout << "Este codigo se repetirá";
    cout << " hasta que el usuario";
    cout << " introduzca el numero 3";
    cout << endl;
    cin >>guardarNumero;
    cout << endl;
         if (guardarNumero==3)
         {
         salirDelBucle =true;
         }

    }

return 0;
}



Tambien puedes hacer un menú:
Código (cpp) [Seleccionar]

#include <iostream>

using namespace std;

bool salirDelBucle = false;
int Menu;
int numero1, numero2;

int main()
{
    while (salirDelBucle == false)
   {
    cout << "Menu:" << endl << "1-Suma numeros";
    cout << endl <<"2-Resta numeros" <<endl;
    cout <<"3-Sal del programa" << endl;
    cin >> Menu;
   
    cout << endl << "Introduce primer numero para operacion" <<endl;
    cin >> numero1;
    cout << endl << "Introduce segundo numero para operacion" << endl;
    cin >> numero2;

         switch (Menu) //Parecido a if, else if, else.
         {
               case 1: //En caso que menu == 1;
               {
               cout << "El resultado es: " << numero1+numero2 <<endl;
               } break; //Deja de comprobar más condiciones de Menu. Ya que ya sabemos que vale 1.

               case 2:
               {
               cout << "El resultado es: " << numero1 - numero2 <<endl;
               } break;

               case 3:
               {
                cout << "Sales del bucle" << endl;
               salirDelBucle = true;
               } break;

               default: //Si menu tiene guardado un numero que no es ninguno de los anteriores.
               {
               cout << "No elejiste una opción valida." << endl;
               cout <<"Pon 1 y presiona enter para sumar" << endl;
               cout << "Pon 2 y presiona enter para restar" << endl;
               cout << "Pon 3 y presiona enter para cerrar el programa" << endl;
               } break;
         }//fin switch

    }//fin while
cin.get(); //Pausa del programa.
return 0;
}//fin main


También podrias hacer funciones y hacer las llamadas a cada funcion desde cada case.
Cada fución podría ser un programa distinto.