Buenas una ayudita con este codigo en C++

Lu7h0r

Lanero Regular
28 Jun 2007
6
Hola Comunidad Lanera, es que tengo este codigo en C++ como de una tiendita y deseo sumar los totales y uso acumuladores ya le he metido bastante y por mas que quiero sumar los totales no me deja, agradezco a quien me oriente o me brinde su ayuda.

PHP:
#include <iostream>
using namespace std;

int suma (int, int, int, int, int, int, int, int);

int main ()
{
    char nombre[2][10];
    int cliente=0, x=1, y=1, total[10],cliente1=0;
    int nClientes, cocaCola=1900, agua=1100, papas=800, cervezas=8;
    int nCocaCola[2],nAgua[2],nPapas[2],nCervezas[2];
    
    cout << "Cuantos clientes Desean Comprar?(1 - 5): ";
    cin >> nClientes;
    system ("cls");
    switch (nClientes)
    {
           case 1:
           {
                while (cliente<1)
                {
                      cout << "PRECIOS:" << endl;
                      cout << "Personal de Coca-Cola: $1900 Pesos la unidad." << endl;
                      cout << "Botellas de agua: $1100 Pesos la unidad." << endl;
                      cout << "Paquete de papas: $800 Pesos la unidad." << endl;
                      cout << "Lata de cerveza: $1600 Pesos la unidad." << endl << endl << endl;
                      
                      cout << "Regalame tu Nombre Ome!: ";
                      cin >> nombre[x];
                      cout << "Cuantas coca-colas desea comprar?: ";
                      cin >> nCocaCola[x];
                      cout << "Cuantas botellas de agua desea comprar?: ";
                      cin >> nAgua[x];
                      cout << "Cuantas paquetes de papas desea comprar?: ";
                      cin >> nPapas[x];
                      cout << "Cuantas Latas de cerveza desea comprar?: ";
                      cin >> nCervezas[x];
                      total[x]= suma (cocaCola,nCocaCola[x],agua,nAgua[x],papas,nPapas[x],cervezas,nCervezas[x]);
                      system ("cls");
                      x++;
                      cliente++;
                }
                while (cliente1<1)
                {
                      cout << "El cliente " << nombre[y] << " ha comprado " << nCocaCola[y] << " Botellas de Coca-cola, " << nAgua[y] << " botellas de agua, " << nPapas[y] << " paquetes de papas y " << nCervezas[y] << " latas de cerveza." << endl;
                      cout << "TOTAL A PAGAR: " << total[y] << " Pesos." << endl << endl;
                      y++;
                      cliente1++;
                }
                cout << endl << endl;
                system ("pause");
                break;
           }
           
           
           
           case 2:
           {
                while (cliente<2)
                {
                      cout << "PRECIOS:" << endl;
                      cout << "Personal de Coca-Cola: $1900 Pesos la unidad." << endl;
                      cout << "Botellas de agua: $1100 Pesos la unidad." << endl;
                      cout << "Paquete de papas: $800 Pesos la unidad." << endl;
                      cout << "Lata de cerveza: $1600 Pesos la unidad." << endl << endl << endl;
                      
                      cout << "Regalame tu Nombre Ome!: ";
                      cin >> nombre[x];
                      cout << "Cuantas coca-colas desea comprar?: ";
                      cin >> nCocaCola[x];
                      cout << "Cuantas botellas de agua desea comprar?: ";
                      cin >> nAgua[x];
                      cout << "Cuantas paquetes de papas desea comprar?: ";
                      cin >> nPapas[x];
                      cout << "Cuantas Latas de cerveza desea comprar?: ";
                      cin >> nCervezas[x];
                      total[x]= suma (cocaCola,nCocaCola[x],agua,nAgua[x],papas,nPapas[x],cervezas,nCervezas[x]);
                      system ("cls");
                      x++;
                      cliente++;
                }
                while (cliente1<2)
                {
                      cout << "El cliente " << nombre[y] << " ha comprado " << nCocaCola[y] << " Botellas de Coca-cola, " << nAgua[y] << " botellas de agua, " << nPapas[y] << " paquetes de papas y " << nCervezas[y] << " latas de cerveza." << endl;
                      cout << "TOTAL A PAGAR: " << total[y] << " Pesos..." << endl << endl;
                      y++;
                      cliente1++;
                }
                cout << endl << endl;
                system ("pause");
                break;
           }
           
           
           
           case 3:
           {
                while (cliente<3)
                {
                      cout << "PRECIOS:" << endl;
                      cout << "Personal de Coca-Cola: $1900 Pesos la unidad." << endl;
                      cout << "Botellas de agua: $1100 Pesos la unidad." << endl;
                      cout << "Paquete de papas: $800 Pesos la unidad." << endl;
                      cout << "Lata de cerveza: $1600 Pesos la unidad." << endl << endl << endl;
                      
                      cout << "Regalame tu Nombre Ome!: ";
                      cin >> nombre[x];
                      cout << "Cuantas coca-colas desea comprar?: ";
                      cin >> nCocaCola[x];
                      cout << "Cuantas botellas de agua desea comprar?: ";
                      cin >> nAgua[x];
                      cout << "Cuantas paquetes de papas desea comprar?: ";
                      cin >> nPapas[x];
                      cout << "Cuantas Latas de cerveza desea comprar?: ";
                      cin >> nCervezas[x];
                      total[x]= suma (cocaCola,nCocaCola[x],agua,nAgua[x],papas,nPapas[x],cervezas,nCervezas[x]);
                      system ("cls");
                      x++;
                      cliente++;
                }
                while (cliente1<3)
                {
                      cout << "El cliente " << nombre[y] << " ha comprado " << nCocaCola[y] << " latas de Coca-cola, " << nAgua[y] << " botellas de agua, " << nPapas[y] << " paquetes de papas y " << nCervezas[y] << " latas de cerveza." << endl;
                      cout << "TOTAL A PAGAR: " << total[y] << " Pesos." << endl << endl;
                      y++;
                      cliente1++;
                }
                cout << endl << endl;
                system ("pause");
                break;
           }
           
           
           
           case 4:
           {
                while (cliente<4)
                {
                      cout << "PRECIOS:" << endl;
                      cout << "Personal de Coca-Cola: $1900 Pesos la unidad." << endl;
                      cout << "Botellas de agua: $1100 Pesos la unidad." << endl;
                      cout << "Paquete de papas: $800 Pesos la unidad." << endl;
                      cout << "Lata de cerveza: $1600 Pesos la unidad." << endl << endl << endl;
                      
                      cout << "Regalame tu Nombre Ome!: ";
                      cin >> nombre[x];
                      cout << "Cuantas coca-colas desea comprar?: ";
                      cin >> nCocaCola[x];
                      cout << "Cuantas botellas de agua desea comprar?: ";
                      cin >> nAgua[x];
                      cout << "Cuantas paquetes de papas desea comprar?: ";
                      cin >> nPapas[x];
                      cout << "Cuantas Latas de cerveza desea comprar?: ";
                      cin >> nCervezas[x];
                      total[x]= suma (cocaCola,nCocaCola[x],agua,nAgua[x],papas,nPapas[x],cervezas,nCervezas[x]);
                      system ("cls");
                      x++;
                      cliente++;
                }
                while (cliente1<4)
                {
                      cout << "El cliente " << nombre[y] << " ha comprado " << nCocaCola[y] << " Botellas de Coca-cola, " << nAgua[y] << " botellas de agua, " << nPapas[y] << " paquetes de papas y " << nCervezas[y] << " latas de cerveza." << endl;
                      cout << "TOTAL A PAGAR: " << total[y] << " Pesos." << endl << endl;
                      y++;
                      cliente1++;
                }
                cout << endl << endl;
                system ("pause");
                break;
           }
           
           
           case 5:
           {
                while (cliente<5)
                {
                      cout << "PRECIOS:" << endl;
                      cout << "Personal de Coca-Cola: $1900 Pesos la unidad." << endl;
                      cout << "Botellas de agua: $1100 Pesos la unidad." << endl;
                      cout << "Paquete de papas: $800 Pesos la unidad." << endl;
                      cout << "Lata de cerveza: $1600 Pesos la unidad." << endl << endl << endl;
                      
                      cout << "Regalame tu Nombre Ome!: ";
                      cin >> nombre[x];
                      cout << "Cuantas coca-colas desea comprar?: ";
                      cin >> nCocaCola[x];
                      cout << "Cuantas botellas de agua desea comprar?: ";
                      cin >> nAgua[x];
                      cout << "Cuantas paquetes de papas desea comprar?: ";
                      cin >> nPapas[x];
                      cout << "Cuantas Latas de cerveza desea comprar?: ";
                      cin >> nCervezas[x];
                      total[x]= suma (cocaCola,nCocaCola[x],agua,nAgua[x],papas,nPapas[x],cervezas,nCervezas[x]);
                      system ("cls");
                      x++;
                      cliente++;
                }
                while (cliente1<5)
                {
                      cout << "El cliente " << nombre[y] << " ha comprado " << nCocaCola[y] << " Botellas de Coca-cola, " << nAgua[y] << " botellas de agua, " << nPapas[y] << " paquetes de papas y " << nCervezas[y] << " latas de cerveza." << endl;
                      cout << "TOTAL A PAGAR: " << total[y] << " Pesos." << endl << endl;
                      y++;
                      cliente1++;
                }
                cout << endl << endl;
                system ("pause");
                break;
           }
                            
    }                
    system ("cls");
    cout << "Gracias .... Por Su Compra Siempre A la Orden..." << endl << endl;                  
    system ("pause");
    return 0;
}

int suma (int cocaCola,int nCocaCola,int agua,int nAgua,int papas,int nPapas,int cervezas,int nCervezas)
{
    int operado;
    operado = (cocaCola*nCocaCola)+(agua*nAgua)+(papas*nPapas)+(cervezas*nCervezas);
    return operado;
}

x++ acumula la cantidad por producto que el cliente vide, y++ el valor , cliente++ el nombre de los clientes.

Muchas gracias a por desde ya por atencion y colaboracion. :bandido:
 
Saludos.

¿Por qué tantos Case? ¿No sería más fácil hacer un "while (cliente<nClientes)"? con una validación de nClientes<=5 antes.

Tienes un "cervezas=8;" y cuando muestras la opción, pones: "Lata de cerveza: $1600 Pesos la unidad.".

La verdad, no recuerdo si en C++ se pueden asignar valores a elementos fuera del límite de un arreglo. Es decir, asignar un nCocaCola[x] (con x>2) cuando se ha establecido la variable como int nCocaCola[2]. Al menos, no me parece algo aconsejable.

Edito: Utilizas dos variables par manejar los indices, cuando solamente tienes que volver a reiniciar los contadores (Igual eso es solo decisión del programador... meramente práctico).

PD: "x++ acumula la cantidad por producto que el cliente vide, y++ el valor , cliente++ el nombre de los clientes." mmmm... Más o menos (quitando la confusión).
 
claro que se puede, y eso se llama "Asignacion de valores" para una variable. es normal hacerlo. otra forma es "asumir" que se inicializa dicha variable como una constante, y que de alli no puede bajar. claro está, que hay que validar.

seria chevere, Luh70r, que subieras el cpp comentando, es decir, que lo documentes para saber que hace cada variable y que dice el lenguaje en sí, para poderte ayudar mejor.

salu2.

PD: ya hay un foro de C++, yo creo que antes de eso, un mod vendrá a pedir que coloques tu duda alli.
 

Los últimos temas