Archivos binarios
Publicado por Winie (1 intervención) el 10/06/2008 03:55:51
hey q tal quisiera saber quien me podria ayudar con pequeno codigo q necesito :)
ya les explico lo q stoy haciendo:
estoy trabajando con archivos binarios en dev c++ este s el proyecto:
#include <iostream>
#include <iomanip>
#include <fstream>
#include "tienda.h"
using std::cout;
using std::cin;
using std::endl;
using std::cerr;
using std::setw;
using std::ios;
using std::ofstream;
using std::ifstream;
using std::fstream;
void pantalla();
void agregar();
void modificar();
void registrar();
void reporte();
void salir ();
int main()
{
int opc;
do {
pantalla();
cin >> opc;
cout << endl << endl;
switch (opc) {
case 1:
agregar();
break;
case 2:
modificar();
break;
case 3:
registrar();
break;
case 4:
reporte();
break;
case 5:
salir();
break;
default:
cout << "Opcion no valida... " << endl;
break;
}
} while (opc != 5);
return 0;
}
void pantalla()
{
cout << " ______________________________________________ ";
cout << "|____________________Menu____________________| ";
cout << "|| (1) Agregar Producto ";
cout << "|| (2) Modificar Producto ";
cout << "|| (3) Registrar Producto ";
cout << "|| (4) Reporte ";
cout << "|| (5) Salir ";
cout << "|| Escoja Una Opcion: " ;
}
void agregar()
{
fstream registroTienda("tienda.dat", ios::in | ios::out |ios::binary);
if (!registroTienda) {
cerr << "No se pudo abrir el archivo." << endl;
exit(1);
}
char resp;
string nombre ;
int codigo;
int existencia;
float precio;
do {
cout << "Ingrese Descripcion: ";
cin >> nombre;
cout << "Codigo: ";
cin >> codigo;
cin.ignore();
cout << "Precio: ";
cin >> precio;
cin.ignore ();
cout << "Existencia: ";
cin >> existencia;
cin.ignore ();
Tienda a(nombre, codigo, precio, existencia);
registroTienda.write(reinterpret_cast<const char *>(&a), sizeof(Tienda));
cout << endl << "Desea ingresar otro registro (s/n): ";
cin >> resp;
cin.ignore();
cout << endl;
} while (resp != 'n' && resp != 'N');
registroTienda.close();
cout << endl;
}
void modificar()
{
string nombre;
int codigo;
int existencia;
float precio;
char resp;
}
las propiedades son: nombre, codigo, existencia, precio, si me puede ayudar con la funcion de modifcar y si me ayudan ya stoy hecho, la clase se llama Tienda, esta funcion me pide q ingrese algun codigo y q me muestre el nombre y el precio y la existencia del producto de dicho codigo... y la verdad no se como hacerle y luego sobreescribir la nueva informacion... quie pueda ayudarm muchas gracias de antemano
ya les explico lo q stoy haciendo:
estoy trabajando con archivos binarios en dev c++ este s el proyecto:
#include <iostream>
#include <iomanip>
#include <fstream>
#include "tienda.h"
using std::cout;
using std::cin;
using std::endl;
using std::cerr;
using std::setw;
using std::ios;
using std::ofstream;
using std::ifstream;
using std::fstream;
void pantalla();
void agregar();
void modificar();
void registrar();
void reporte();
void salir ();
int main()
{
int opc;
do {
pantalla();
cin >> opc;
cout << endl << endl;
switch (opc) {
case 1:
agregar();
break;
case 2:
modificar();
break;
case 3:
registrar();
break;
case 4:
reporte();
break;
case 5:
salir();
break;
default:
cout << "Opcion no valida... " << endl;
break;
}
} while (opc != 5);
return 0;
}
void pantalla()
{
cout << " ______________________________________________ ";
cout << "|____________________Menu____________________| ";
cout << "|| (1) Agregar Producto ";
cout << "|| (2) Modificar Producto ";
cout << "|| (3) Registrar Producto ";
cout << "|| (4) Reporte ";
cout << "|| (5) Salir ";
cout << "|| Escoja Una Opcion: " ;
}
void agregar()
{
fstream registroTienda("tienda.dat", ios::in | ios::out |ios::binary);
if (!registroTienda) {
cerr << "No se pudo abrir el archivo." << endl;
exit(1);
}
char resp;
string nombre ;
int codigo;
int existencia;
float precio;
do {
cout << "Ingrese Descripcion: ";
cin >> nombre;
cout << "Codigo: ";
cin >> codigo;
cin.ignore();
cout << "Precio: ";
cin >> precio;
cin.ignore ();
cout << "Existencia: ";
cin >> existencia;
cin.ignore ();
Tienda a(nombre, codigo, precio, existencia);
registroTienda.write(reinterpret_cast<const char *>(&a), sizeof(Tienda));
cout << endl << "Desea ingresar otro registro (s/n): ";
cin >> resp;
cin.ignore();
cout << endl;
} while (resp != 'n' && resp != 'N');
registroTienda.close();
cout << endl;
}
void modificar()
{
string nombre;
int codigo;
int existencia;
float precio;
char resp;
}
las propiedades son: nombre, codigo, existencia, precio, si me puede ayudar con la funcion de modifcar y si me ayudan ya stoy hecho, la clase se llama Tienda, esta funcion me pide q ingrese algun codigo y q me muestre el nombre y el precio y la existencia del producto de dicho codigo... y la verdad no se como hacerle y luego sobreescribir la nueva informacion... quie pueda ayudarm muchas gracias de antemano
Valora esta pregunta


0