Sie sind auf Seite 1von 7

/* Diseñe un algoritmo para almacenar en un archivo llamado Compras.

txt la siguiente
informacion:

Nombre proveedor, monto compra, tipo proveedor (L:Local, E:Exterior). Si proveedor es local se
incluye el impuesto

que viene ser el 18% del monto de la compra, caso contrario el impuesto es 0.

En base a ella se pide lo siguiente:

a)Leer los datos y almacenar en el archivo

b)Emitir un listado con un resumen de las compras segun el tipo proveedor.

c)Filtrar todos los proveedores cuyo nombre comienza con el caracter digitado por el usuario.

d)Mostar el contenido del archivo generado.

*/

#include<iostream>

#include<fstream>

#include<stdio.h>

using namespace std;

//declara una estructura

struct datos

char np[25];

char tp;

float comp,igv,tot;

};

// definicion de funciones

void Entrada(ofstream &a1)

datos p;
int i,n;

cout<<"Cuantos proveedores va a registrar? ";

cin>>n;

a1.open("compras.txt",ios::app);

i=1;

while(i<=n)

cout<<"Datos para proveedor #"<<i<<endl;

cout<<"Nombre proveedor";fflush(stdin);

gets(p.np);

cout<<"Tipo proveedor L:local, E:exterior"<<endl;

cin>>p.tp;

cout<<"Monto compra:";cin>>p.comp;

if(p.tp=='L')

p.igv=0.18*p.comp;

else

p.igv=0;

p.tot=p.comp+p.igv;

//Grabar los datos en el archivo

a1<<p.np<<"\t"<<p.tp<<"\t"<<p.comp<<"\t"<<p.igv<<"\t"<<p.tot<<endl;

i++;

a1.close();

void Reporte(ifstream &a2,char na[])

{
datos q;

float tl=0,te=0;

a2.open(na);

a2>>q.np;

for(;a2.peek()!=EOF;)

a2>>q.tp>>q.comp>>q.igv>>q.tot;//lee los datos del archivo

cout<<q.np<<"\t"<<q.tp<<"\t"<<q.comp<<"\t"<<q.igv<<"\t"<<q.tot<<endl;

if(q.tp=='L')

tl=tl+q.tot;

else

te=te+q.tot;

a2.open(np);

a2.close();

cout<<"total de compras alexterior:"<<te<<endl;

cout<<"total de compras locales:"<<tl<<endl;

int main()

char arch[]="compras.txt";

ofstream file1;

ifstream file2;

Entrada(file1);
Reporte(file2,arch);

/* Diseñe un algoritmo para almacenar en un archivo llamado Compras.txt la siguiente


informacion:

Nombre proveedor, monto compra, tipo proveedor (L:Local, E:Exterior). Si proveedor es local se
incluye el impuesto

que viene ser el 18% del monto de la compra, caso contrario el impuesto es 0.

En base a ella se pide lo siguiente:

a)Leer los datos y almacenar en el archivo

b)Emitir un listado con un resumen de las compras segun el tipo proveedor.

c)Filtrar todos los proveedores cuyo nombre comienza con el caracter digitado por el usuario.

d)Mostar el contenido del archivo generado.

*/

#include<iostream>

#include<fstream>

#include<stdio.h>

using namespace std;

//declara una estructura

struct datos

char np[25];

char tp;

float comp,igv,tot;

};

// definicion de funciones

void Entrada(ofstream &a1)


{

datos p;

int i,n;

cout<<"Cuantos proveedores va a registrar? ";

cin>>n;

a1.open("compras.dat",ios::app | ios::binary);

i=1;

while(i<=n)

cout<<"Datos para proveedor #"<<i<<endl;

cout<<"Nombre proveedor";fflush(stdin);

gets(p.np);

cout<<"Tipo proveedor L:local, E:exterior"<<endl;

cin>>p.tp;

cout<<"Monto compra:";cin>>p.comp;

if(p.tp=='L')

p.igv=0.18*p.comp;

else

p.igv=0;

p.tot=p.comp+p.igv;

//Grabar los datos en el archivo

a1.write(T(&p.np),sizeof(p.np));

a1.write(T(&p.tp),sizeof(p.tp));

a1.write(T(&p.comp),sizeof(p.comp));

a1.write(T(&p.igv),sizeof(p.igv));

a1.write(T(&p.tot),sizeof(p.tot));
i++;

a1.close();

void Reporte(ifstream &a2,char na[])

datos q;

float tl=0,te=0;

a2.open(na);

a2.read(T(&q.np),sizeof(q,np));

for(;a2.peek()!=EOF;)

//lee los datos del archivo

a2.read(T(&q.tp),sizeof(q,tp));

a2.read(T(&q.comp),sizeof(q,comp));

a2.read(T(&q.igv),sizeof(q,igv));

a2.read(T(&q.tot),sizeof(q,tot));

cout<<q.np<<"\t"<<q.tp<<"\t"<<q.comp<<"\t"<<q.igv<<"\t"<<q.tot<<endl;

if(q.tp=='L')

tl=tl+q.tot;

else

te=te+q.tot;

a2.read(T(&q.np),sizeof(q,np));

a2.close();

cout<<"total de compras al exterior:"<<te<<endl;


cout<<"total de compras locales:"<<tl<<endl;

int main()

char arch[]="compras.dat";

ofstream file1;

ifstream file2;

Entrada(file1);

Reporte(file2,arch);

Das könnte Ihnen auch gefallen