Está en la página 1de 4

#include<iostream>

#include<conio.h>
#include<string.h>
#include<stdlib.h>
#include<iomanip>
#include<time.h>

using namespace std;

//----------------------------------------------------------------------

struct t_producto
{
int codigo;
char desc[10];
float precio;
int cantidad;
int stock;

}; t_producto producto[5] ;

char nombre[5][10]={ "camara","telefono","laptop","tablet","consola" } ;

void generar_datos(int num);


void mostrar_datos(int num);
void vender(int num);
void mostrar_stock(int num);

int main()
{

srand(time(NULL));

int opc;
int num=5,bandera=0;

while(opc!=4)
{
system("cls");
cout<<"\n";
cout<<setw(50)<<"[1] Generar y mostrar datos"<<endl<<endl;
cout<<setw(45)<<"[2] Vender un producto"<<endl<<endl;
cout<<setw(64)<<"[3] Productos por debajo del STOCK minino"<<endl<<endl;
cout<<setw(32)<<"[4] Salir"<<endl<<endl;
cout<<setw(32)<<"opc: "; cin>>opc;
switch(opc)
{
case 1:
if(bandera==0)
{
generar_datos(num);
bandera=1;
}
mostrar_datos(num);
getch(); break;
case 2:
vender(num);
break;
case 3:
mostrar_datos(num);
mostrar_stock(num);
getch(); break;

}
}
return 0;
}

//-----------------------------------
FUNCIONES-----------------------------------------------

//---------------------------------------------------------------------------------
----------
void generar_datos(int num)
{
int i;

for(i=0;i<num;i++)
{
producto[i].codigo=5000+rand()%(10000); // los
datos se generan aleatoriamente
strcpy(producto[i].desc,nombre[i]);
producto[i].precio=(rand()%(10000));
producto[i].cantidad=5+(rand()%(6));
producto[i].stock=4+(rand()%5);

}
//---------------------------------------------------------------------------------
----------
void mostrar_datos(int num)
{
int i;
system("cls"); //borrar pantalla
cout<<"\n\n\n";

cout<<setw(15)<<"codigo"<<setw(13)<<"descipcion"<<setw(10)<<"precio"<<setw(15) ;
cout<<"existencia"<<setw(10)<<"Stock"<<endl<<endl;

for(i=0;i<num;i++)
{
cout<<setw(15)<< producto[i].codigo;
cout<<setw(10)<< producto[i].desc;
cout<<setw(13)<< producto[i].precio;
cout<<setw(10)<< producto[i].cantidad;
cout<<setw(10)<< producto[i].stock;
cout<<endl<<endl;
}
}
//---------------------------------------------------------------------------------
----------
void vender(int num)

{ int flag = 0;
int codigo,cantidad,pos;
char resp;

int i;

system("cls");
do
{
mostrar_datos(num);

cout<<"\ncodigo del producto : "<<endl;


cin>>codigo;

for(int i=0;i<=num;i++)
{
if(codigo == producto[i].codigo)
{ flag=1; pos=i;}
}

if( flag == 1)
{
cout<<"\nCantidad a comprar : "<<endl;
cin>>cantidad;
if(cantidad>producto[pos].cantidad)
{
cout<<"La cantidad de productos que desea comprar es mayor
a la existencia";
getch();
}
else
{
producto[pos].cantidad=producto[pos].cantidad-
cantidad;

mostrar_datos(num);

cout<<"Desea adquirir otro producto? s/n :"<<endl;


cin>>resp;
}

if (flag == 0)
{cout<<"Codigo no valido"<<endl; getch(); }

}while(resp=='s' || resp=='S' ) ;

//---------------------------------------------------------------------------------
------------
void mostrar_stock(int num)
{
cout<<"Productos por debajo del Stock minimo: "<<endl<<endl;
for(int i=0;i<=num;i++)
{
if(producto[i].cantidad<producto[i].stock)
{

cout<<"codigo: "<<producto[i].codigo<<endl;
cout<<"descripcion: "<<producto[i].desc<<endl<<endl ;
}

}
}

También podría gustarte