#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#define pf printf
#define sf scanf
#include <ctype.h>
#define TOPE 20

int main()
{
    setlocale(LC_CTYPE, "spanish");
    int opc, siExiste = 0;
    int clave[TOPE], CVE;
    int compra;
    float precios[TOPE];
    float pago, dinero, cambio;
    int existencias[TOPE];
    char productos[TOPE][10], respuesta, estado[TOPE];
    int x = 1, y = 1;

    do {
        system("cls");
        pf("Venta de productos\n");
        pf("1-REGISTRAR PRODUCTO\n");
        pf("2-LISTA DE PRODUCTOS\n");
        pf("3-LISTA DE PRODUCTOS DADOS DE ALTA\n");
        pf("4-CONSULTAR PRODUCTO\n");
        pf("5-ACTUALIZAR PRECIOS\n");
        pf("6-BAJA DE PRODUCTO\n");
        pf("7-LISTA DE PRODUCTOS DADOS DE BAJA\n");
        pf("8-VENTA DE PRODUCTO\n");
        pf("9-SALIR\n");
        pf("Seleccione una opcion:\n");
        sf("%d", &opc);

        
        while (opc < 1 || opc > 9)
        {
            pf("Opcion incorrecta\n");
            pf("Seleccione una opcion:\n");
            sf("%d", &opc);
        }

        switch(opc)
        {
            case 1:
                system("cls");
                pf("---REGISTRAR PRODUCTO---\n");
                do {
                    pf("clave:\n");
                    sf("%d", &clave[x]);
                    pf("Productos:\n");
                    sf("%s", productos[x]); 
                    pf("precio $");
                    sf("%f", &precios[x]);
                    estado[x] = 'A';
                    pf("EXISTENCIAS\n");
                    sf("%d", &existencias[x]);
                    pf("Desea registrar otro producto S/N: ");
                    sf(" %c", &respuesta);
                    x++;
                    respuesta = toupper(respuesta);
                } while (respuesta == 'S');
                break;

            case 2:
                y = 1;
                system("cls");
                pf("---LISTA DE PRODUCTOS---\n");
                pf("clave\tproductos\tprecios\texistencias\testado\n");
                do {
                    
                    pf("%d\t%s\t\t$%.2f\t%d\t", clave[y], productos[y], precios[y], existencias[y]);
                    if(estado[y] == 'A')
                    {
                        pf("ALTA\n");
                    }
                    else
                    {
                        if(estado[y] == 'B')
                            pf("BAJA\n");
                    }
                    y++;
                } while (y < x);
                break;

            case 3:
                y = 1;
                system("cls");
                pf("---PRODUCTOS DADOS DE ALTA---\n");
                pf("clave\tproductos\tprecios\testado\n");
                do {
                    if(estado[y] == 'A')
                    {
                        pf("%d\t%s\t$%.2f\t%c\n", clave[y], productos[y], precios[y], estado[y]);
                    }
                    y++;
                } while(y < x); 
                break;

            case 4:
                siExiste = 0;
                system("cls");
                pf("---CONSULTAR PRODUCTO---\n");
                y = 1;
                pf("Que clave desea consultar?: ");
                sf("%d", &CVE);
                do {
                    if(CVE == clave[y])
                    {
                        pf("Clave: %d\n", clave[y]);
                        pf("Producto: %s\n", productos[y]);
                        pf("Precio: %.2f\n", precios[y]);
                        pf("Estado: %c\n", estado[y]);
                        siExiste = 1;
                    }
                    y++;
                } while(y < x);
                if(siExiste == 0)
                {
                    pf("Esa clave no existe\n");
                }
                break;

            case 5:
                siExiste = 0;
                system("cls");
                pf("---ACTUALIZAR PRODUCTO---\n");
                y = 1;
                pf("Que clave de producto busca?\n");
                sf("%d", &CVE);
                do {
                    if(CVE == clave[y])
                    {
                        pf("Clave: %d\n", clave[y]);
                        pf("Producto: %s\n", productos[y]);
                        pf("Precio actual: %.2f\n", precios[y]);
                        pf("Estado: %c\n", estado[y]);
                        pf("Precio nuevo $: ");
                        sf("%f", &precios[y]);
                        siExiste = 1;
                    }
                    y++;
                } while(y < x);
                if(siExiste == 0)
                {
                    pf("Esa clave no existe\n");
                }
                break;

            case 6:
                siExiste = 0;
                system("cls");
                pf("---BAJA DE UN PRODUCTO---\n");
                y = 1;
                pf("Que clave de producto busca?\n");
                sf("%d", &CVE);
                do {
                    if(CVE == clave[y])
                    {
                        pf("Producto: %s\n", productos[y]);
                        pf("Precio: %.2f\n", precios[y]);
                        if(estado[y] == 'A') 
                        {
                            pf("Estado: ALTA\n");
                        }
                        else
                        {
                            pf("Estado: BAJA\n");
                        }
                        siExiste = 1;
                        estado[y] = 'B';
                        pf("El producto fue dado de baja...\n");
                    }
                    y++;
                } while(y < x);
                if(siExiste == 0)
                {
                    pf("Esa clave no existe\n");
                }
                break;

            case 7:
                y = 1;
                system("cls");
                pf("---PRODUCTOS DADOS DE BAJA---\n");
                pf("clave\tproductos\tprecios\testado\n");
                do {
                    if(estado[y] == 'B')
                    {
                        pf("%d\t%s\t$%.2f\t%c\n", clave[y], productos[y], precios[y], estado[y]);
                    }
                    y++;
                } while(y < x); 
                break;

            case 8:
                siExiste = 0;
                system("cls");
                pf("VENTAS DE PRODUCTO\n");
                y = 1;
                pf("Que producto desea comprar? (Clave): ");
                sf("%d", &CVE);
                do {
                    if(CVE == clave[y])
                    {
                        siExiste = 1;

                        
                        if(estado[y] != 'A')
                        {
                            pf("Error: El producto esta dado de BAJA. No se puede realizar la venta.\n");
                            break; 
                        }

                        pf("Clave: %d\n", clave[y]);
                        pf("Producto: %s\n", productos[y]);
                        pf("Precio: $%.2f\n", precios[y]);
                        pf("Estado: %c (ALTA)\n", estado[y]);
                        pf("Existencias: %d\n", existencias[y]);

                        pf("Cuantas unidades va comprar?: ");
                        sf("%d", &compra);

                        while(compra > existencias[y] || compra <= 0)
                        {
                            pf("No hay existencias suficientes o cantidad invalida.\n");
                            pf("Cuantas unidades desea?: ");
                            sf("%d", &compra);
                        }

                       
                        pago = compra * precios[y];
                        pf("El pago total es de: $%.2f\n", pago);

                        
                        pf("Con cuanto va pagar? $: ");
                        sf("%f", &dinero);

                        while(dinero < pago)
                        {
                            pf("Dinero insuficiente. El total es de $%.2f\n", pago);
                            pf("Ingrese una cantidad mayor o igual $: ");
                            sf("%f", &dinero);
                        }

                        
                        existencias[y] = existencias[y] - compra;
                        cambio = dinero - pago;
                        pf("¡Venta realizada con exito!\n");
                        pf("Su cambio es de: $%.2f\n", cambio);
                    }
                    y++;
                } while(y < x);

                if(siExiste == 0)
                {
                    pf("Esa clave no existe\n");
                }
                break;
        } 

        system("pause");
    } while(opc != 9); 
}


   

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: