Академический Документы
Профессиональный Документы
Культура Документы
int IdCliente;
char nombre[30];
char email[80];
char telefono[12];
char NIT[10];
char estado;
};
struct regVendedor{
int IdVendedor;
char nombre[30];
char email[80];
char telefono[12];
char estado;
};
struct regProducto{
int IdProd;
char nombre[30];
float Precio_Unit;
float STOCK;
char estado;
};
struct regAutomotor{
int IdAuto;
char placa[12];
int IdCliente;
char estado;
};
struct regBomba{
int IdBomba;
char descripcion[20];
int IdProd;
int IdVend;
char estado;
};
struct regCompras{
int IdCompras;
char fecha[10];
int IdProd;
float cantidad;
float precio_total;
char estado;
};
struct regVentas{
int IdVentas;
char fecha[10];
int IdProd;
float cantidad;
float precio_total;
int IdBomba;
int IdAuto;
char estado;
};
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <iomanip>
#include <ctype.h>
#include <string.h>
using namespace std;
#include "estructuras.h"
#include "cliente.h"
#include "vendedor.h"
#include "producto.h"
#include "automotor.h"
#include "bomba.h"
#include "compras.h"
#include "ventas.h"
#include "reporte1.h"
#include "reporte2.h"
#include "reporte3.h"
#include "reporte4.h"
#include "reporte5.h"
#include "reporte6.h"
int main()
{int opcion;
char aux[30];
do{
system("cls");
void listarArchivocliente()
{FILE*ptr;
regCliente reg;
int cont=1;
ptr=fopen("cliente.dat","rb");
if(ptr!=NULL)
{fread(®,sizeof(reg),1,ptr);
system("cls");
cout<<endl<<"************************************************
CLIENTES ***********************************************";
cout<<endl<<" IdCliente Nombre Telefono
E-mail Nit ";
cout<<endl<<"================================================================
==================================================";
while(!feof(ptr))
{if(reg.estado=='N')
{mostrarRegistrocliente(reg,cont);
}
fread(®,sizeof(reg),1,ptr);
cont++;
}
fclose(ptr);
}
else
{cout<<"El archivo no existe.....";
}
getch();
}
void menuCliente()
{int opcion=0,nReg=0;
char aux[30];
do{
system("cls");
cout<<"****** M E N U C L I E N T E ******"<<endl;
cout<<"1.- Crear archivo"<<endl;
cout<<"2.- Adicionar Registro"<<endl;
cout<<"3.- Modificar Registro"<<endl;
cout<<"4.- Eliminar Registro"<<endl;
cout<<"5.- Buscar por numero de registro"<<endl;
cout<<"6.- Listar todo el archivo"<<endl;
cout<<"0.- Salir"<<endl;
do{cout<<"Seleccion una opcion: ";
do{gets(aux);
}while(strlen(aux)==0);
}while((validar(aux)==1));
opcion=atoi(aux);
switch(opcion){
case 1: crearArchivocliente();
break;
case 2: adicionarRegistrocliente();
break;
case 3: cout<<"\nIntroducir nro de registro a modificar : ";
cin>>nReg;
modificarRegistrocliente(nReg);
break;
case 4: cout<<"\nIntroducir nro de registro a Eliminar : ";
cin>>nReg;
eliminarRegistrocliente(nReg);
break;
case 5: cout<<"\nIntroducir nro de registro a Buscar : ";
cin>>nReg;
buscarRegistrocliente(nReg);
break;
case 6: listarArchivocliente();
break;
}
}while(opcion!=0);
}
//FIN DE LA PARTE DE CLIENTE
// TODO LO REFERENTE A AUTOMOTOR
//Validaciones
//Validar placa
bool validarplaca (char cadena[]){
int a, i=0;
bool val=true;
a= strlen(cadena);
while(i<a && val==true) {
if(isalpha(cadena[i])!=0 || cadena[i]==' '|| cadena[i]==0 ||
cadena[i]==1 || cadena[i]==3 || cadena[i]==4
|| cadena[i]==5 || cadena[i]==6 || cadena[i]==7 ||
cadena[i]==8 || cadena[i]==9){
i++;
}
else{
val=false;
}
}
return(val);
}
void listarArchivoautomotor()
{FILE*ptr;
regAutomotor reg;
int cont=1;
ptr=fopen("automotor.dat","rb");
if(ptr!=NULL)
{fread(®,sizeof(reg),1,ptr);
system("cls");
cout<<endl<<"************************************************
AUTOMOTOR ***********************************************";
cout<<endl<<" IdAutomotor Placa IdCliente
";
cout<<endl<<"================================================================
==================================================";
while(!feof(ptr))
{if(reg.estado=='N')
{mostrarRegistroautomotor(reg,cont);
}
fread(®,sizeof(reg),1,ptr);
cont++;
}
fclose(ptr);
}
else
{cout<<"El archivo no existe.....";
}
getch();
}
void menuAutomotor()
{int opcion=0,nReg=0;
char aux[30];
do{
system("cls");
cout<<"****** M E N U A U T O M O T O R ******"<<endl;
cout<<"1.- Crear archivo"<<endl;
cout<<"2.- Adicionar Registro"<<endl;
cout<<"3.- Modificar Registro"<<endl;
cout<<"4.- Eliminar Registro"<<endl;
cout<<"5.- Buscar por numero de registro"<<endl;
cout<<"6.- Listar todo el archivo"<<endl;
cout<<"0.- Salir"<<endl;
do{cout<<"Seleccion una opcion: ";
do{gets(aux);
}while(strlen(aux)==0);
}while((validar(aux)==1));
opcion=atoi(aux);
switch(opcion){
case 1: crearArchivoautomotor();
break;
case 2: adicionarRegistroautomotor();
break;
case 3: cout<<"\nIntroducir nro de registro a modificar : ";
cin>>nReg;
modificarRegistroautomotor(nReg);
break;
case 4: cout<<"\nIntroducir nro de registro a Eliminar : ";
cin>>nReg;
eliminarRegistroautomotor(nReg);
break;
case 5: cout<<"\nIntroducir nro de registro a Buscar : ";
cin>>nReg;
buscarRegistroautomotor(nReg);
break;
case 6: listarArchivoautomotor();
break;
}
}while(opcion!=0);
}
//FIN DE LA PARTE DE AUTOMOTOR
// TODO LO REFERENTE A BOMBA
//Validaciones
void listarArchivobomba()
{FILE*ptr;
regBomba reg;
int cont=1;
ptr=fopen("bomba.dat","rb");
if(ptr!=NULL)
{fread(®,sizeof(reg),1,ptr);
system("cls");
cout<<endl<<"************************************************
BOMBA ***********************************************";
cout<<endl<<" IdBomba Descripcion IdProducto
IdVendedor ";
cout<<endl<<"================================================================
==================================================";
while(!feof(ptr))
{if(reg.estado=='N')
{mostrarRegistrobomba(reg,cont);
}
fread(®,sizeof(reg),1,ptr);
cont++;
}
fclose(ptr);
}
else
{cout<<"El archivo no existe.....";
}
getch();
}
void menuBomba()
{int opcion=0,nReg=0;
char aux[30];
do{
system("cls");
cout<<"****** M E N U B O M B A ******"<<endl;
cout<<"1.- Crear archivo"<<endl;
cout<<"2.- Adicionar Registro"<<endl;
cout<<"3.- Modificar Registro"<<endl;
cout<<"4.- Eliminar Registro"<<endl;
cout<<"5.- Buscar por numero de registro"<<endl;
cout<<"6.- Listar todo el archivo"<<endl;
cout<<"0.- Salir"<<endl;
do{cout<<"Seleccion una opcion: ";
do{gets(aux);
}while(strlen(aux)==0);
}while((validar(aux)==1));
opcion=atoi(aux);
switch(opcion){
case 1: crearArchivobomba();
break;
case 2: adicionarRegistrobomba();
break;
case 3: cout<<"\nIntroducir nro de registro a modificar : ";
cin>>nReg;
modificarRegistrobomba(nReg);
break;
case 4: cout<<"\nIntroducir nro de registro a Eliminar : ";
cin>>nReg;
eliminarRegistrobomba(nReg);
break;
case 5: cout<<"\nIntroducir nro de registro a Buscar : ";
cin>>nReg;
buscarRegistrobomba(nReg);
break;
case 6: listarArchivobomba();
break;
}
}while(opcion!=0);
}
//FIN DE LA PARTE DE BOMBA
// TODO LO REFERENTE A BOMBA
}
//Validacion de solo numeros
int validar5(char cad[]){
int a,i=0,val=0;
a=strlen(cad);
while(i<a && val==0){
if(isdigit(cad[i])){
i++;
}else{
val=1;
}
}
return(val);
}
//Validacion de IdProducto repetir
bool verificarProducto2(int Producto)
{FILE*ptr;
regProducto reg;
bool k=false;
ptr=fopen("producto.dat","rb");
if(ptr!=NULL)
{fread(®,sizeof(reg),1,ptr);
while(!feof(ptr))
{if(Producto==reg.IdProd)
{k=true;
}
fread(®,sizeof(reg),1,ptr);
}
fclose(ptr);
}
return(k);
}
//Validacion de IdCompras no repetir
bool verificarRepCompras(int Compras)
{FILE*ptr;
regCompras reg;
bool k=true;
ptr=fopen("compras.dat","rb");
if(ptr!=NULL)
{fread(®,sizeof(reg),1,ptr);
while(!feof(ptr))
{if(Compras==reg.IdCompras)
{k=false;
}
fread(®,sizeof(reg),1,ptr);
}
fclose(ptr);
}
return(k);
}
//Fin de validaciones
//void crearArchivocompras()
//{FILE*ptr;
//ptr=fopen("compras.dat","wb");
//fclose(ptr);
//}
void adicionarRegistrocompras()
{FILE*ptr;
regCompras reg;
int val;
char aux[30];
ptr=fopen("compras.dat","ab");
if(ptr!=NULL)
{do{cout<<"Ingrese IdCompras: ";
do{gets(aux);
}while(strlen(aux)==0);
}while((validar5(aux)==1));
reg.IdCompras=atoi(aux);
while(!verificarRepCompras(reg.IdCompras))
{do{cout<<"Ingrese IdCompras: ";
do{gets(aux);
}while(strlen(aux)==0);
}while((validar5(aux)==1));
reg.IdCompras=atoi(aux);
}
do
{cout << "Introducir Fecha: ";
gets(reg.fecha) ;
}while(!is_fecha(reg.fecha));
reg.precio_total=CalcularPrecio(reg.cantidad,reg.IdProd);
reg.estado='N';
fseek(ptr,(nReg-1)*sizeof(reg),SEEK_SET);
fwrite(®,sizeof(reg),1,ptr);
cout<<"Registro fue modificado exitosamente......";
fclose(ptr);
}
else
{cout<<"El registro no existe fue eliminado";
}
}
else
{cout<<"El registro no existe......";
}
fclose(ptr);
}
else
{cout<<"El archivo no existe......";
}
getch();
}
void listarArchivocompras()
{FILE*ptr;
regCompras reg;
int cont=1;
ptr=fopen("compras.dat","rb");
if(ptr!=NULL)
{fread(®,sizeof(reg),1,ptr);
system("cls");
cout<<endl<<"************************************************
COMPRAS ***********************************************";
cout<<endl<<" IdCompras Fecha IdProducto
Cantidad Precio_Total ";
cout<<endl<<"================================================================
==================================================";
while(!feof(ptr))
{if(reg.estado=='N')
{mostrarRegistrocompras(reg,cont);
}
fread(®,sizeof(reg),1,ptr);
cont++;
}
fclose(ptr);
}
else
{cout<<"El archivo no existe.....";
}
getch();
}
void menuCompras()
{int opcion=0;
int nReg=0;
char aux[30];
do{
system("cls");
cout<<"****** M E N U C O M P R A S ******"<<endl;
cout<<"1.- Crear archivo"<<endl;
cout<<"2.- Adicionar Registro"<<endl;
cout<<"3.- Modificar Registro"<<endl;
cout<<"4.- Eliminar Registro"<<endl;
cout<<"5.- Buscar por numero de registro"<<endl;
cout<<"6.- Listar todo el archivo"<<endl;
cout<<"0.- Salir"<<endl;
do{
cout<<"Seleccion una opcion: ";
do{
gets(aux);
}while(strlen(aux)==0);
}while((validar(aux)==1));
opcion=atoi(aux);
switch(opcion){
case 1: crearArchivocompras();
break;
case 2: adicionarRegistrocompras();
break;
case 3: cout<<"\nIntroducir nro de registro a modificar : ";
cin>>nReg;
modificarRegistrocompras(nReg);
break;
case 4: cout<<"\nIntroducir nro de registro a Eliminar : ";
cin>>nReg;
eliminarRegistrocompras(nReg);
break;
case 5: cout<<"\nIntroducir nro de registro a Buscar : ";
cin>>nReg;
buscarRegistrocompras(nReg);
break;
case 6: listarArchivocompras();
break;
}
}while(opcion!=0);
}
//FIN DE LA PARTE DE COMPRAS
// TODO LO REFERENTE A PRODUCTO
//Validaciones
//Validacion de Nombre solo letras
reg.estado='N';
fwrite(®,sizeof(reg),1,ptr);
cout<<"Registro fue adicionado exitosamente......";
fclose(ptr);
}
else
{cout<<"El archivo no existe......";
}
}
reg.estado='N';
fseek(ptr,(nReg-1)*sizeof(reg),SEEK_SET);
fwrite(®,sizeof(reg),1,ptr);
cout<<"Registro fue modificado exitosamente......";
}
else
{cout<<"El registro no existe fue eliminado";
}
}
fclose(ptr);
}
else
{cout<<"El archivo no existe......";
}
getch();
}
//Fin de validaciones
void listarArchivoproducto()
{FILE*ptr;
regProducto reg;
int cont=1;
ptr=fopen("producto.dat","rb");
if(ptr!=NULL)
{fread(®,sizeof(reg),1,ptr);
system("cls");
cout<<endl<<"************************************************
Producto ***********************************************";
cout<<endl<<" IdProducto Nombre Precio_Unitario
STOCK ";
cout<<endl<<"================================================================
==================================================";
while(!feof(ptr))
{if(reg.estado=='N')
{mostrarRegistroproducto(reg,cont);
}
fread(®,sizeof(reg),1,ptr);
cont++;
}
fclose(ptr);
}
else
{cout<<"El archivo no existe.....";
}
getch();
}
void menuProducto()
{int opcion=0,nReg=0;
char aux[30];
do{
system("cls");
cout<<"****** M E N U P R O D U C T O ******"<<endl;
cout<<"1.- Crear archivo"<<endl;
cout<<"2.- Adicionar Registro"<<endl;
cout<<"3.- Modificar Registro"<<endl;
cout<<"4.- Eliminar Registro"<<endl;
cout<<"5.- Buscar por numero de registro"<<endl;
cout<<"6.- Listar todo el archivo"<<endl;
cout<<"0.- Salir"<<endl;
do{cout<<"Seleccion una opcion: ";
do{gets(aux);
}while(strlen(aux)==0);
}while((validar(aux)==1));
opcion=atoi(aux);
switch(opcion){
case 1: crearArchivoproducto();
break;
case 2: adicionarRegistroproducto();
break;
case 3: cout<<"\nIntroducir nro de registro a modificar : ";
cin>>nReg;
modificarRegistroproducto(nReg);
break;
case 4: cout<<"\nIntroducir nro de registro a Eliminar : ";
cin>>nReg;
eliminarRegistroproducto(nReg);
break;
case 5: cout<<"\nIntroducir nro de registro a Buscar : ";
cin>>nReg;
buscarRegistroproducto(nReg);
break;
case 6: listarArchivoproducto();
break;
}
}while(opcion!=0);
}
//FIN DE LA PARTE DE PRODUCTO
// TODO LO REFERENTE A VENDEDOR
//Validaciones
//Validacion de Nombre solo letras
bool validarNombreVendedor (char cadena[]){
int a, i=0;
bool val=true;
a= strlen(cadena);
while(i<a && val==true) {
if(isalpha(cadena[i])!=0 || cadena[i]==' '){
i++;
}
else{
val=false;
}
}
return(val);
}
//Validacion de solo numeros
int validar1(char cad[]){
int a,i=0,val=0;
a=strlen(cad);
while(i<a && val==0){
if(isdigit(cad[i])){
i++;
}else{
val=1;
}
}
return(val);
}
//Validacion de IdVendedor no repetir
bool verificarRepVendedor(int Vendedor)
{FILE*ptr;
regVendedor reg;
bool k=true;
ptr=fopen("vendedor.dat","rb");
if(ptr!=NULL)
{fread(®,sizeof(reg),1,ptr);
while(!feof(ptr))
{if(Vendedor==reg.IdVendedor)
{k=false;
}
fread(®,sizeof(reg),1,ptr);
}
fclose(ptr);
}
return(k);
}
//Fin de validaciones
//void crearArchivovendedor()
//{FILE*ptr;
//ptr=fopen("vendedor.dat","wb");
//fclose(ptr);
//}
void adicionarRegistrovendedor()
{FILE*ptr;
regVendedor reg;
int val;
char aux[30];
ptr=fopen("vendedor.dat","ab");
if(ptr!=NULL)
{do{cout<<"Ingrese IdVendedor: ";
do{gets(aux);
}while(strlen(aux)==0);
}while((validar1(aux)==1));
reg.IdVendedor=atoi(aux);
while(!verificarRepVendedor(reg.IdVendedor))
{do{cout<<"Ingrese IdVendedor: ";
do{gets(aux);
}while(strlen(aux)==0);
}while((validar1(aux)==1));
reg.IdVendedor=atoi(aux);
}
cout<<"Ingrese nombre del vendedor: ";
do{gets(reg.nombre);
}while(strlen(reg.nombre)==0);
while(!validarNombreVendedor(reg.nombre))
{cout<<"Ingrese nombre del vendedor: ";
gets(reg.nombre);
}
cout<<"Ingrese email del vendedor: ";
do{gets(reg.email);
}while(strlen(reg.email)==0);
cout<<"Ingrese Nro de telefono del vendedor: ";
do{gets(reg.telefono);
val=validar1(reg.telefono);
}while(strlen(reg.telefono)==0);
while(val==1)
{cout<<"Ingrese Nro de telefono del vendedor: ";
gets(reg.telefono);
val=validar1(reg.telefono);
}
reg.estado='N';
fwrite(®,sizeof(reg),1,ptr);
cout<<"Registro fue adicionado exitosamente......";
fclose(ptr);
}
else
{cout<<"El archivo no existe......";
}
}
void listarArchivovendedor()
{FILE*ptr;
regVendedor reg;
int cont=1;
ptr=fopen("vendedor.dat","rb");
if(ptr!=NULL)
{fread(®,sizeof(reg),1,ptr);
system("cls");
cout<<endl<<"************************************************
Vendedor ***********************************************";
cout<<endl<<" IdVendedor Nombre
Telefono E-mail ";
cout<<endl<<"================================================================
==================================================";
while(!feof(ptr))
{if(reg.estado=='N')
{mostrarRegistrovendedor(reg,cont);
}
fread(®,sizeof(reg),1,ptr);
cont++;
}
fclose(ptr);
}
else
{cout<<"El archivo no existe.....";
}
getch();
}
void menuVendedor()
{int opcion=0,nReg=0;
char aux[30];
do{
system("cls");
cout<<"****** M E N U V E N D E D O R ******"<<endl;
cout<<"1.- Crear archivo"<<endl;
cout<<"2.- Adicionar Registro"<<endl;
cout<<"3.- Modificar Registro"<<endl;
cout<<"4.- Eliminar Registro"<<endl;
cout<<"5.- Buscar por numero de registro"<<endl;
cout<<"6.- Listar todo el archivo"<<endl;
cout<<"0.- Salir"<<endl;
do{cout<<"Seleccion una opcion: ";
do{gets(aux);
}while(strlen(aux)==0);
}while((validar(aux)==1));
opcion=atoi(aux);
switch(opcion){
case 1: crearArchivovendedor();
break;
case 2: adicionarRegistrovendedor();
break;
case 3: cout<<"\nIntroducir nro de registro a modificar : ";
cin>>nReg;
modificarRegistrovendedor(nReg);
break;
case 4: cout<<"\nIntroducir nro de registro a Eliminar : ";
cin>>nReg;
eliminarRegistrovendedor(nReg);
break;
case 5: cout<<"\nIntroducir nro de registro a Buscar : ";
cin>>nReg;
buscarRegistrovendedor(nReg);
break;
case 6: listarArchivovendedor();
break;
}
}while(opcion!=0);
}
//FIN DE LA PARTE DE VENDEDOR
// TODO LO REFERENTE A VENTAS
//Verificaciones
fclose(ptr);
}
return(producto);
}
// CALCULAR PRECIO
float CalcularPrecio1(float cantidad,int Producto)
{FILE*ptr;
regProducto reg;
float Precio;
ptr=fopen("producto.dat","rb");
if(ptr!=NULL)
{fread(®,sizeof(reg),1,ptr);
while(!feof(ptr))
{if(Producto==reg.IdProd)
{Precio=cantidad*reg.Precio_Unit;
}
fread(®,sizeof(reg),1,ptr);
}
fclose(ptr);
}
return(Precio);
//void crearArchivoventas()
//{FILE*ptr;
//ptr=fopen("ventas.dat","wb");
//fclose(ptr);
//}
void adicionarRegistroventas()
{FILE *ptr;
regVentas reg;
float cantidadActual;
float ProductoActual;
char aux[30];
ptr=fopen("ventas.dat","ab");
if(ptr!=NULL)
{do{cout<<"Ingrese IdVentas: ";
do{gets(aux);
}while(strlen(aux)==0);
}while((validar6(aux)==1));
reg.IdVentas=atoi(aux);
while(!verificarRepVentas(reg.IdVentas))
{do{cout<<"Ingrese IdVentas: ";
do{gets(aux);
}while(strlen(aux)==0);
}while((validar6(aux)==1));
reg.IdVentas=atoi(aux);
}
do
{cout << "Introducir Fecha: ";
gets(reg.fecha) ;
}while(!is_fecha(reg.fecha));
do{
cout<<"Ingrese IdProducto: ";
cin>>reg.IdProd;
}while(!verificarIdprod(reg.IdProd));
do{
cout<<"Ingrese IdBomba: ";
cin>>reg.IdBomba;
}while(!verificarIdbomba(reg.IdBomba));
do{
cout<<"Ingrese IdAutomotor: ";
cin>>reg.IdAuto;
} while(!verificarIdautomotor(reg.IdAuto));
ProductoActual=obtProducto1(reg.IdProd);
cout<<"Actualmente tiene disponible: "<<ProductoActual<<endl;
do{cout<<"Ingrese Cantidad a Vender: ";
cin>>reg.cantidad;
}while(!verifCantidad(reg.cantidad,reg.IdProd));
modificarCantidad(reg.cantidad,reg.IdProd);
reg.precio_total=CalcularPrecio1(reg.cantidad,reg.IdProd);
reg.estado='N';
fwrite(®,sizeof(reg),1,ptr);
fclose(ptr);
cout<<"Registro fue modificado exitosamente......";
}
else
{cout<<"El archivo no existe......";
}
}
void modificarRegistroventas(int nReg)
{FILE*ptr;
regVentas reg;
float saldoActual;
float ProductoActual;
char aux[30];
ptr=fopen("ventas.dat","r+b");
if(ptr!=NULL)
{fseek(ptr,(nReg-1)*sizeof(reg),SEEK_SET);
fread(®,sizeof(reg),1,ptr);
if(!feof(ptr))
{if(reg.estado=='N')
{do{cout<<"Ingrese IdVentas: ";
do{gets(aux);
}while(strlen(aux)==0);
}while((validar6(aux)==1));
reg.IdVentas=atoi(aux);
while(!verificarRepVentas(reg.IdVentas))
{
do{cout<<"Ingrese IdVentas: ";
do{gets(aux);
}while(strlen(aux)==0);
}while((validar6(aux)==1));
reg.IdVentas=atoi(aux);
}
do
{cout << "Introducir Fecha: ";
gets(reg.fecha) ;
}while(!is_fecha(reg.fecha));
do{
cout<<"Ingrese IdProducto: ";
cin>>reg.IdProd;
}while(!verificarIdprod(reg.IdProd));
do{
cout<<"Ingrese IdBomba: ";
cin>>reg.IdBomba;
}while(!verificarIdbomba(reg.IdBomba));
do{
cout<<"Ingrese IdAutomotor: ";
cin>>reg.IdAuto;
}while(!verificarIdautomotor(reg.IdAuto));
ProductoActual=obtProducto1(reg.IdProd);
cout<<"Actualmente tiene disponible: "<<ProductoActual<<endl;
do{cout<<"Ingrese Cantidad a Vender: ";
cin>>reg.cantidad;
}while(!verifCantidad(reg.cantidad,reg.IdProd));
modificarCantidad(reg.cantidad,reg.IdProd);
reg.precio_total=CalcularPrecio1(reg.cantidad,reg.IdProd);
reg.estado='N';
fseek(ptr,(nReg-1)*sizeof(reg),SEEK_SET);
fwrite(®,sizeof(reg),1,ptr);
cout<<"Registro fue modificado exitosamente......";
}
else
{cout<<"El registro no existe fue eliminado";
}
}
else
{cout<<"El registro no existe......";
}
fclose(ptr);
}
else
{cout<<"El archivo no existe......";
}
getch();
}
<<setw(15)<<x.IdProd<<setw(13)<<y.IdBomba<<setw(15)<<reg.cantidad<<setw(
20)<<reg.precio_total<<setw(10)<<z.IdAuto;
}
void listarArchivoventas()
{FILE*ptr;
regProducto x;
regBomba y;
regAutomotor z;
regVentas reg;
int cont=1;
ptr=fopen("ventas.dat","rb");
if(ptr!=NULL)
{fread(®,sizeof(reg),1,ptr);
system("cls");
cout<<endl<<"**************************************** V E N T A
S *******************************************";
cout<<endl<<" IdVenta Fecha IdProducto IdBomba
Cantidad Precio Total IdAuto ";
cout<<endl<<"================================================================
=====================================================";
while(!feof(ptr))
{if(reg.estado=='N')
{x=obtProducto(reg.IdProd);
y=obtBomba(reg.IdBomba);
z=obtAuto(reg.IdAuto);
mostrarRegistroventas(reg,cont,x,y,z);
}
fread(®,sizeof(reg),1,ptr);
cont++;
}
fclose(ptr);
}
else
{cout<<"El archivo no existe.....";
}
getch();
}
void menuVentas()
{int opcion=0,nReg=0;
char aux[30];
do{
system("cls");
cout<<"****** M E N U V E N T A S ******"<<endl;
cout<<"1.- Crear archivo"<<endl;
cout<<"2.- Adicionar Registro"<<endl;
cout<<"3.- Modificar Registro"<<endl;
cout<<"4.- Eliminar Registro"<<endl;
cout<<"5.- Buscar por numero de registro"<<endl;
cout<<"6.- Listar todo el archivo"<<endl;
cout<<"0.- Salir"<<endl;
do{cout<<"Seleccion una opcion: ";
do{gets(aux);
}while(strlen(aux)==0);
}while((validar(aux)==1));
opcion=atoi(aux);
switch(opcion){
case 1: crearArchivoventas();
break;
case 2: adicionarRegistroventas();
break;
case 3: cout<<"\nIntroducir nro de registro a modificar : ";
cin>>nReg;
modificarRegistroventas(nReg);
break;
case 4: cout<<"\nIntroducir nro de registro a Eliminar : ";
cin>>nReg;
eliminarRegistroventas(nReg);
break;
case 5: cout<<"\nIntroducir nro de registro a Buscar : ";
cin>>nReg;
buscarRegistroventas(nReg);
break;
case 6: listarArchivoventas();
break;
}
}while(opcion!=0);
}
//FIN DE LA PARTE DE VENTAS
bool is_number (char a[], int n)
{
n--;
for(int i=0; i<n; i++)
{
if(a[i]<48 || a[i]>57)
return false;
}
return true;
}
fflush(stdin);
strncpy (cad1,a,2);
strncpy (cad2,a+3,2);
strncpy (cad3,a+6,4);
}while(mes>12);
diasmes=diasdelmes(mes-1,ano);
do{
cout<<"dia: "; cin>>dia;
}while(dia>diasmes);
itoa(dia,cdia,10);
itoa(mes,cmes,10);
itoa(ano,cano,10);
if(dia<10) {fecha[0]='0';fecha[1]='\0';
strcat(fecha,cdia);
}
else {fecha[0]='\0'; cdia[2]='\0';
strcat(fecha,cdia);}
fecha[2]='//';fecha[3]='\0';
if(mes<10) {fecha[3]='0';fecha[4]='\0';
strcat(fecha,cmes);
}
else {cmes[2]='\0';strcat(fecha,cmes);}
fecha[5]='//';fecha[6]='\0';
strcat(fecha,cano);
fecha[10]='\0';
}
dia=atoi(cdia);
mes=atoi(cmes);
ano=atoi(cano);
}
LeerFecha(fecha1,ano1,mes1,dia1);
LeerFecha(fecha2,ano2,mes2,dia2);
if(ano2<ano1) return false;
else if(ano2==ano1){
if(mes2<mes1) return false;
else if(mes2==mes1) {
if(dia2<dia1) return false;
}
}
return true;
}
REPORTE 1
{cout<<'\t'<<reg.IdBomba<<'\t'<<'\t'<<'\t'<<reg.descripcion<<endl;
}
fread(®,sizeof(reg),1,ptr);
}
fclose(ptr);
}
}
void Reporte1()
{FILE*ptr;
regVentas reg;
int cantidadMayor=0,idCuentaMay;
char fecha1[10],fecha2[10];
ptr=fopen("ventas.dat","rb");
do{
do
{cout << "Introducir Fecha Inicial: ";
gets(fecha1) ;
}
while(!is_fecha(fecha1));
do
{cout << "Introducir Fecha Final: ";
gets(fecha2) ;
}
while(!is_fecha(fecha2));
}while(!VerificarRangoFechas(fecha1,fecha2));
if(ptr!=NULL)
{fread(®,sizeof(reg),1,ptr);
while(!feof(ptr))
{if((reg.cantidad>cantidadMayor)&&((VerificarRangoFechas(fecha1,reg.fech
a))&&((VerificarRangoFechas(reg.fecha,fecha2)))))
{cantidadMayor=reg.cantidad;
}
fread(®,sizeof(reg),1,ptr);
}
rewind(ptr);
fread(®,sizeof(reg),1,ptr);
cout<<"\n";
cout<<"DE: "<<fecha1<<" A: "<<fecha2<<endl;
cout<<"=================================================================
===="<<endl;
cout<<"La bomba que mas vendio en cantidad en cierto periodo de tiempo
fueron: ";
cout<<"\n";
cout<<"=================================================================
===="<<endl;
cout<<" IdBomba Descripcion"<<endl;
cout<<"=================================================================
===="<<endl;
while(!feof(ptr))
{if((reg.cantidad==cantidadMayor)&&((VerificarRangoFechas(fecha1,reg.fec
ha))&&((VerificarRangoFechas(reg.fecha,fecha2)))))
{mostrarReporte(reg.IdBomba);
}
fread(®,sizeof(reg),1,ptr);
}
fclose(ptr);
}
getch();
}
REPORTE 2
{if((reg.precio_total==precioMayor)&&((VerificarRangoFechas(fecha1,reg.f
echa))&&((VerificarRangoFechas(reg.fecha,fecha2)))))
{mostrarReporte2(reg.IdAuto);
}
fread(®,sizeof(reg),1,ptr);
}
fclose(ptr);
}
getch();
}
REPORTE 3
void Reporte3()
{FILE*ptr;
regCompras reg;
char fecha1[10],fecha2[10];
ptr=fopen("compras.dat","rb");
do{
do
{cout << "Introducir Fecha Inicial: ";
gets(fecha1) ;
}while(!is_fecha(fecha1));
do
{cout << "Introducir Fecha Final: ";
gets(fecha2) ;
}while(!is_fecha(fecha2));
}while(!VerificarRangoFechas(fecha1,fecha2));
if(ptr!=NULL)
{cout << endl << endl;
cout << endl <<
"============================================================================
====================================" << endl;
cout << endl << " REPORTE
DE COMPRAS " << endl;
cout << endl <<
"============================================================================
====================================" << endl;
cout << "DE: " << fecha1 << " HASTA: " << fecha2 << endl;
cout << endl << "ID Compra"<< setw(15)<<"Id Producto"<<setw(20)<<"
Cantidad"<<setw(15)<<" Precio Total" << endl;
fread(®,sizeof(reg),1,ptr);
while(!feof(ptr))
{if((((VerificarRangoFechas(fecha1,reg.fecha))&&((VerificarRangoFechas(r
eg.fecha,fecha2))))))
{cout<<"
"<<reg.IdCompras<<setw(15)<<reg.IdProd<<setw(20)<<reg.cantidad<<setw(15)<<reg
.precio_total<<"\n";
}
fread(®,sizeof(reg),1,ptr);
}
fread(®,sizeof(reg),1,ptr);
fclose(ptr);
}
getch();
}
REPORTE 4
void Reporte4()
{FILE*ptr;
regVentas reg;
char fecha1[10],fecha2[10];
ptr=fopen("ventas.dat","rb");
do{
do
{cout << "Introducir Fecha Inicial: ";
gets(fecha1) ;
}
while(!is_fecha(fecha1));
do
{cout << "Introducir Fecha Final: ";
gets(fecha2) ;
}
while(!is_fecha(fecha2));
}while(!VerificarRangoFechas(fecha1,fecha2));
if(ptr!=NULL)
{ cout << endl << endl;
cout << endl <<
"============================================================================
====================================" << endl;
cout << endl << " REPORTE
DE VENTAS " << endl;
cout << endl <<
"============================================================================
====================================" << endl;
cout << "DE: " << fecha1 << " HASTA: " << fecha2 << endl;
cout << endl << "ID Venta"<< setw(15)<<"Id Producto"<<setw(20)<<"
Cantidad"<<setw(15)<<" Precio Total" << endl;
fread(®,sizeof(reg),1,ptr);
while(!feof(ptr))
{if((((VerificarRangoFechas(fecha1,reg.fecha))&&((VerificarRangoFechas(r
eg.fecha,fecha2))))))
{cout<<"
"<<reg.IdVentas<<setw(15)<<reg.IdProd<<setw(20)<<reg.cantidad<<setw(15)<<reg.
precio_total<<"\n";
}
fread(®,sizeof(reg),1,ptr);
}
fclose(ptr);
}
getch();
}
REPORTE 5
{cout<<'\t'<<reg.IdBomba<<'\t'<<'\t'<<'\t'<<reg.descripcion<<'\t'<<'\t'<
<'\t'<<cantidadMayor<<endl;
}
fread(®,sizeof(reg),1,ptr);
}
fclose(ptr);
}
}
void Reporte5()
{FILE*ptr;
regVentas reg;
int cantidadMayor=0,idCuentaMay;
int idBombaMayor=0;
int idBombaAnt=0;
int cantidadAcum=0;
FILE*ptr2;
regBomba reg_aux;
char fecha1[10],fecha2[10];
ptr=fopen("ventas.dat","rb");
ptr2=fopen("bomba.dat","rb");
do{
do
{cout << "Introducir Fecha Inicial: ";
gets(fecha1) ;
}
while(!is_fecha(fecha1));
do
{cout << "Introducir Fecha Final: ";
gets(fecha2) ;
}
while(!is_fecha(fecha2));
}while(!VerificarRangoFechas(fecha1,fecha2));
if(ptr!=NULL)
{
//modificacion
fread(®,sizeof(reg),1,ptr);
fread(®_aux,sizeof(reg_aux),1,ptr2);
while(!feof(ptr2)){
cantidadAcum=0;
while(!feof(ptr))
{if((reg.IdBomba==reg_aux.IdBomba)&&((VerificarRangoFechas(fecha1,reg.fe
cha))&&((VerificarRangoFechas(reg.fecha,fecha2)))))
{cantidadAcum=cantidadAcum+reg.cantidad;
idBombaAnt=reg.IdBomba;
}
fread(®,sizeof(reg),1,ptr);
}
rewind(ptr);
if(cantidadAcum>cantidadMayor){
cantidadMayor=cantidadAcum;
idBombaMayor=idBombaAnt;
}
fread(®_aux,sizeof(reg_aux),1,ptr2);
}
fclose(ptr2);
//fin de modificacion
fread(®,sizeof(reg),1,ptr);
cout<<"\n";
cout<<"DE: "<<fecha1<<" A: "<<fecha2<<endl;
cout<<"=================================================================
===="<<endl;
cout<<'\t'<<x.IdCliente<<'\t'<<'\t'<<'\t'<<x.nombre<<'\t'<<cantMayor<<en
dl;
}
fread(®,sizeof(reg),1,ptr);
}
fclose(ptr);
}
}
{if((reg_aux.IdCliente==getidCliente(reg.IdAuto))&&((VerificarRangoFecha
s(fecha1,reg.fecha))&&((VerificarRangoFechas(reg.fecha,fecha2)))))
{cantAcum=cantAcum+reg.precio_total;
idAutoAnt=reg.IdAuto;
}
fread(®,sizeof(reg),1,ptr);
}
rewind(ptr);
if(cantAcum>precioMayor){
precioMayor=cantAcum;
idAutoMay=idAutoAnt;
}
fread(®_aux,sizeof(reg_aux),1,ptr2);
}
fclose(ptr2);
//Fin modificacion
fread(®,sizeof(reg),1,ptr);
cout<<"\n";
cout<<"DE: "<<fecha1<<" A: "<<fecha2<<endl;
cout<<"=================================================================
===="<<endl;