tengo que entregar este programa en dos dias, pero no se como hacerlo, me urge :-S o repruebo la materia, please, si alguien puede ayudarme, las instrucciones son las siguientes:

Hacer un programa en c++ que mediante el uso de arreglos de estructuras(nombre, sexo, teléfono) permita altas, cambios, bajas y consultas personales, pero que al cerrar el programa, los datos no se pierdan(usar archivos), es decir, que al cerrar el programa si en ese momento se tenían 5 elementos, al entrar de nuevo, sigan los 5 elementos.
y lo que tengo hasta ahora es:

#include
#include
#include
#include

void main()

{
struct persona
{
char nombre[20];
double peso;
int edad;
char sexo;

};

persona ar;
int resp;
char algo[21]="prueba.txt";
char res,ans;
int ch;
ofstream archivo_out;
ifstream archivo_in;
do
{
cout<<"¿Que deseas hacer?"< cout<<" "< cout<<"1. Altas"< cout<<"2. Bajas"< cout<<"3. Modificar"< cout<<"4. Consultas"< cin>>resp;

//para opcion 1=dar de alta los datos
if(resp==1)
{

archivo_out.open(algo);

do
{
cout<<"Nombre: ";
cin>>ar.nombre;
archivo_out< cout<<"Edad: ";
cin>>ar.edad;
archivo_out< cout<<"Peso: ";
cin>>ar.peso;
archivo_out< cout<<"Sexo: ";
cin>>ar.sexo;
archivo_out< cout< cout<<"otro?: ";
cin>>ans;

}while (ans=='s');

archivo_out.close();

}



if(resp==4)
{
archivo_in.open(algo);
if (archivo_in.fail())
{
cout<<"El archivo no se abrio con exito";

}


while( (ch=archivo_in.peek()) !=EOF)
{
archivo_in.getline(ar.nombre,200,'\n');
cout< }

archivo_in.close();





}




cout<<"Deseas otra operacion? :";
cin>>res;

} while(res=='s');

}



por favor, es urgente....
gracias