Código:
/* Datos del Vehiculo Solicita los datos del vehiculo Esta estructura esta declarada en el archivo cabecero "proyecto.h" struct Vehiculo{ char placa[6]; char marca[10]; char modelo[10]; char color; unsigned long cedula; }; */ #include "proyecto.h" Vehiculo datosVehiculo(unsigned long cedula){ Vehiculo v; // declaracion de una estructura tipo vehiculo ya deficina en el proyecto.h // solicita los datos del vehiculo cout<< "\n\n\t\t Vehiculo \n\n" <<"=> Ingrese los datos del Vehiculo \n\n"; cout<<"\t Placa: "; cin.getline(v.placa, 6);// debo colocar uno mas grande que el campo, de lo contrario solo lee 4 caracteres y no lee los datos siguientes cin.seekg(0, ios::end); cin.ignore(100,'\n'); cout<<"\t Marca: "; cin.getline(v.marca,10); cout<<"\t Modelo: "; cin.getline(v.modelo,10); cout<<"\t Color: "; cin.getline(v.color,3); v.cedula = cedula; cout<< endl << endl; fstream Escr_Lect("Vehiculo.bin", ios::out | ios::in | ios::binary | ios::app); Escr_Lect.write((char*)(&v), sizeof(Vehiculo)); cout <<"Placa: " << v.placa; //prueba del registro creado Vehiculo v2; unsigned long longarchivo(Escr_Lect.tellg()); Escr_Lect.seekg( longarchivo - sizeof(Vehiculo)); //Escr_Lect.seekg(0, ios::beg); Escr_Lect.read( (char*)(&v2), sizeof(Vehiculo)); cout<<"\n Placa : " << v2.placa <<"\n Marca : " << v2.marca <<"\n Modelo: " << v2.modelo <<"\n Color : " << v2.color <<"\n Cedula: " << v2.cedula << endl << endl; // retorna el registro del vehiculo en una estructura tipo Vehiculo return v; }
con este codigo obtengo la pantalla siguiente:
--------------------------------------------------------------
Código:
Al introducir los datos primero imprimo la placa.Vehiculo => Ingrese los datos del Vehiculo Placa: L4423 // qui debo precionar enter 2 veces, no kiero q esto pase Marca: Marca // qui debo precionar enter 2 veces, no kiero q esto pase Modelo: Modelo // qui debo precionar enter 2 veces, no kiero q esto pase Color: RO //esta es la salida Placa: L4423Marca Placa : L4423Marca Marca : Marca Modelo: Modelo Color : RO Cedula: 2240031513 Presione una tecla para continuar . . . ---------------------------------------------------------
aqui ya pueden observar que la placa se guarda junto con la marca.
luego escribo la estructura en el archivo, leo el ultimo registro y lo imprimo y tambien esta pasando lo de la placa y la marca unidos en un mismo campo.
espero alguien pueda ayudarme pronto.
saludos,