josecarlosgutierrez2002@gmail.com

 avatar
Jose20025
c_cpp
2 years ago
34 kB
3
Indexable
Never
#include <iostream>
#include <windows.h>
#include <ctype.h>

using namespace std;

char ei = 130, ai = 160, ui = 163, ii = 161, oi = 162, inpreg = 168, inexcl = 173, en = 164;
int cli = 1;
const int totprod = 28;

void gotoxy(int x, int y);
void menu();
void rayitas(int n);
void catalogo();
void mostrarProductos(int n);
string aMayus(string cadena);
void venderProductos();
void historial();
void mostrarClientes();
void registrodeProductos();
void busquedaProductos();

struct strclientes
{
    int idcliente;
    string nombre;
    string productos[100];
    int precios[100];
    long int numeroNIT;
    int cantprod = 0;
    int monto[100];
    int cantidad[100];
    int facturas = 0;
} clientes[100];

struct strproducto
{
    int idproducto;
    string nombre;
    int precio;
} productos[totprod];

int main()
{
    clientes[0].idcliente = 1;
    clientes[0].nombre = "Jose Carlos";
    registrodeProductos();
    menu();
    return 0;
}

void gotoxy(int x, int y)
{
    HANDLE hCon;
    hCon = GetStdHandle(STD_OUTPUT_HANDLE);
    COORD dwPos;
    dwPos.X = x;
    dwPos.Y = y;
    SetConsoleCursorPosition(hCon, dwPos);
}
//
void menu()
{
    int op;
    string palabra = "!Bienvenido a la tienda de Josesito!";
    int size;
    size = palabra.size();
    system("cls");
    cout << inexcl << "Bienvenido a la tienda de Josesito!" << endl;
    rayitas(size);
    cout << "\n";
    cout << inpreg << "Qu" << ei << " desea hacer?" << endl;
    cout << "1. Cat" << ai << "logo de Productos" << endl;
    cout << "2. Venta de Productos" << endl;
    cout << "3. Historial de Facturas" << endl;
    cout << "4. Lista de Clientes" << endl;
    cout << "5. Salir" << endl;
    cout << "\nOpci" << oi << "n: ";
    cin >> op;
    
    switch (op)
    {
    case 1:
    {
        catalogo();
    }
    break;
    
    case 2:
    {
        //clihistorial++;
        venderProductos();
    }
    break;
    
    case 3:
    {
        historial();
    }
    break;
    
    case 4:
    {
        mostrarClientes();
    }
    break;
    
    case 5:
    {
        system("cls");
        cout << inexcl << "Hasta luego!" << endl;
        Sleep(1000);
        exit(true);
    }
    break;
    
    default:
    {
        cout << endl;
        cout << inexcl << "No existe esa opci" << oi << "n!" << endl;
        cout << "Digite nuevamente" << endl;
        Sleep(2000);
        main();
    }
    break;
    }
}

void catalogo()
{
    int op;
    string palabra = "Catalogo";
    int size;
    size = palabra.length();
    system("cls");
    cout << "Cat" << ai << "logo" << endl;
    rayitas(size);
    cout << "\nPor favor, seleccione la categor" << ii << "a: " << endl;
    cout << "\n1. Componentes/Chips" << endl;
    cout << "2. Comidas/Bebidas" << endl;
    cout << "3. B" << ui << "squeda por ID" << endl;
    cout << "4. Volver al men" << ui << " principal" << endl;
    cout << "\nOpci" << oi << "n: ";
    cin >> op;
    
    switch (op)
    {
    case 1:
    {
        string palabra = "Componentes/Chips";
        int size;
        size = palabra.length();
        system("cls");
        cout << "Componentes/Chips" << endl;
        rayitas(size);
        cout << "\nDetalle";
        gotoxy(32, 2);
        cout << "ID";
        gotoxy(50, 2);
        cout << "Precio" << endl;
        gotoxy(0, 4);
        
        for (int i = 0; i < 9; i++)
        {
            cout << productos[i].nombre;
            gotoxy(32, 4 + i);
            cout << productos[i].idproducto;
            gotoxy(50, 4 + i);
            cout << productos[i].precio << " Bs." << endl;
            Sleep(50);
        }
        
        cout << "\nPresione enter para volver al men" << ui << " de categor" << ii << "as...";
        system("pause -->NUL");
        catalogo();
    }
    break;
    
    case 2:
    {
        string palabra = "Comidas/Bebidas";
        int size, a = 0;
        size = palabra.length();
        system("cls");
        cout << "Comidas/Bebidas" << endl;
        rayitas(size);
        cout << "\nComidas" << endl;
        cout << "\nDetalle";
        gotoxy(32, 4);
        cout << "ID" << endl;
        gotoxy(50, 4);
        cout << "Precio" << endl;
        gotoxy(0, 6);
        
        for (int i = 9; i < 22; i++)
        {
            cout << productos[i].nombre;
            gotoxy(32, 6 + a);
            cout << productos[i].idproducto;
            gotoxy(50, 6 + a);
            a++;
            cout << productos[i].precio << " Bs." << endl;
            Sleep(50);
        }
        
        a = 0;
        cout << "\nPresione enter para ver las bebidas...";
        system("pause -->NUL");
        system("cls");
        cout << "Comidas/Bebidas" << endl;
        rayitas(size);
        cout << "\nBebidas" << endl;
        cout << "\nDetalle";
        gotoxy(32, 4);
        cout << "ID";
        gotoxy(50, 4);
        cout << "Precio" << endl;
        gotoxy(0, 6);
        
        for (int i = 22; i < totprod; i++)
        {
            cout << productos[i].nombre;
            gotoxy(32, 6 + a);
            cout << productos[i].idproducto;
            gotoxy(50, 6 + a);
            a++;
            cout << productos[i].precio << " Bs." << endl;
            Sleep(50);
        }
        
        a = 0;
        cout << "\nPresione enter para volver al men" << ui << " de categor" << ii << "as...";
        system("pause -->NUL");
        catalogo();
    }
    break;
    
    case 3:
    {
        busquedaProductos();
    }
    break;
    
    case 4:
    {
        menu();
    }
    break;
    
    default:
    {
        cout << inexcl << "No existe esa opci" << oi << "n!" << endl;
        cout << "Digite nuevamente" << endl;
        Sleep(2000);
        catalogo();
    }
    break;
    }
}
//
void venderProductos()
{
    string palabra = "Venta", nombreMostrar, auxproducto, auxnombre, aux2producto;
    int size, a = 0, nosabe = 0, monto = 0, cantidad[100];
    int e = 0;
    bool repite = true;
    long int auxNIT = 0;
    size = palabra.length();
    int op;
    int prod = 1;
    string conf, op2;
    bool ok = false, ok2 = false;
    system("cls");
    cout << "1. Cliente existente" << endl;
    cout << "2. Cliente nuevo" << endl;
    cout << "3. Volver" << endl;
    cout << "Respuesta: ";
    cin >> op;
    
    switch (op)
    {
    case 1:
    {
        int id;
        system("cls");
        palabra = "Clientes";
        cout << "Clientes" << endl;
        rayitas(palabra.size());
        cout << "\n";
        cout << "Cliente";
        gotoxy(32, 2);
        cout << "ID" << endl;
        gotoxy(0, 4);
        
        for (int i = 0; i < cli; i++)
        {
            cout << clientes[i].nombre;
            gotoxy(32, 4 + i);
            cout << clientes[i].idcliente << endl;
        }
        
        cout << "\nSeleccione un cliente digitando su respectiva ID" << endl;
        cout << "Respuesta: ";
        cin >> id;
        int r;
        
        for (int i = 0; i < cli; i++)
        {
            if (id == clientes[i].idcliente)
            {
                r = i;
            }
        }
        
        system("cls");
        prod = clientes[r].cantprod;
        cout << "Venta" << endl;
        rayitas(size);
        cout << endl;
        mostrarProductos(2);
        palabra = "Factura";
        size = palabra.size();
        cout << "\nFactura" << endl;
        rayitas(size);
        fflush(stdin);
        clientes[r].facturas++;
        int e = clientes[r].facturas;
        cout << "\nNombre: " << clientes[r].nombre << endl;
        cout << "Numero de NIT: " << clientes[r].numeroNIT << endl;
    nuevamente1_1:
        auxproducto = "";
        int precio[100], k = 0;
        fflush(stdin);
        int cadena, d;
        cout << "Digite el producto que desea comprar: ";
        getline(cin, auxproducto);
        
        for (int i = 0; i < totprod && ok == false; i++)
        {
            if (aMayus(auxproducto) == aMayus(productos[i].nombre))
            {
                ok = true;
                d = i;
            }
        }
        
        if (ok == true)
        {
            clientes[r].productos[prod - 1] = productos[d].nombre;
            precio[k] = productos[d].precio;
            cout << "Digite la cantidad: ";
            cin >> cantidad[a];
            clientes[r].precios[k] = productos[d].precio;
            monto = monto + (productos[d].precio * cantidad[a]);
            clientes[r].cantidad[a] = cantidad[a];
            //monto += productos[a].precio;
            cout << "\n";
            cout << inpreg << "Desea a" << en << "adir otro producto?" << endl;
            cout << "Si/No" << endl;
            cout << "Opci" << oi << "n: ";
            cin >> conf;
            
            while (conf == "si" || conf == "Si" || conf == "SI" || conf == "sI" || conf == "s" || conf == "S")
            {
                cout << endl;
                ok = false;
                k++;
                a++;
                prod++;
                aux2producto = "";
                //aux = clientes[cli - 1].productos[prod - 1];
                fflush(stdin);
            nuevamente2_2:
                /*if (nosabe == 3)
                {
                    cout << "\nParece que ten" << ei << "s problemas para escribir el producto..." << endl;
                    cout << inpreg << "Desea ver el cat" << ai << "logo?" << endl;
                    cout << "Si/No" << endl;
                    cin >> op2;
                
                    if (op2 == "si" || op2 == "SI" || op2 == "Si" || op2 == "sI" || op2 == "s" || op2 == "S")
                    {
                        system("cls");
                        for (int i = 0; i < totprod; i++)
                        {
                            cout << productos[i].nombre;
                            gotoxy(32, 0 + i);
                            cout << productos[i].idproducto;
                            gotoxy(50, 0 + i);
                            cout << productos[i].precio << " Bs." << endl;
                        }
                        cout << "\n";
                        cout << "Presione enter para volver a introducir el producto...";
                        fflush(stdin);
                        system("pause -->NUL");
                        system("cls");
                        nosabe = 0;
                        goto nuevamente2;
                    }
                }
                else
                {*/
                fflush(stdin);
                cout << "Digite el producto que desea comprar: ";
                getline(cin, aux2producto);
                
                for (int i = 0; i < totprod && ok == false; i++)
                {
                    if (aMayus(aux2producto) == aMayus(productos[i].nombre))
                    {
                        ok = true;
                        d = i;
                    }
                }
                
                if (ok == true)
                {
                    cout << "Digite la cantidad: ";
                    cin >> cantidad[a];
                    clientes[r].cantidad[a] = cantidad[a];
                    precio[k] = productos[r].precio;
                    clientes[r].precios[k] = productos[d].precio;
                    monto += (productos[d].precio * cantidad[a]);
                    cout << "\n";
                    cout << inpreg << "Desea a" << en << "adir otro producto?" << endl;
                    cout << "Si/No" << endl;
                    cout << "Opci" << oi << "n: ";
                    cin >> conf;
                }
                else
                {
                    nosabe++;
                    cout << "\n";
                    cout << inexcl << "El producto introducido no existe!" << endl;
                    cout << "Introduzca un producto v" << ai << "lido, por favor" << endl;
                    goto nuevamente2_2;
                }
                
                clientes[r].productos[prod - 1] = productos[d].nombre;
            }
            
            clientes[r].cantprod = prod;
            system("cls");
            clientes[r].monto[e] = monto;
            cout << "Nombre: " << clientes[r].nombre << endl;
            cout << "N" << ui << "mero de NIT: " << clientes[cli - 1].numeroNIT << endl;
            
            for (int a = 0; a < clientes[r].cantprod; a++)
            {
                cout << "Producto " << a + 1 << ": " << clientes[cli - 1].productos[a] << endl;
                cout << "Cantidad: " << cantidad[a] << endl;
                cout << "Precio: " << precio[a] << " Bs." << endl;
                cout << "\n";
            }
            
            rayitas(30);
            cout << "\nEl monto a pagar ser" << ii << "a: " << clientes[cli - 1].monto[e] << " Bs." << endl;
            cout << "\n";
            cout << inpreg << "Desea guardar la factura?" << endl;
            cout << "Si/No" << endl;
            cout << "Opci" << oi << "n: ";
            cin >> conf;
            
            if (conf == "si" || conf == "Si" || conf == "SI" || conf == "s" || conf == "S")
            {
                system("cls");
                cout << inexcl << "La factura se ha guardado correctamente!" << endl;
                cout << "Presione enter para volver al men" << ui << " principal...";
                system("pause -->NUL");
                menu();
            }
            else
            {
                system("cls");
                cli--;
                cout << "La factura ha sido borrada correctamente" << endl;
                cout << "Presione enter para volver al men" << ui << " principal...";
                system("pause -->NUL");
                menu();
            }
        }
        else
        {
            nosabe++;
            cout << "\n";
            cout << inexcl << "El producto introducido no existe!" << endl;
            cout << "Introduzca un producto v" << ai << "lido, por favor" << endl;
            goto nuevamente1_1;
        }
    }
    break;
    
    case 2:
    {
        cli++;
        system("cls");
        cout << "Venta" << endl;
        rayitas(size);
        cout << endl;
        mostrarProductos(2);
        palabra = "Factura";
        size = palabra.size();
        cout << "\nFactura" << endl;
        rayitas(size);
        fflush(stdin);
        clientes[cli - 1].facturas = 1;
        clientes[cli - 1].idcliente = cli;
        auxnombre = "";
        cout << "\nDigite su nombre: ";
        getline(cin, auxnombre);
        clientes[cli - 1].nombre = auxnombre;
        cout << "Digite su n" << ui << "mero de NIT: ";
        cin >> auxNIT;
        /*while (repite == true)
        {
        if (esEntero(auxNIT))
        {
            repite = false;
        }
        else
        {
            repite = true;
            cout << "\nEl n" << ui << "mero de NIT debe de ser num" << ei << "rico" << endl;
            cout << "Por favor, introduzca nuevamente..." << endl;
            cout << "\nN" << ui << "mero de NIT: ";
            getline(cin, auxNIT);
        }
        }*/
        clientes[cli - 1].numeroNIT = auxNIT;
        fflush(stdin);
    nuevamente1:
        /*if (nosabe == 3)
        {
        cout << "\nParece que ten" << ei << "s problemas para escribir el producto..." << endl;
        cout << inpreg << "Desea ver el cat" << ai << "logo?" << endl;
        cout << "Si/No" << endl;
        cin >> op2;
        
        if (op2 == "si" || op2 == "SI" || op2 == "Si" || op2 == "sI" || op2 == "s" || op2 == "S")
        {
            system("cls");
            for (int i = 0; i < totprod; i++)
            {
                cout << productos[i].nombre;
                gotoxy(32, 0 + i);
                cout << productos[i].idproducto;
                gotoxy(50, 0 + i);
                cout << productos[i].precio << " Bs." << endl;
            }
            cout << "\n";
            fflush(stdin);
            cout << "Presione enter para volver a introducir el producto...";
            system("pause -->NUL");
            system("cls");
            nosabe = 0;
            goto nuevamente1;
        }
        }
        else
        {*/
        auxproducto = "";
        int precio[100], k = 0;
        fflush(stdin);
        int cadena, r;
        cout << "Digite el producto que desea comprar: ";
        getline(cin, auxproducto);
        
        for (int i = 0; i < totprod && ok == false; i++)
        {
            if (aMayus(auxproducto) == aMayus(productos[i].nombre))
            {
                ok = true;
                r = i;
            }
        }
        
        if (ok == true)
        {
            clientes[cli - 1].productos[prod - 1] = productos[r].nombre;
            precio[k] = productos[r].precio;
            cout << "Digite la cantidad: ";
            cin >> cantidad[a];
            clientes[cli - 1].precios[k] = productos[r].precio;
            monto = monto + (productos[r].precio * cantidad[a]);
            clientes[cli - 1].cantidad[a] = cantidad[a];
            //monto += productos[a].precio;
            cout << "\n";
            cout << inpreg << "Desea a" << en << "adir otro producto?" << endl;
            cout << "Si/No" << endl;
            cout << "Opci" << oi << "n: ";
            cin >> conf;
            
            while (conf == "si" || conf == "Si" || conf == "SI" || conf == "sI" || conf == "s" || conf == "S")
            {
                cout << endl;
                ok = false;
                k++;
                a++;
                prod++;
                aux2producto = "";
                //aux = clientes[cli - 1].productos[prod - 1];
                fflush(stdin);
            nuevamente2:
                /*if (nosabe == 3)
                {
                    cout << "\nParece que ten" << ei << "s problemas para escribir el producto..." << endl;
                    cout << inpreg << "Desea ver el cat" << ai << "logo?" << endl;
                    cout << "Si/No" << endl;
                    cin >> op2;
                
                    if (op2 == "si" || op2 == "SI" || op2 == "Si" || op2 == "sI" || op2 == "s" || op2 == "S")
                    {
                        system("cls");
                        for (int i = 0; i < totprod; i++)
                        {
                            cout << productos[i].nombre;
                            gotoxy(32, 0 + i);
                            cout << productos[i].idproducto;
                            gotoxy(50, 0 + i);
                            cout << productos[i].precio << " Bs." << endl;
                        }
                        cout << "\n";
                        cout << "Presione enter para volver a introducir el producto...";
                        fflush(stdin);
                        system("pause -->NUL");
                        system("cls");
                        nosabe = 0;
                        goto nuevamente2;
                    }
                }
                else
                {*/
                fflush(stdin);
                cout << "Digite el producto que desea comprar: ";
                getline(cin, aux2producto);
                
                for (int i = 0; i < totprod && ok == false; i++)
                {
                    if (aMayus(aux2producto) == aMayus(productos[i].nombre))
                    {
                        ok = true;
                        r = i;
                    }
                }
                
                if (ok == true)
                {
                    cout << "Digite la cantidad: ";
                    cin >> cantidad[a];
                    clientes[cli - 1].cantidad[a] = cantidad[a];
                    precio[k] = productos[r].precio;
                    clientes[cli - 1].precios[k] = productos[r].precio;
                    monto += (productos[r].precio * cantidad[a]);
                    cout << "\n";
                    cout << inpreg << "Desea a" << en << "adir otro producto?" << endl;
                    cout << "Si/No" << endl;
                    cout << "Opci" << oi << "n: ";
                    cin >> conf;
                }
                else
                {
                    nosabe++;
                    cout << "\n";
                    cout << inexcl << "El producto introducido no existe!" << endl;
                    cout << "Introduzca un producto v" << ai << "lido, por favor" << endl;
                    goto nuevamente2;
                }
                
                clientes[cli - 1].productos[prod - 1] = productos[r].nombre;
            }
            
            clientes[cli - 1].cantprod = prod;
            system("cls");
            int e = 0;
            clientes[cli - 1].monto[e] = monto;
            cout << "Nombre: " << clientes[cli - 1].nombre << endl;
            cout << "N" << ui << "mero de NIT: " << clientes[cli - 1].numeroNIT << endl;
            
            for (int a = 0; a < clientes[cli - 1].cantprod; a++)
            {
                cout << "Producto " << a + 1 << ": " << clientes[cli - 1].productos[a] << endl;
                cout << "Cantidad: " << cantidad[a] << endl;
                cout << "Precio: " << precio[a] << " Bs." << endl;
                cout << "\n";
            }
            
            rayitas(30);
            cout << "\nEl monto a pagar ser" << ii << "a: " << clientes[cli - 1].monto[e] << " Bs." << endl;
            cout << "\n";
            cout << inpreg << "Desea guardar la factura?" << endl;
            cout << "Si/No" << endl;
            cout << "Opci" << oi << "n: ";
            cin >> conf;
            
            if (conf == "si" || conf == "Si" || conf == "SI" || conf == "s" || conf == "S")
            {
                system("cls");
                cout << inexcl << "La factura se ha guardado correctamente!" << endl;
                cout << "Presione enter para volver al men" << ui << " principal...";
                system("pause -->NUL");
                menu();
            }
            else
            {
                system("cls");
                cli--;
                cout << "La factura ha sido borrada correctamente" << endl;
                cout << "Presione enter para volver al men" << ui << " principal...";
                system("pause -->NUL");
                menu();
            }
        }
        else
        {
            nosabe++;
            cout << "\n";
            cout << inexcl << "El producto introducido no existe!" << endl;
            cout << "Introduzca un producto v" << ai << "lido, por favor" << endl;
            goto nuevamente1;
        }
    }
    break;
    
    case 3:
    {
        menu();
    }
    break;
    }
}
//
void historial()
{
    string palabra = "Historial de facturas";
    int size;
    int e = 0;
    size = palabra.length();
    system("cls");
    cout << "Historial de Facturas" << endl;
    rayitas(size);
    
    if (cli > 1)
    {
        cout << "\n";
        
        for (int i = 0; i < cli - 1; i++)
        {
            cout << "Factura " << i + 1 << endl;
            rayitas(11);
            cout << "\nNombre del cliente: " << clientes[i + 1].nombre << endl;
            cout << "N" << ui << "mero de NIT: " << clientes[i + 1].numeroNIT << endl;
            
            if (clientes[i + 1].cantprod > 0)
            {
                for (int a = 0; a < clientes[i + 1].cantprod; a++)
                {
                    cout << "Producto " << a + 1 << ": " << clientes[i + 1].productos[a] << endl;
                    cout << "Cantidad: " << clientes[i + 1].cantidad[a] << endl;
                    cout << "Precio: " << clientes[i + 1].precios[a] << " Bs." << endl;
                    cout << "\n";
                }
            }
            else
            {
                cout << inexcl << "El cliente no ha comprado ning" << ui << "n producto!" << endl;
            }
            
            rayitas(15);
            cout << endl;
            cout << "Monto: " << clientes[i + 1].monto[e] << " Bs." << endl;
            cout << "\n";
            rayitas(30);
            cout << endl;
        }
    }
    else
    {
        cout << "\n";
        cout << inexcl << "No hay ning" << ui << "n cliente por ahora!" << endl;
    }
    
    cout << "\nPresione enter para volver al men" << ui << " principal...";
    system("pause -->NUL");
    menu();
}
//
void mostrarClientes()
{
    string palabra = "Lista de clientes";
    int size;
    string op;
    int id;
    size = palabra.length();
    system("cls");
    cout << "Lista de Clientes" << endl;
    rayitas(size);
    cout << "\n";
    cout << "Cliente";
    gotoxy(32, 2);
    cout << "ID" << endl;
    gotoxy(0, 4);
    
    for (int i = 0; i < cli; i++)
    {
        cout << clientes[i].nombre;
        gotoxy(32, 4 + i);
        cout << clientes[i].idcliente << endl;
    }
    
    cout << "\n";
    cout << inpreg << "Desea ver los datos de alg" << ui << "n cliente?" << endl;
    cout << "Si/No" << endl;
    cout << "Respuesta: ";
    cin >> op;
    
    while (op == "Si" || op == "si" || op == "sI" || op == "s" || op == "S")
    {
        cout << "Digite el ID del cliente: ";
        cin >> id;
        int r;
        
        for (int i = 0; i < cli; i++)
        {
            if (id == clientes[i].idcliente)
            {
                r = i;
            }
        }
        
        palabra = "Cliente";
        int e = 0;
        system("cls");
        cout << "Cliente" << endl;
        rayitas(palabra.size());
        cout << endl;
        cout << "Nombre: " << clientes[r].nombre << endl;
        cout << "NIT: " << clientes[r].numeroNIT << endl;
        cout << "\nFacturas" << endl;
        palabra = "Facturas";
        rayitas(palabra.size());
        cout << endl;
        
        for (int i = 1; i <= clientes[r].facturas; i++)
        {
            cout << "Factura " << i << endl;
            
            for (int a = 0; a < clientes[r].cantprod; a++)
            {
                cout << "Producto " << a + 1 << ": " << clientes[r].productos[a] << endl;
                cout << "Cantidad: " << clientes[r].cantidad[a] << endl;
                cout << "Precio: " << clientes[r].precios[a] << " Bs." << endl;
                cout << "\n";
            }
            
            cout << "Monto: " << clientes[r].monto[e] << endl;
            e++;
            rayitas(15);
        }
        
        system("pause");
        menu();
        //TODO
    }
    
    cout << "Presione enter para volver al men" << ui << " principal...";
    system("pause -->NUL");
    menu();
}
//
void rayitas(int n)
{
    char a = 196;
    
    for (int i = 1; i <= n; i++)
    {
        cout << a;
        Sleep(8);
    }
    
    Beep(750, 300);
}
//
void registrodeProductos()
{
    int i = 0;
    //Componentes/Chips
    productos[i].idproducto = i + 1;
    productos[i].nombre = "Circuito Integrado 7404";
    productos[i].precio = 10;
    i++;
    productos[i].idproducto = i + 1;
    productos[i].nombre = "Circuito Integrado 7402";
    productos[i].precio = 10;
    i++;
    productos[i].idproducto = i + 1;
    productos[i].nombre = "Circuito Integrado 7432";
    productos[i].precio = 10;
    i++;
    productos[i].idproducto = i + 1;
    productos[i].nombre = "Circuito Integrado 7474";
    productos[i].precio = 10;
    i++;
    productos[i].idproducto = i + 1;
    productos[i].nombre = "Resistencias";
    productos[i].precio = 1;
    i++;
    productos[i].idproducto = i + 1;
    productos[i].nombre = "LED's";
    productos[i].precio = 1;
    i++;
    productos[i].idproducto = i + 1;
    productos[i].nombre = "Switches";
    productos[i].precio = 1;
    i++;
    productos[i].idproducto = i + 1;
    productos[i].nombre = "Protoboard's";
    productos[i].precio = 25;
    i++;
    productos[i].idproducto = i + 1;
    productos[i].nombre = "Servomotor";
    productos[i].precio = 50;
    i++;
    //Comidas
    productos[i].idproducto = i + 1;
    productos[i].nombre = "Hamburguesa";
    productos[i].precio = 25;
    i++;
    productos[i].idproducto = i + 1;
    productos[i].nombre = "Hamburguesa Doble";
    productos[i].precio = 30;
    i++;
    productos[i].idproducto = i + 1;
    productos[i].nombre = "Jose Burger";
    productos[i].precio = 40;
    i++;
    productos[i].idproducto = i + 1;
    productos[i].nombre = "Mexicana";
    productos[i].precio = 200;
    i++;
    productos[i].idproducto = i + 1;
    productos[i].nombre = "La Come Gorda";
    productos[i].precio = 5;
    i++;
    productos[i].idproducto = i + 1;
    productos[i].nombre = "Albondigas";
    productos[i].precio = 15;
    i++;
    productos[i].idproducto = i + 1;
    productos[i].nombre = "Hamburguesa Jhair";
    productos[i].precio = 10;
    i++;
    productos[i].idproducto = i + 1;
    productos[i].nombre = "Hamburguesa DJ";
    productos[i].precio = 25;
    i++;
    productos[i].idproducto = i + 1;
    productos[i].nombre = "Empanada";
    productos[i].precio = 3;
    i++;
    productos[i].idproducto = i + 1;
    productos[i].nombre = "Pacumuto";
    productos[i].precio = 8;
    i++;
    productos[i].idproducto = i + 1;
    productos[i].nombre = "Piquemacho";
    productos[i].precio = 40;
    i++;
    productos[i].idproducto = i + 1;
    productos[i].nombre = "Patasca";
    productos[i].precio = 20;
    i++;
    productos[i].idproducto = i + 1;
    productos[i].nombre = "Lasagna";
    productos[i].precio = 25;
    i++;
    //Bebidas
    productos[i].idproducto = i + 1;
    productos[i].nombre = "Coca Cola";
    productos[i].precio = 10;
    i++;
    productos[i].idproducto = i + 1;
    productos[i].nombre = "Sprite";
    productos[i].precio = 10;
    i++;
    productos[i].idproducto = i + 1;
    productos[i].nombre = "Fanta";
    productos[i].precio = 10;
    i++;
    productos[i].idproducto = i + 1;
    productos[i].nombre = "Four Loko";
    productos[i].precio = 25;
    i++;
    productos[i].idproducto = i + 1;
    productos[i].nombre = "Cafe";
    productos[i].precio = 5;
    i++;
    productos[i].idproducto = i + 1;
    productos[i].nombre = "Te";
    productos[i].precio = 3;
    i++;
}
//
void busquedaProductos()
{
    string palabra = "Busqueda de productos";
    int size, o;
    char id[2];
    int aux;
    string opc;
    bool ok = false;
    size = palabra.length();
    
    do
    {
        system("cls");
        cout << "B" << ui << "squeda de Productos" << endl;
        rayitas(size);
        ok = false;
    nuevamente3:
        cout << "\nDigite el ID(productos totales: " << totprod << ")" << endl;
        cout << "Digite 0 para mostrar todos los productos: ";
        cin >> id;
        cout << "\n";
        
        if (atoi(id) == 0)
        {
            for (int i = 0; i < totprod; i++)
            {
                cout << productos[i].nombre;
                gotoxy(32, 5 + i);
                cout << productos[i].idproducto;
                gotoxy(50, 5 + i);
                cout << productos[i].precio << " Bs." << endl;
                Sleep(50);
            }
            
            cout << "\nPresione enter para volver al men" << ui << " principal...";
            system("pause -->NUL");
            menu();
        }
        else
        {
            aux = atoi(id);
            
            for (int i = 0; i < totprod && ok == false; i++)
            {
                if (aux == productos[i].idproducto)
                {
                    ok = true;
                    o = i;
                }
            }
            
            if (ok == true)
            {
                cout << "Se encontr" << oi << " el producto: " << productos[o].nombre << endl;
                cout << "Y su precio es de: " << productos[o].precio << " Bs." << endl;
                cout << "\n";
                cout << inpreg << "Desea seguir buscando?" << endl;
                cout << "Si/No" << endl;
                cout << "\nOpci" << oi << "n: ";
                cin >> opc;
            }
            else
            {
                cout << "\nEl ID ingresado no existe";
                goto nuevamente3;
            }
        }
        
        /*cout << "\nSe encontr" << oi << " el producto: " << productos[id - 1].nombre << endl;*/
        system("cls");
    } while (opc == "si" || opc == "Si" || opc == "SI");
    
    catalogo();
}
//
void mostrarProductos(int n)
{
    for (int i = 0; i < totprod; i++)
    {
        cout << productos[i].nombre;
        gotoxy(32, n + i);
        cout << productos[i].idproducto;
        gotoxy(50, n + i);
        cout << productos[i].precio << " Bs." << endl;
        Sleep(40);
    }
}
//
string aMayus(string cadena)
{
    for (int i = 0; i < cadena.length(); i++)
    {
        cadena[i] = toupper(cadena[i]);
    }
    
    return cadena;
}
//