Crear fichero archivo de texto en ejercicio.

Iniciado por BKsiragon, 28 Enero 2014, 00:50 AM

0 Miembros y 1 Visitante están viendo este tema.

BKsiragon

Hola, queria consultar a ver si me pueden hechar una añudadita con este codigo que hace falta crear un archivo o fichero donde se almacene la informacion del de los productos, lo realizado en el programa ps!

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.**


#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);
}

nolasco281

#1
Hola cuál es tu duda se mas concreto crear un archivo de texto donde te guarde los datos mencionados una archivo binario o en un simple archivo de texto etc.

Por qué recuerda que si el archivo no está creado el programa debe crearlo, y viceversa si el programa ya lo creo no lo debe borrar para crear uno nuevo si no perderás todos tus datos. Al igual si deseas buscar o modificar algo en el programa.

Déjame buscar creo que tengo algún ejemplo por ahí de manejo de archivos.

Saludos.
Lo que se puede imaginar... se puede programar.

nolasco281

#2
Aca te dejo el codigo.

para que crees el archivo

lo demas no te lo paso ya que tambien tu debes pensar saludos amigo.

ya solo te falta hacer el de guardar modificar y borrar.

Lo que se puede imaginar... se puede programar.

BKsiragon

Amigo gracias por tu respuesta..
Bueno es para que el mismo programa cree un archivo de texto simple con lo datos que se ingresan cuando se esta ejecutando el programa ps.

nolasco281

Aca esta amigo saludos y practica mas si saludos

Lo que se puede imaginar... se puede programar.