#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);
}
To embed this project on your website, copy the following code and paste it into your website's HTML: