perdon por el doble post kla verdad tengo que disculparme por ser tonto y postearde esta forma pero en realidad lo nesecito mucho tal ves esta ves con el codigo mas "elaborado"
tengo esta struct
//estrucutura que controla los datos
struct Banco{
string cuenta;
short int pin;
int balance;
};
esta funcion crea el archivo para su actualizacion.
bool crearcuentas()
{
char resp;
fstream Archivo1;
Banco obj;
Archivo1.open("Cuentas.bin", ios::binary | ios::out);
if(Archivo1){
cout<<"Bienvenido programador de cajero "<<endl;
do{
cout<<"vamos a iniciar un registro."<<endl<<"Digite su cuenta seguida de el signo de #"<<endl<<"";
getline(cin , obj.cuenta, '#');
cin.ignore();
cout<<"digite el pin de esa cuenta"<<endl;
cin >> obj.pin;
cin.ignore();
cout<<"digite el balnce de esa cuenta."<<endl;
cin >> obj.balance;
cin.ignore();
Archivo1.write((char*)(&obj), sizeof(Banco));
cout<<"procesar otra cuenta cuenta s o S para continuar."<<endl;
cin >> resp;
}while(resp == 's' || resp == 'S');
Archivo1.close();
return true;
}else cout<<"Error : abriendo el archivo."; return false;
return true;
}
quiero hacer algo asi
//// funcion para actualizar el balance del registro
//codigo de alex cruz
void update (cuentas cliente,int pin , int nocuent ,int balance, int retiro,int pos){
cout<<pos<<endl;
fstream compare("cuentas.bin", ios::out| ios::binary);
compare.seekp( ((pos) * sizeof(cuentas)), ios::beg);
cliente.balance=balance-retiro;
compare.write((char*)(&cliente), sizeof(cuentas));
compare.close();
}
entoces el problema es que cuando trato de actualizar las cuentas no pasa NADA es como si no hiciera nada.
espero que alguien me pueda ayudar por favor
GRACIAS y DISCULPEN las molestias.
[/b]