Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

Programa en C++ como Guia

bartlo

Bovino adicto
Desde
2 Feb 2007
Mensajes
854
Bien este es un programa de Restaurant, elaborado en lenguaje C++, esta terminado a un 65% se puede decir... Lo que hace el programa es tomar las ordenes que se digitan, guardarlas e imprimirlas, se supone que en orden pero asi no esta programado. No es para que me lo terminen ni para que lo pongan aqui, simplemente para que se guien por si necesitan algun ejemplo... Probablemente salga un usuario del foro que es muy especial, que solo critica los post diciendo que esto no va a aqui y blabla. Yo comparto, y espero que les sirva, cualquier consulta, con gusto

Esto es la clase Opciones

#pragma once
#include <string>

using namespace std;

class Opciones
{
public:
int id;
string descripcion;
int precio;
string disponible;
Opciones(void);
~Opciones(void);
};

Esta es la clase Pedidos
#include <vector>
#include <string>

using namespace std;
#pragma once

//Esta clase tendrá como atributos un entero para el id, un string para el nombre
//del cliente, un entero para la hora de inicio y un vector para
//guardar todos los platos que pidieron.
class Pedido
{

public:
int id;
string nombre;
int hora;
vector<int> platos;
Pedido(void);

};

Este es el Main o programa Principal, usando las clases anteriores

#include "stdafx.h"
#include "Pedido.h"
#include <fstream>
#include "Opciones.h"
#include <iostream>
#include <vector>
#include <queue>
#include <list>
#include <time.h>


using namespace std;

int main() {
system("color 1a");
time_t rawtime;
// Fecha y hora del sistema
time ( &rawtime );
cout<<"\t\t\tLos Cipreses\n";
cout<<( "El dia de hoy es: %s", ctime (&rawtime) )<<endl;
//Fin fecha y hora
//Declaracion de variables a utilizar
Opciones o;
int total=0;
int precio;
int i=0; string g;
//Fin de declaraciones

//uso de iterador para lista
list<Opciones>::iterator it1;
//fin de iterador
//utilizar historico.txt
Pedido p;
ofstream ofe ("historico.txt");
list<Opciones> l;


//leer menu.txt
ifstream fe("menu.txt");

while(!fe.eof()) {
Opciones o;
string cadena;
getline(fe,cadena); // leer cadena
char* c=(char*)cadena.c_str();
char* cc=strtok(c,"/");
o.id=atoi(cc);
cc=strtok(NULL,"/");
o.descripcion=cc;
cc=strtok(NULL,"/");
o.precio=atoi(cc);
cc=cc=strtok(NULL,"/");
o.disponible=cc;
l.push_back(o);
}
fe.close();
//terminamos la lectura de menu.txt
int consecutivo=0;
queue<Pedido> cola_de_pedidos;

int opcion;
do {

cout << "1- Capturar pedido"<< endl;
cout << "2-Imprimir factura"<< endl;
cout << "3-Salir" << endl;
cin>>opcion;

switch (opcion){
case 1:
consecutivo++;

p.id=consecutivo;
cout<< "Numero de pedido: " << consecutivo;
cout << " nombre: ";
cin>>p.nombre;


int opcmenu;
do {
list<Opciones>::iterator it;

for (it = l.begin(); it != l.end(); it++) {
o=*it;

cout << o.id << o.descripcion << o.precio << endl;

}
//mostramos el menu
cout <<"digite la opcion";
cin >> opcmenu;
if(opcmenu>0) {
p.platos.push_back(o.id);
}

}while (opcmenu!=0);

cout << p.platos.size ()<<endl;

cola_de_pedidos.push(p);

break;

case 2: //imprimir fatura
p=cola_de_pedidos.front();
cola_de_pedidos.pop();
cout <<"numero de pedido: " << p.id << endl;
cout <<"cliente: " << p.nombre << endl;
cout <<"hora:" << p.hora << endl;

total=0;
for (int i = 0; i < p.platos.size(); i++) {
g="";

for (it1 = l.begin(); it1 != l.end(); it1++) {
o=*it1;
if(o.id==p.platos)
{
total+=o.precio; //sumamos el total
precio=o.precio;
g=o.descripcion;
}
}
cout << g << " precio " << precio << endl;

//ya mostramos las descripciuones del pedido

cout << "Precio total" << total << endl;

//agregamos a historico

ofe << "/" << p.id << "/" << p.nombre << "/" << total;

}

break;

case 3:
exit;

break;

default:
cout<<"Seleccione una opcion";
}

}
while(opcion!=3);

return 0;



}
 
Volver
Arriba