C Problemas con el cálculo de precios y pedidos del menú
El programa fue compilado y ejecutado en Visual Studio 2008.
#include "stdafx.h"
#includelt;iostreamgt;
#includelt;vectorgt;
#includelt;stringgt;
Utilice el espacio de nombres std; "Bola de masa de ñame y arándanos", "Cerdo frito con brotes de bambú secos", "Champiñones de ñame silvestre fritos", "Carne amarilla salteada"},
{ "Plato Principal", "Carne vieja a la piña", "Pescado hervido", "Camarones a base de salsa de tomate", "Pollo desmenuzado a la sal", "Corvina amarilla estofada", "Lechuga en salsa de ostras", "Hueso de ajo medalla de oro". "}, p>
{"Comida básica", "Tres empanadillas frescas", "Fideos hechos a mano", "Arroz"},
{"Postre", "Batido de fresa" , "Helado", "pastel"},
{"bebida", "Sprite", "jugo de verduras", "cerveza", "jugo"},
};
precio doble[6][8]={
{0},
{0, 8, 10, 8, 13, 12},
{0, 15.20, 35, 30, 28, 8, 18},
{0, 15, 12, 2},
{0, 10 , 16, 10} ,
{0, 5, 8, 8, 8}
};
intgt; mantiene los elementos del menú seleccionados
vectorlt; foodvec; //Guarda la comida seleccionada
vectorlt; //Guarda el número de porciones seleccionadas de cada comida
p>
bool cena()
{
for(int i = 0.i lt; 6; i )
{
if ( i == 0)
{
cout lt;lt; menú[0][i];
coutlt;lt; :"lt;lt ; endl;
}
else
{
cout lt;lt; " " lt;lt; i lt;lt; ".";
cout lt; menú[0][i] lt;
}
}
cout lt;lt; " "lt;lt; "0 Fin de pedido" lt;lt; endl;
int imenu = 0;
cout lt ;lt; "Por favor seleccione";
cin gt;gt; imenu;
if (imenu == 0)
devuelve falso ;
cout lt; " "lt; lt; lt; "." lt; menú[0][imenu] lt; > for(int i = 1; i lt; 8; i)
{
if (strcmp(menu[imenu][i], "") == 0)/ /salir de la salida si no existe dicho alimento
break
cou;
t lt; " "lt; i lt; "." lt; menú[i] lt; " " lt; ; ; endl;
}
cout lt;lt; " 0 return " lt;endl;
int ifood = 0; orden de comida
int icount = 0; // Selecciona el número de porciones de comida a pedir
cout lt; "Por favor selecciona"; cin gt ;gt; ifood ;
if (ifood == 0)
devuelve verdadero;
cout lt;lt; ; menu[imenu][ifood] lt;lt;","lt;lt; "Cuántos puntos quieres:";
cin gt;gt;icount;
menuvec.push_back (imenu);
foodvec.push_back(ifood);
countvec.push_back(icount);
devuelve verdadero; p>}
int main()
{
while(cena())
{
system(" cls");
}
system("cls");
cout lt;lt; "El menú que ordenó es:" lt ;lt; endl;
cout lt;lt.lt; "Nombre del plato" lt;lt; "Precio unitario" lt;lt; "Cantidad" lt;lt; ;
vectorlt; intgt;: iterador menuIter = menuvec.begin();
vectorlt;: iterador menuIter = menuvec.begin(); vectorlt;::iterador menuIter = menuvec.begin();
lt;::iterador foodIter = foodvec.begin();
intgt;:: iterador countIter = countvec.begin();
doublepricesum = 0; // Calcula el precio total
for(;menuIter! = menuvec.end(), foodIter! = foodvec.end(), countIter! = countvec.end(); menuIter, foodIter, countIter)
{
int menutemp = *menuIter;
cout lt; [menutemp];
cout lt; ":"
int comidatemp = *f
oodIter;
cout lt;lt; menú[menutemp][foodtemp];
cout lt;lt; " " lt; precio[menutemp][foodtemp]; p>
cout lt; p>
int cuentatemp = *countIter;
cout lt; " " lt; ; " " lt; lt; cuentatemp; * precio[menutemp][comidatemp]; > }
cout lt ;lt; "---------- ------------------------- ---------- ----------------------------------"lt;lt;endl ;
cout lt;lt; ""lt;lt; "El precio total es"lt;lt; preciossum lt;lt;
}