online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
//Escribir datos de manera aleatoria en un archivo de acceso aleatorio #include <iostream> #include <fstream> #include <cstdlib> #include "ClientData.h" // Definicion de la clase ClientData using namespace std; int main(){ int accountNumber; string lastName; string firstName; double balance; fstream outCredit( "credit.dat", ios::in | ios::out | ios::binary ); // salir del programa si fstream no puede abrir el archivo if ( !outCredit ){ cerr << "El archivo no se pudo abrir." << endl; exit( 1 ); } // end if cout << "Ingrese el número de cuenta ( del 1 al 100)"; cout << " 0 para finalizar el ingreso)\n? "; // Pedir al usuario que especifique un numero de cuenta ClientData client; cin >> accountNumber; // El usuario ingresa información, la cual se copia al archivo while ( accountNumber > 0 && accountNumber <= 100 ){ // el usuario ingresa el apellido ,el nombre y el saldo cout << "Ingrese Apellido, Nombre, Saldo\n? "; cin >> lastName; cin >> firstName; cin >> balance; // Establecer los valores del registro: // accountNumber, lastName, firstName y balance client.setAccountNumber( accountNumber ); client.setLastName( lastName ); client.setFirstName( firstName ); client.setBalance( balance ); // Buscar la posición en el archivo del registro // especificado por el usuario outCredit.seekp( ( client.getAccountNumber() - 1 ) * sizeof( ClientData ) ); // Escribir la informacion ingresada por el usuario en el archivo outCredit.write( reinterpret_cast< const char * >( &client ), sizeof( ClientData ) ); // Permitir al usuario ingresar otra cuenta cout << "Ingrese el numero de cuenta\n? "; cin >> accountNumber; } // end while } // end main
GonzalesJose�@ PerezesJuan33333G�@ SanchezPedro33333K�@ZMartinezCarlos�b@_LopezzMaria�g@
#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

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue