Sunteți pe pagina 1din 7

EJEMPLO CLIENTES

#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>

struct datos_clientes
{
char clave[4];
char nombre[40];
char calle[50];
char colonia[40];
char telefono[11];
}clientes;

struct datos_productos
{
char clave[4];
char producto[20];
char descripcion[40];
char precio[10];
}productos;

struct datos_factura
{
char clave[4];
char fecha[15];
char clave_cliente[4];
char clave_producto[4];
char cantidad[5];
}facturas;

void main()
{
int opcion=9;
int cantidadprod;
char opcion_seg[2];
char clavebuscar[4];
FILE *archivo, *auxiliar;
float precioprod;
char variablecomp;
int cont;
float totalpagar;

if((archivo=fopen("c:datoscli.txt","a+b"))==NULL)
{
textattr(279);
cprintf("ntno se puede abrir el archivo");
getch();
exit(1);
}
if((auxiliar=fopen("c:borrador.txt","a+b"))==NULL)
{
textattr(279);
cprintf("ntno se puede abrir el archivo");
getch();
exit(1);
}
do
{
textcolor(MAGENTA);
textbackground(GREEN);
clrscr();
printf("n Tienda eduardo y el guth ");
printf("nt######################################");
printf("nn 1.- factura de venta");
printf("nn 2.- ingresar nuevo producto");
printf("nn 3.- ingresar nuevo cliente");
printf("nn 4.- buscar factura de una venta");
printf("nn 5.- Buscar producto");
printf("nn 6.- buscar cliente");
printf("nn 7.- Salir");
printf("n Opcion : ");
gets(opcion_seg);
opcion=atoi(opcion_seg);
switch(opcion)
{
case 1:
textattr(168);
clrscr();
freopen("c:datosfact.txt","a+b",archivo);
printf("ntclave de la factura: ");fflush(stdin);
gets(facturas.clave);
printf("nt fecha: ");fflush(stdin);
gets(facturas.fecha);
printf("ntclave del cliente: ");fflush(stdin);
gets(facturas.clave_cliente);
freopen("c:datoscli.txt","a+b",archivo);
rewind(archivo);
variablecomp=fgetc(archivo);
fseek(archivo,0L,SEEK_SET);
while(variablecomp!=EOF)
{

if(fread(&clientes,sizeof(clientes),1,archivo)!=1)
{
printf("nt Errror al leer produ
cto");
getch();
exit(3);
}

if(strcmp(facturas.clave_cliente,clientes.clave)==0)
{
cont=2;
printf("nnt Nombre: %s",client
es.nombre);
}
variablecomp=fgetc(archivo);
fseek(archivo,0L,SEEK_SET);
}
if (cont!=2)
{
printf("nnt Clave del cliente no existe"
);
getch();
}
printf("ntclave del producto: ");fflush(stdin);
gets(facturas.clave_producto);
freopen("c:datosprod.txt","a+b",archivo);
rewind(archivo);
variablecomp=fgetc(archivo);
fseek(archivo,0L,SEEK_SET);
while(variablecomp!=EOF)
{

if(fread(&productos,sizeof(productos),1,archivo)!=1)
{
printf("nt Errror al leer produ
cto");
getch();
exit(3);
}

if(strcmp(facturas.clave_producto,productos.clave)==0)
{
cont=2;

precioprod=atof(productos.precio);
printf("nt %s",productos.produc
to);
printf("ntprecio : %s",prod
uctos.precio);
printf("nt cantidad de producto
s: ");
gets(facturas.cantidad);

cantidadprod=atoi(facturas.cantidad);

totalpagar=(precioprod)*(cantidadprod);
printf("nt total a pagar= %f ",
totalpagar);
getch();
}
variablecomp=fgetc(archivo);
fseek(archivo,0L,SEEK_SET);
}
if (cont!=2)
{
printf("nt Clave ingresada no existe");
getch();
}

freopen("c:datosfact.txt","a+b",archivo);
if(fwrite(&facturas,sizeof(facturas),1,archivo)!
=1)
{
printf("ntError al escribir sobre el arc
hivo");
getch();
}

break;

case 2:
textattr(169);
clrscr();
freopen("c:datosprod.txt","a+b",archivo);
printf("ntingresa clave del producto: ");fflush(
stdin);
gets(productos.clave);
printf("ntingresa nombre del producto: ");fflush
(stdin);
gets(productos.producto);
printf("ntingresa descripcion del producto: ");f
flush(stdin);
gets(productos.descripcion);fflush(stdin);
printf("ntingresa precio: ");fflush(stdin);
gets(productos.precio);
if(fwrite(&productos,sizeof(productos),1,archivo)!
=1)
{
printf("Error al escribir sobre el archi
vo");
getch();
}
printf("nt %s",productos.precio);
getch();
break;

case 3:

textattr(169);
clrscr();
freopen("c:datoscli.txt","a+b",archivo);
printf("ntingresa clave del cliente: ");fflush(st
din);
gets(clientes.clave);
printf("ntingresa nombre: ");fflush(stdin);
gets(clientes.nombre);
printf("ntingresa calle: ");fflush(stdin);
gets(clientes.calle);
printf("ntingresa colonia: ");fflush(stdin);
gets(clientes.colonia);
printf("ntingresa telefono: ");fflush(stdin);
gets(clientes.telefono);
if(fwrite(&clientes,sizeof(clientes),1,archivo)!
=1)
{
printf("ntError al escribir sobre el arc
hivo");
getch();
exit(2);
}
break;

case 4:
textattr(357);
clrscr();
freopen("c:datosfact.txt","a+b",archivo);
printf("nntIngresa la clave de la factura");fflush
(stdin);
scanf("%s", & clavebuscar);
rewind(archivo);
variablecomp=fgetc(archivo);
fseek(archivo,0L,SEEK_SET);
while(variablecomp!=EOF)
{

if(fread(&facturas,sizeof(facturas),1,archivo)!=1)
{
printf("nt Falla al leer factur
a de venta");
getch();
exit(3);
}

if(strcmp(facturas.clave,clavebuscar)==0)
{
cont=2;
printf("nt clave: %s", facturas
.clave);
printf("nt fecha: %s", facturas
.fecha);

freopen("c:datoscli.txt","a+b",auxiliar);
rewind(auxiliar);
variablecomp=fgetc(auxiliar);
fseek(auxiliar,0L,SEEK_SET);
while(variablecomp!=EOF)
{

if(fread(&clientes,sizeof(clientes),1,auxiliar)!=1)
{
printf("nt E
rror al leer cliente");
getch();
exit(3);
}

if(strcmp(facturas.clave_cliente,clientes.clave)==0)
{
cont=2;
printf("n No
mbre: %s",clientes.nombre);
}
;variablecomp=fgetc(a
uxiliar);

fseek(auxiliar,0L,SEEK_SET);
}
if (cont!=2)
{
printf("n Clave del c
liente no existe");
getch();
}
freopen("c:datosprod.txt","a+b",auxiliar);
rewind(auxiliar);
variablecomp=fgetc(auxiliar);
fseek(auxiliar,0L,SEEK_SET);
while(variablecomp!=EOF)
{

if(fread(&productos,sizeof(productos),1,auxiliar)!=1)
{
printf("nt F
alla al leer producto");
getch();
exit(3);
}

if(strcmp(facturas.clave_producto,productos.clave)==0)
{
cont=2;
printf("n Pr
oducto: %s",productos.producto);
printf("n Pr
ecio: %s", productos.precio);

precioprod=atof(productos.precio);
}

variablecomp=fgetc(auxiliar);

fseek(auxiliar,0L,SEEK_SET);
}
if (cont!=2)
{
printf("nnt Clave del
cliente no existe");
getch();
}

printf("n cantidad: %s", factur


as.cantidad);

cantidadprod=atoi(facturas.cantidad);

totalpagar=(precioprod)*(cantidadprod);
printf("n total: %f", totalpaga
r);
getch();
}
variablecomp=fgetc(archivo);
fseek(archivo,0L,SEEK_SET);
}
if (cont!=2)
{
printf("nt Clave ingresada no existe");
getch();
}
break;

case 5:
textattr(158);
clrscr();
freopen("c:datosprod.txt","a+b",archivo);
printf("nIngresa la clave del producto: ");fflush(
stdin);
gets(clavebuscar);
rewind(archivo);
variablecomp=fgetc(archivo);
fseek(archivo,0L,SEEK_SET);
while(variablecomp!=EOF)
{
if(fread(&productos,sizeof(productos),1,archivo)!=1)
{
printf("nt Errror al leer produ
cto");
getch();
exit(3);
}

if(strcmp(clavebuscar,productos.clave)==0)
{
cont=2;
printf("n clave: %s",productos.
clave);
printf("n producto: %s",product
os.producto);
printf("n Dedscripcion: %s",pro
ductos.descripcion);
printf("n precio : %s",producto
s.precio);
getch();
}
variablecomp=fgetc(archivo);
fseek(archivo,0L,SEEK_SET);
}

if (cont!=2)
{
printf("nt Clave ingresada no existe");
getch();
}
break;
case 6:
textcolor(BLACK);
textbackground(GREEN);
clrscr();
printf("ntclave de cliente a buscar: ");fflush(std
in);
gets(clavebuscar);
freopen("c:datoscli.txt","a+b",archivo);
rewind(archivo);
variablecomp=fgetc(archivo);
fseek(archivo,0L,SEEK_SET);
while(variablecomp!=EOF)
{

if(fread(&clientes,sizeof(clientes),1,archivo)!=1)
{
printf("nt Errror al leer produ
cto");
getch();
exit(3);
}

if(strcmp(clavebuscar,clientes.clave)==0)
{
cont=2;
printf("nt Clave: %s",clientes.
clave);
printf("nt Nombre: %s",cliente
s.nombre); fflush(stdin);
printf("nt Calle: %s", clientes
.calle);
printf("nt Colonia: %s",cliente
s.colonia);
printf("nt Telefono: %s",client
es.telefono);
getch();
}

fflush(stdin);variablecomp=fgetc(archivo);
fseek(archivo,0L,SEEK_SET);
}
if (cont!=2)
{
printf("nnt Clave del cliente no existe"
);
getch();
}
break;

case 7:
textcolor(RED);
textbackground(YELLOW);
cprintf("n Para Salir presiones cualquier tecla");
getch();
break;

default:
textcolor(RED);
textbackground(BLUE);
cprintf("n esta opcon no es valida");
getch();
break;
}
}
while(opcion!=7);
if(fclose(archivo)!=0)
{
textcolor(159);
textbackground(YELLOW);
cprintf("nterror al abrir el archivo");
getch();
exit(4);
}
}

S-ar putea să vă placă și