Proyecto Final Valentina

 avatar
Jose20025
plain_text
4 years ago
8.5 kB
6
Indexable
#include <iostream>

using namespace std;

string nombre;
string nombreProd[19], nombreOpi[100], opinion[100];
int precioProd[19], totprod, totopi;
bool yadejo = false;

void menu();
void presentacionChatBot();
void productos();
void menuComidas();
void opiniones();
void ordenar();

int main()
{
    productos();
    presentacionChatBot();
    menu();

    return 0;
}

void presentacionChatBot()
{
    cout << "Escribe tu nombre: ";
    getline(cin, nombre);

    cout << "\nHola, " << nombre << "." << endl;
    cout << "Soy el ChatBot de Valentina!" << endl;
    cout << "Es un placer conocerte!" << endl;
    cout << "Yo sere tu guia en este programa, espero serte de ayuda!" << endl;
    system("pause");
}

void menu()
{
    int opc;

    system("cls");

    cout << "Bienvenido, " << nombre << ", al Restaurante Santa Flor!" << endl;
    cout << "Te presento una serie de opciones" << endl;
    cout << "---------------------------------" << endl;
    cout << "1. Menu de Comidas" << endl;
    cout << "2. Ordenar" << endl;
    cout << "3. Opiniones" << endl;
    cout << "4. Salir" << endl;

    cout << "Opcion: ";
    cin >> opc;

    switch (opc)
    {
    case 1:
    {
        menuComidas();
        break;
    }
    case 2:
    {
        ordenar();
        break;
    }
    case 3:
    {
        opiniones();
        break;
    }

    case 4:
    {
        cout << "\nHasta luego, " << nombre << "!" << endl;
        cout << "Gracias por venir!" << endl;
        system("pause");
        exit(1);
        break;
    }
    default:
    {
        cout << "Esa opcion no existe, " << nombre << endl;
        cout << "Ingresa nuevamente..." << endl;
        menu();
        break;
    }
    }
}

void productos()
{
    int a = 0;

    nombreProd[a] = "Lomo Camba";
    precioProd[a] = 38;
    a++;
    nombreProd[a] = "Punta de S";
    precioProd[a] = 40;
    a++;
    nombreProd[a] = "Bife de Chorizo";
    precioProd[a] = 40;
    a++;
    nombreProd[a] = "Colita de Cuadril";
    precioProd[a] = 42;
    a++;
    nombreProd[a] = "Churrascango";
    precioProd[a] = 52;
    a++;
    nombreProd[a] = "Bifesango de Chorizo";
    precioProd[a] = 55;
    a++;
    nombreProd[a] = "Locro";
    precioProd[a] = 22;
    a++;
    nombreProd[a] = "Sopa de Mani";
    precioProd[a] = 22;
    a++;
    nombreProd[a] = "Majao de Charque";
    precioProd[a] = 32;
    a++;
    nombreProd[a] = "Keperi";
    precioProd[a] = 40;
    a++;
    nombreProd[a] = "Picante de Pollo";
    precioProd[a] = 40;
    a++;
    nombreProd[a] = "Coca Cola";
    precioProd[a] = 15;
    a++;
    nombreProd[a] = "Sprite";
    precioProd[a] = 15;
    a++;
    nombreProd[a] = "Fanta";
    precioProd[a] = 15;

    totprod = a + 1;

    a = 0;

    nombreOpi[a] = "Alfredo";
    opinion[a] = "La verdad es que el restaurante tiene cosas bastante ricas!";
    a++;
    nombreOpi[a] = "Carlitos";
    opinion[a] = "Practico y delicioso!";
    a++;
    nombreOpi[a] = "Juan Carlos";
    opinion[a] = "Me queda cerca de mi casa, es una de las cosas que no pueden faltar en mi dia a dia!";

    totopi = a + 1;
}

void menuComidas()
{
    system("cls");
    cout << "Menu de Comidas" << endl;
    cout << "---------------" << endl;

    cout << endl;
    for (int i = 0; i < totprod; i++)
    {
        cout << "Plato: " << nombreProd[i] << endl;
        cout << "Precio: " << precioProd[i] << " bs." << endl;
    }

    cout << endl;
    system("pause");
    menu();
}

void ordenar()
{
    int op, plato, prod = 1, monto = 0, precios[50];
    string platoOrdenado[50];
    char c;
    int cantidades[50];

    system("cls");

    cout << "Ordenar" << endl;
    cout << "-------" << endl;

    cout << endl;
    cout << "Menu" << endl;
    cout << "----" << endl;

    for (int i = 0; i < totprod; i++)
    {
        cout << i + 1 << ". " << nombreProd[i] << endl;
    }

    cout << "\nSeleccione su plato: ";
    cin >> op;

    while (op < 1 || op > 14)
    {
        cout << "Oh!, ese producto no existe!" << endl;
        cout << "Introduzca de nuevo..." << endl;
        cout << "Plato: ";
        cin >> op;
    }

    if (op >= 1 && op <= 11)
    {
        cout << "\nHmmm, que rico!" << endl;
        cout << "Buena eleccion, " << nombre << "!" << endl;
    }
    else if (op > 11 && op <= 14)
    {
        cout << "\nNada que una buena gaseosa no refresque!" << endl;
    }

    plato = op - 1;

    platoOrdenado[prod - 1] = nombreProd[plato];
    precios[prod - 1] = precioProd[plato];

    cout << "\nCantidad: ";
    cin >> cantidades[prod - 1];

    monto += precios[prod - 1] * cantidades[prod - 1];

conf:
    cout << "\nDesea aumentar otro plato?" << endl;
    cout << "s/n" << endl;
    cout << "Respuesta: ";
    cin >> c;

    if (c == 'S' || c == 's')
    {
        while (c == 'S' || c == 's')
        {
            prod++;
            cout << "Plato: ";
            cin >> op;

            while (op < 1 || op > 14)
            {
                cout << "Oh!, ese producto no existe!" << endl;
                cout << "Introduzca de nuevo..." << endl;
                cout << "Plato: ";
                cin >> op;
            }

            if (op >= 1 && op <= 11)
            {
                cout << "\nHmmm, que rico!" << endl;
                cout << "Buena eleccion, " << nombre << "!" << endl;
            }
            else if (op > 11 && op <= 14)
            {
                cout << "\nNada que una buena gaseosa no refresque!" << endl;
            }

            plato = op - 1;

            platoOrdenado[prod - 1] = nombreProd[plato];
            precios[prod - 1] = precioProd[plato];

            cout << "\nCantidad: ";
            cin >> cantidades[prod - 1];

            monto += precios[prod - 1] * cantidades[prod - 1];

        conf2:
            cout << "\nDesea aumentar otro plato?" << endl;
            cout << "s/n" << endl;
            cout << "Respuesta: ";
            cin >> c;

            if ((c != 'n' || c != 'N') && (c != 'S' || c != 's'))
            {
                cout << "\nTiene que ser s o n" << endl;
                cout << "Introduzca nuevamente..." << endl;
                cout << endl;
                goto conf2;
            }
        }
    }
    else if (c == 'N' || c == 'n')
    {
    }
    else
    {
        cout << "\nTiene que ser s o n" << endl;
        cout << "Introduzca nuevamente..." << endl;
        cout << endl;
        goto conf;
    }

    system("cls");
    cout << "Factura" << endl;
    cout << "-------" << endl;

    cout << "Productos" << endl;
    for (int i = 0; i < prod; i++)
    {
        cout << "Producto " << i + 1 << ": " << platoOrdenado[i] << endl;
        cout << "Cantidad: " << cantidades[i] << endl;
        cout << "Precio: " << precios[i] << " bs." << endl;
        cout << "Monto: " << precios[i] * cantidades[i] << " bs." << endl;
        cout << endl;
    }

    cout << "-----------------------" << endl;
    cout << "Monto total a pagar: " << monto << " bs." << endl;

    system("pause");
    menu();
}

void opiniones()
{
    char c;

    system("cls");

    cout << "Opiniones" << endl;
    cout << "---------" << endl;

    cout << endl;
    for (int i = 0; i < totopi; i++)
    {
        cout << "Nombre: " << nombreOpi[i] << endl;
        cout << "Opinion: " << opinion[i] << endl;
        cout << endl;
    }

    if (yadejo == false)
    {
    conf:
        cout << "\nDeseas darnos tu opinion?" << endl;
        cout << "s/n" << endl;
        cin >> c;

        if (c == 'S' || c == 's')
        {
            yadejo = true;
            totopi++;
            nombreOpi[totopi - 1] = nombre;

            cout << "Escriba su opinion: ";
            fflush(stdin);
            getline(cin, opinion[totopi - 1]);

            cout << "\nGracias por tu opinion, " << nombre << "!" << endl;
            system("pause");
            menu();
        }
        else if (c == 'N' || c == 'n')
        {
            menu();
        }
        else
        {
            cout << "\nTiene que ser s o n" << endl;
            cout << "Introduzca nuevamente..." << endl;
            cout << endl;
            goto conf;
        }
    }

    system("pause");
    menu();
}
Editor is loading...