Como hacer este programa
hola necesito ayuda con esta tarea espero me puedan ayudar ya que es importante se muy poco de C++ de antemano gracias y pues si algo les puedo
AYUDAR [email protected]
Escribe un programa que toma de un archivo de entrada los datos
Cantidad, Precio Unitario y Descripci贸n
para una lista de art铆culos, el programa debe mandar la informaci贸n a un archivo de salida en forma de factura. Sacando el total de la factura y encabezados adecuados.
Por ejemplo el archivo podr铆a contener los siguientes datos:
5 2.5 tornillos
10 2.0 tuercas
20 0.80 clavos
y mostrar铆a una factura similar a la siguiente:
FACTURA
Cantidad
Descripci贸n Precio U Precio
5 tornillos 2.50 12.50
10 tuercas 2.00 20.00
20 clavos 0.80 16.00
________
Total 48.50
[email protected]
AYUDAR [email protected]
Escribe un programa que toma de un archivo de entrada los datos
Cantidad, Precio Unitario y Descripci贸n
para una lista de art铆culos, el programa debe mandar la informaci贸n a un archivo de salida en forma de factura. Sacando el total de la factura y encabezados adecuados.
Por ejemplo el archivo podr铆a contener los siguientes datos:
5 2.5 tornillos
10 2.0 tuercas
20 0.80 clavos
y mostrar铆a una factura similar a la siguiente:
FACTURA
Cantidad
Descripci贸n Precio U Precio
5 tornillos 2.50 12.50
10 tuercas 2.00 20.00
20 clavos 0.80 16.00
________
Total 48.50
[email protected]
Se trata de utilizar las librerias de E/S standard incluyendo el archivo de cabecera fstream.h.
Esta libreria te facilita tres tipos de flujo para manipular archivos:
ifstream-para leer info de un archivo.
ofstream-para escribir info en archivo.
fstream-para leer y escribir info en un archivo.
Para el problema necesitaras uno de entrada y otro de salida, puedes trabajar directamente con los dos a la vez. primero creas el encabezado en la salida, despues lees la primera linea de la entrada, la descompones en los tres elementos calculas el total de la linea , y los colocas en la salida, repites la operacion hasta que se acaben las lineas del archivo,de entrada, recuerda ir sumando los totales en una variable para incluirla en el final del archivo de salida. Por ultimo cierras los archivos.
Para estos flujos, puedes usar los operadores( << >>), como lo haces con cout, ademas puedes usra los manipuladores E/S.
por ejemplo:
//flujo de entrada
//crear flujo a archivo.txt y abrirlo en modo entrada y
//si no existe archivo fracasa funcion
ifstream flujo("archivo.txt",ios::in|ios::nocreate) ;
//aqui verificas con un if(flujo) que se haya abierto el
//archivo
//obtienes una linea, esto podria ser un bucle para
//leer todo el archivo
flujo.GetLine(variable cadena, tama帽o cadena);
//siempre debes cerrar el flujo
flujo.close();
//ejemplo de flujo de salida al no poner mas
//parametros sobreescribira el archivo si existe
ofstream flujoS("archivo.txt");
//utilizar operadores E/S
flujoS<<setw(30)<<"Descripcion";
flujoS<<setw(10)<<"cantidad"<<"precio"<<"total"<<endl
//y aqui podrias compartir el bucle de entrada
//incluyendo linea a linea todos los apuntes de la
//factura.
flujoS.Close();
A ver si te vale?
Esta libreria te facilita tres tipos de flujo para manipular archivos:
ifstream-para leer info de un archivo.
ofstream-para escribir info en archivo.
fstream-para leer y escribir info en un archivo.
Para el problema necesitaras uno de entrada y otro de salida, puedes trabajar directamente con los dos a la vez. primero creas el encabezado en la salida, despues lees la primera linea de la entrada, la descompones en los tres elementos calculas el total de la linea , y los colocas en la salida, repites la operacion hasta que se acaben las lineas del archivo,de entrada, recuerda ir sumando los totales en una variable para incluirla en el final del archivo de salida. Por ultimo cierras los archivos.
Para estos flujos, puedes usar los operadores( << >>), como lo haces con cout, ademas puedes usra los manipuladores E/S.
por ejemplo:
//flujo de entrada
//crear flujo a archivo.txt y abrirlo en modo entrada y
//si no existe archivo fracasa funcion
ifstream flujo("archivo.txt",ios::in|ios::nocreate) ;
//aqui verificas con un if(flujo) que se haya abierto el
//archivo
//obtienes una linea, esto podria ser un bucle para
//leer todo el archivo
flujo.GetLine(variable cadena, tama帽o cadena);
//siempre debes cerrar el flujo
flujo.close();
//ejemplo de flujo de salida al no poner mas
//parametros sobreescribira el archivo si existe
ofstream flujoS("archivo.txt");
//utilizar operadores E/S
flujoS<<setw(30)<<"Descripcion";
flujoS<<setw(10)<<"cantidad"<<"precio"<<"total"<<endl
//y aqui podrias compartir el bucle de entrada
//incluyendo linea a linea todos los apuntes de la
//factura.
flujoS.Close();
A ver si te vale?
