miachm
Registrado: 16 Ene 2012 Mensajes: 1
|
Publicado: Lun 16 Ene, 2012 18:18 pm
Título del mensaje: Problemas al leer un archivo binario |
|
|
Buenas, tengo un trabajillo para la uni que consiste en hacer una especie de gestoría de biblioteca.
En unos de los apartados, me piden calcular el precio entre unas determinada fechas y guardalos en un archivo binario:
| Código: | // Guardamos las fechas entre dos periodos en un fichero binario (repeticion de la funcion de busqueda, pero sin imprimir en pantalla
ofstream Buffer;
Buffer.open(BUFFER.c_str()); // Nombre del archivo predefinido en la constante BUFFER
for (int i = 0; i < elementos; i++)
if (ComprobarFecha(Libro,Leidas[1],Leidas[0],i,elementos))
{
Buffer.write((char *)&Libro[i].Precio,sizeof(int)); // Guardamos precio
Buffer.write((char *)&Libro[i].Fecha.Dia,sizeof(fecha)); // Guardamos fecha
contador++;
}
Buffer.close();
// Enunciado: CIV (obtener el precio total y medio de los libros encontrados)
ifstream CargarDatos;
CargarDatos.open(BUFFER.c_str());
// Reseteamos variables
Min = 0;
Max = 0;
contador = 0;
// Empezamos a leer
while(!CargarDatos.eof())
{
CargarDatos.read((char *)&Datos[contador],sizeof(int)); // Leemos precio
Max += Datos[contador]; // Vamos calculando el precio total...
CargarDatos.read((char *)&Leidas[contador],sizeof(fecha)); // Leemos la fecha
contador++; // Añadimos un libro mas leido
}
CargarDatos.close();
// Cuando terminamos, mostramos la informacion
cout<<endl<<"El precio total de los libros entre las dos fechas es de "<<Max<<"$ con un precio medio de ";
cout<<Max/contador<<"$/Libro. Hay una cantidad de "<<contador<<" libros"; |
Al probarlo, me aparece que los libros son 21 (correcto) y que su precio es de 5547734745... Un disparate vamos xD
Las estructuras son:
| Código: | struct fecha
{
int Anyo,Mes,Dia;
};
struct Biblioteca
{
string Titulo, Autor;
float Precio;
bool Prestado;
fecha Fecha;
}; | Las variables de esta funcion son:
| Código: | int Max = 0;
int Min = 0;
int contador = 0;
int Datos[elementos];
fecha Leidas[elementos];
Biblioteca Libro[elementos]; | [/img] |
|
|
|