Código:
void mod()
{
ofstream aux;
ifstream lectura;
encontrado=false;
char auxnombrep[30];
char auxnuevonombrep[30];
aux.open("aux.dat",ios::out);
lectura.open("reg.dat",ios::in);
if(aux.is_open() && lectura.is_open()){
cout<<"Ingresa el nombre del producto a Modificar: ";
cin>>auxnombrep;
lectura>>nombrep;
while(!lectura.eof()){
lectura>>prov>>fechac>>precio>>ciudadorigen>>departamento;
if(auxnombrep==nombrep){
encontrado=true;
cout<<"__________________________"<<endl;
cout<<"Nombre del producto: "<<nombrep;
cout<<"Proveedor: "<<prov;
cout<<"Fecha de compra"<<fechac;
cout<<"Precio: "<<precio;
cout<<"Ciudad de origen: "<<ciudadorigen;
cout<<"Departamento: "<<departamento;
cout<<"__________________________"<<endl;
cout<<"Ingresa el nuevo producto con nombre"<<nombrep<<": ";
cin>>auxnuevonombrep;
aux<<auxnuevonombrep<< " "<<prov<<" "<<fechac<<" "<<precio<<" "<<ciudadorigen<<" "<<departamento<<endl;
cout<<"Registro Modificado"<<endl;
}else{
aux<<auxnuevonombrep<< " "<<prov<<" "<<fechac<<" "<<precio<<" "<<ciudadorigen<<" "<<departamento<<endl;
}
lectura>>nombrep;
}
}else{
cout<<"No se pudo abrir el archivo o aun no ha sido creado"<<endl;
}
if(encontrado==false){
cout<<"No se encontro ningun registro con nombre "<<auxnombrep<<endl;
}
aux.close();
lectura.close();
remove("reg.dat");
rename("aux.dat","reg.dat");
}