Me dicen que se tiene que usar la libreria fstream para manejar el flujo de los datos hacia los archivos de texto, para generar este y poder realizar su lectura.
Si me pueden ayudar con esto les agradeceria un monton. Saludos!!
Este es el enunciado del ejercicio y mas abajo el codigo:
** Desarrollar un programa que permita registrar los datos de una serie de productos que se venden en un almacén (código, nombre, marca, precio). Se desea listar los productos cuyo precio sea mayor a 5000 Bsf. y aquellos cuyo precio sea menor o igual a 5000 Bsf.**
Código:
#include <iostream>
#include fstream
using namespace std;
class producto{
public: //atributos
string nombre;
string marca;
string codigo;
float precio;
public: //metodos
void leer();
void imprimir();
};
void producto :: leer(){
cout<<"\nIntrodusca el Nombre del Producto: ";
cin>>nombre;
cout<<"\nIntrodusca la Marca del Producto: ";
cin>>marca;
cout<<"\nIntrodusca el Precio del Producto (use punto '.' no coma ',' ): ";
cin>>precio;
cout<<"\nIntrodusca el Codigo del Producto: ";
cin>>codigo;
cout<<"\n***Datos Cargados Correctamente***\n";
cout<<endl;
system("pause");
}
void producto :: imprimir(){
cout<<"\nNombre del Producto: "<<nombre;
cout<<"\nIntrodusca la marca del Producto: "<<marca;
cout<<"\nIntrodusca el precio del Producto: "<<precio;
cout<<"\nIntrodusca el codigo del Producto: "<<codigo<<endl;
system("pause");
}
//Menu y Opciones
void menu(){
cout<<"\n***Bienvenido***\n\nSeleccione una de las siguientes opciones:";
cout<<"\n1.- Introducir/modificar la informacion de un producto";
cout<<"\n2.- Ver productos cargados";
cout<<"\n3.- Precargar la informacion de TODOS los productos";
cout<<"\n4.- Listar productos con precios mayores a 5000BsF";
cout<<"\n5.- Listar productos con precios menores o guales a 5000BsF";
cout<<"\n0.- Salir de Programa";
cout<<"introduzca su opcion: ";
// cin>>opmenu;
}
//Carga valores de preinializacion Basicos
void CargaPrimaria(producto &automovil){
automovil.nombre="Sin Nombre";
automovil.marca="Sin Marca";
automovil.codigo="Sin Nombre";
automovil.precio=0.0;
}
//Carga valores de preinializacion Determinados
void CargaSecundaria(producto &auto1, producto &auto2, producto &auto3, producto &auto4, producto &auto5){
auto1.nombre="Sin Nombre";
auto1.marca="Sin Marca";
auto1.codigo="Sin Nombre";
auto1.precio=0.0;
auto2.nombre="Sin Nombre";
auto2.marca="Sin Marca";
auto2.codigo="Sin Nombre";
auto2.precio=0.0;
auto3.nombre="Sin Nombre";
auto3.marca="Sin Marca";
auto3.codigo="Sin Nombre";
auto3.precio=0.0;
auto4.nombre="Sin Nombre";
auto4.marca="Sin Marca";
auto4.codigo="Sin Nombre";
auto4.precio=0.0;
auto5.nombre="Sin Nombre";
auto5.marca="Sin Marca";
auto5.codigo="Sin Nombre";
auto5.precio=0.0;
cout<<"\nSe Han Precargado los datos correctamente\n";
}
//opcion 1 del menu
void Cargar(producto &auto1, producto &auto2, producto &auto3, producto &auto4, producto &auto5){
int opmodif=0;
cout<<"\nIntroducir/modificar la informacion de un producto\n";
cout<<"\nA cual producto va a cargar los datos o modificarlo?";
cout<<"Producto 1:\n";
auto1.imprimir();
cout<<"Producto 2:\n";
auto2.imprimir();
cout<<"Producto 3:\n";
auto3.imprimir();
cout<<"Producto 4:\n";
auto4.imprimir();
cout<<"Producto 5:\n";
auto5.imprimir();
cout<<"\nIntrodusca en numero del producto que desea modificar: ";
cin>>opmodif;
switch (opmodif){
case 1: auto1.leer(); break;
case 2: auto2.leer(); break;
case 3: auto3.leer(); break;
case 4: auto4.leer(); break;
case 5: auto5.leer(); break;
default: cout<<"\nOpcion Desconocida. Saliendo\n"; break;
};//fin switch
}
//opcion 4 y 5 del menu
void listar(producto &auto1, producto &auto2, producto &auto3, producto &auto4, producto &auto5, int costo){
if (costo == 1){// imprime los productos con precio mayor a 5000
if (auto1.precio>5000) auto1.imprimir();
if (auto2.precio>5000) auto2.imprimir();
if (auto3.precio>5000) auto3.imprimir();
if (auto4.precio>5000) auto4.imprimir();
if (auto5.precio>5000) auto5.imprimir();
}else{// imprime los productos con precio igual o menor a 5000
if (auto1.precio<=5000) auto1.imprimir();
if (auto2.precio<=5000) auto2.imprimir();
if (auto3.precio<=5000) auto3.imprimir();
if (auto4.precio<=5000) auto4.imprimir();
if (auto5.precio<=5000) auto5.imprimir();
}
}
int main(){
int error=0, opmenu;
producto auto1, auto2, auto3, auto4, auto5;// crea las instancias de producto
//preinicializamos todos los productos
CargaPrimaria(auto1);
CargaPrimaria(auto2);
CargaPrimaria(auto3);
CargaPrimaria(auto4);
CargaPrimaria(auto5);
do{
menu(); //imprime el menu
cin>>opmenu; //lee la opcion del menu
system("clear");
switch (opmenu){
case 1: Cargar(auto1, auto2, auto3, auto4, auto5); break;
case 2:
//lista todos los productos
cout<<"\nProductos cargados:\n";
cout<<"Producto 1:\n";
auto1.imprimir();
cout<<"Producto 2:\n";
auto2.imprimir();
cout<<"Producto 3:\n";
auto3.imprimir();
cout<<"Producto 4:\n";
auto4.imprimir();
cout<<"Producto 5:\n";
auto5.imprimir();
system("pause");
break;
case 3: //precarga los productos con valores predeterminados
CargaSecundaria(auto1, auto2, auto3, auto4, auto5);
system("pause");
break;
case 4: listar(auto1, auto2, auto3, auto4, auto5, 1); break;
case 5: listar(auto1, auto2, auto3, auto4, auto5, 2); break;
case 6: cout<<"\n\nFin del Programa\n\n";
system("pause");
break;
default: cout<<"\nOpcion Desconocida. Por favor introduzca una opcion valida\n";
system("pause");
break;
};// fin de switch
error=+1;
}while(opmenu!=0 && error<3);
system("pause");
return(0);
}