// Crear un archivo de acceso aleatorio
#include <iostream>
#include <fstream>
#include <cstdlib>
#include "ClientData.h" // Definicion de la clase ClientData
using namespace std;
int main(){
ofstream outCredit( "credit.dat", ios::out | ios::binary );
// salir del programa si ofstream no puede abrir el archivo
if ( !outCredit ){
cerr << "No se pudo abrir el archivo." << endl;
exit( 1 );
} // end if
ClientData blankClient; // El constructor inicializa con cero los datos
// Imprime 100 registros en blanco
for(int i=0; i<100; ++i)
outCredit.write( reinterpret_cast< const char * >( &blankClient ), sizeof( ClientData ) );
} // end main
#ifndef CLIENTDATA_H
#define CLIENTDATA_H
#include <string>
using namespace std;
class ClientData{
public:
// constructor predeterminado de ClientData
ClientData( int accountNumberValue =0,
string lastNameValue="", string firstNameValue="",
double balanceValue =0.0){
setAccountNumber( accountNumberValue );
setLastName( lastNameValue );
setFirstName( firstNameValue );
setBalance( balanceValue );
} // fin del constructor ClientData
// Obtener el valor del numero de cuenta
int getAccountNumber() const{
return accountNumber;
} // fin de la funcion getAccountNumber
// Establecer el valor de account-number
void setAccountNumber( int accountNumberValue ){
accountNumber = accountNumberValue;
} // fin de la funcion setAccountNumber
// Obtener el valor de last-name
string getLastName() const{
return lastName;
} // fin de la funcion getLastName
// Establecer el valor de last-name
void setLastName( string lastNameString ){
// copiar como máximo 15 caracteres de la cadena a lastName
int length = lastNameString.size();
length = ( length < 15 ? length : 14 );
lastNameString.copy( lastName, length );
lastName[ length ] = '\0'; // añadir carácter nulo a lastName
} // fin de la funcion setLastName
// Obtener el valor de first-name
string getFirstName() const{
return firstName;
} // fin de la funcion getFirstName
// Establecer el valor de first-name
void setFirstName( string firstNameString ){
// copiar como máximo 10 caracteres de la cadena a firstName
int length = firstNameString.size();
length = ( length < 10 ? length : 9 );
firstNameString.copy( firstName, length );
firstName[ length ] = '\0'; // añadir carácter nulo a firstName
} // fin de la funcion setFirstName
// Obtener el valor de balance
double getBalance() const{
return balance;
} // fin de la funcion getBalance
// Establecer el valor de balance
void setBalance( double balanceValue ){
balance = balanceValue;
} //fin de la funcion setBalance
private:
int accountNumber;
char lastName[ 15 ];
char firstName[ 10 ];
double balance;
}; // fin de la clase ClientData
#endif
Gonzales Jose �@
Perez es Juan 33333G�@ Sanchez Pedro 33333K�@ Z Martinez Carlos �b@ _ Lopez z Maria �g@