Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problema con c++

Estas en el tema de Problema con c++ en el foro de C/C++ en Foros del Web. Hola amigos tengo un gran problema no puedo hacer un programa que haga lo siguiente: una pizzeria tiene cuatro tipos de pizzas, que son: normal, ...
  #1 (permalink)  
Antiguo 30/06/2012, 12:24
 
Fecha de Ingreso: junio-2012
Mensajes: 4
Antigüedad: 12 años, 4 meses
Puntos: 0
Problema con c++

Hola amigos tengo un gran problema

no puedo hacer un programa que haga lo siguiente:

una pizzeria tiene cuatro tipos de pizzas, que son: normal, grande, familiar y extra para entregar a domicilio. cuando se recibe un pedido, este se registra en la lista de los pedidos el numero de telefono de la persona que realiza el pedido, la direccion a entregar, el tipo de pizza, cantidad de ingredientes y su precio.
cuando se envia el pedido, se registra en la lista de pedidos para indicar que el pedido ha sido entregado.
Se quiere construir las siguientes funciones:

1. recibir pedido: recibir los datos del pedido (telefono, direccion, tipo, ingredientes y valor) y debe ingresar a la lista de pedidos
2. entregar pedido: recibe el numero de telefono, busca el pedido asociado a ese telefono y lo marca como pedido despachado
3. lista pendientes: muestra los datos de los pedidos que aun no han sido entregados
4. resumen diario: entrega el numero total de entregas en el dia y el monto que se recaudo en el dia.
5. main: solicitar al usuario lo que necesita y utilizas las funciones creadas anteriormente segun sea lo que quiere realizar.


importante: el programa no puede tener CASE, STRUCT ni SWITCH. Un amigo me enseño a hacerlo con case y struct pero no me sirve :S

ojala puedan ayudarme

de antemano muchas gracias!!
  #2 (permalink)  
Antiguo 30/06/2012, 13:11
 
Fecha de Ingreso: junio-2012
Mensajes: 4
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Problema con c++

esto es lo que llevo

#include <iostream>
#include <string>

using namespace std;

void recibirPedido(string *pedidos, int telefono, string direccion, string tipo, string ingredientes, int valor)
{
int i;
for (i = 0; i < 10; i++)
if (pedidos[i][0] == 0)
break;

pedidos[i][0] = telefono;
pedidos[i][1] = direccion;
pedidos[i][2] = tipo;
pedidos[i][3] = ingredientes;
pedidos[i][4] = valor;
}

void entregarPedido(string *pedidos, int telefono)
{
int i;
for (i = 0; i < 10; i++)
if (atoi(pedidos[i][0].c_str()) == telefono)
break;

pedidos[i][5] = "true";
}

void listarPendientes(string *pedidos)
{
for (int i = 0; i < 10; i++)
if (pedidos[i][5] != "true" && pedidos[i][0] != "0")
{
cout << "Pedido No" << i+1 << endl
<< "Telefono: " << pedidos[i][0] << endl
<< "Direccion: " << pedidos[i][1] << endl
<< "Tipo: " << pedidos[i][2] << endl
<< "Ingredientes: " << pedidos[i][3] << endl
<< "Valor: " << pedidos[i][4] << endl << endl;
}
}

void resumenDiario(string *pedidos)
{
int count[4]; // 0 normal - 1 grande - 2 familiar - 3 extra
for (int i = 0; i < 4; i++)
count[i] == 0;
int total = 0;
for (int i = 0; i < 10; i++)
if (pedidos[i][5] == true)
{
total += aoit(pedidos[i][4].c_str());
if (pedidos[i][2] == "normal")
count[0]++;
if (pedidos[i][2] == "grande")
count[1]++;
if (pedidos[i][2] == "familiar")
count[2]++;
if (pedidos[i][2] == "extra")
count[3]++;
}
cout << "Total Recaudado: " << total << endl
<< "Pizzas Tipo (Normal): " << count[0] << endl
<< "Pizzas Tipo (Grande): " << count[0] << endl
<< "Pizzas Tipo (Familiar): " << count[0] << endl
<< "Pizzas Tipo (Extra): " << count[0] << endl;
}

int main()
{
string pedidos[10][6]; // Suponiendo que el maximo de pedidos que puede manejar la pizzeria son 10
int opcion;

for (int i = 0; i < 10; i++)
{
pedidos[i][0] = "0";
pedidos[i][1] = "";
pedidos[i][2] = "";
pedidos[i][3] = "";
pedidos[i][4] = "0";
pedidos[i][5] = "false";
}

while (opcion != 5)
{
cout << " - 1 Aniadir pedido" << endl
<< " - 2 Entregar pedido" << endl
<< " - 3 Listar pedidos pendientes" << endl
<< " - 4 Resumen diario" << endl
<< " - 5 Salir" << endl
<< "Ingrese su opcion:" << endl;
cin >> opcion;

if (opcion == 1)
{
int telefono, valor;
string direccion, tipo, ingredientes;
cout << "Telefono: ";
cin >> telefono;
getchar();
cout << "Direccion: ";
getline(cin, direccion);
cout << "Tipo: ";
cin >> tipo;
getchar();
cout << "Ingredientes: ";
getline(cin, ingredientes);
cout << "Valor: ";
cin >> valor;

recibirPedido(pedidos, telefono, direccion, tipo, ingredientes, valor);
}
else if (opcion == 2)
{
int telefono;
cout << "Telefono: ";
cin >> telefono;
entregarPedido(pedidos, telefono);
}
else if (opcion == 3)
{
listarPendientes(pedidos);
}
else if (opcion == 4)
{
resumenDiario(pedidos);
}
else if (opcion == 5)
{
}
else
{
cout << "no esta la opcion" << endl;
}
}
}
  #3 (permalink)  
Antiguo 30/06/2012, 13:13
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: Problema con c++

Porque no puedes usar CASE, STRUCT ni SWITCH?
Y segundo en que te ayudamos¿
  #4 (permalink)  
Antiguo 30/06/2012, 13:18
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 10 meses
Puntos: 94
Respuesta: Problema con c++

usa las Highlight para poner codigo
  #5 (permalink)  
Antiguo 30/06/2012, 13:23
 
Fecha de Ingreso: junio-2012
Mensajes: 4
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Problema con c++

Cita:
Iniciado por sam90 Ver Mensaje
Porque no puedes usar CASE, STRUCT ni SWITCH?
Y segundo en que te ayudamos¿
no puedo porque mi profesor no lo enseño
y esa era una forma mas facil que me dijo un amigo, pero no puedo usarla

Cita:
Iniciado por cesar_casla Ver Mensaje
usa las Highlight para poner codigo
disculpa, no sabia, para la proxima lo usare
  #6 (permalink)  
Antiguo 30/06/2012, 13:56
 
Fecha de Ingreso: junio-2012
Mensajes: 4
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Problema con c++

se me olvidaba

el problema de lo que llevo es que no me compila :S

Etiquetas: funcion, programa, struct
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:03.