Como puedo agregarle estructuras a este codigo?
ayuda por favor
#include<fstream>
#include<conio>
#include<stdio>
#include<ctype>
registrar(); //prototipo de funcion
mostrar();
modificar();
registrar()
{
char nombre[10],dec;
int carnet;
ofstream entrada; //declaracion del flujo para crear archivo
entrada.open("alumno.txt", ios::out|ios::app);//out crea el archivo o reescribe
if(entrada.fail())
{
cout <<"Error al abrir o crear el archivo";
return 1;
}
else
{
do
{
clrscr();
cout<<"\n DATOS A REGISTRAR";
cout<<"\n\n INGRESE EL NOMBRE: ";
cin >>nombre;
cout<<"\n\n INGRESE EL CARNET: ";
cin >>carnet;
entrada<<nombre<<" "<<carnet<<endl;
cout <<"\n DESEA REGISTRAR OTRO ALUMNO? S/N";
do
{
dec = toupper (getch());//convierte a mayusculas y lo almacena en dec
}while(!isalpha(dec));
}while (dec!='N');
entrada.close();
}
}//fin funcion registrar
mostrar()
{//Inicio funcion mostrar
char nombre[10];
int carnet;
ifstream leer;
leer.open("alumno.txt",ios::in);
if(leer.fail())
{
clrscr();
cout<<"ERROR AL ABRIR EL ARCHIVO";
}
else
{
clrscr();
leer>>nombre; //lectura adelantada
while (!leer.eof())
{
leer>>carnet;
cout<<"NOMBRE: "<<nombre<<"\n\n";
cout<<"CARNET: "<<carnet<<"\n\n";
leer>>nombre;//complemento lectura adelantada
}
leer.close();
}
getch();//muestra los datos
}//fin de funcion mostrar
modificar()
{//inicio de la funcion modificar
char nombre[10];
int carnet,auxcarnet ;
ofstream temp; //creacion variable tipo ofstream
temp.open("temporal.txt",ios::out); //creacion del archivo temporal
ifstream leer;
leer.open("alumno.txt",ios::in);
if (temp.fail()||leer.fail() )
{
clrscr();
cout<<"ERROR AL ABRIR EL ARCHIVO";
getch();
}
else
{
clrscr();
cout<<"INGRESE EL CARNET DEL ALUMNO QUE DESEA MODIFICAR: \n ";
cin>>auxcarnet;
leer>>nombre;//lectura adelantada
while (!leer.eof())
{
leer>>carnet;
//if(strcmp(auxnombre,nombre)==0) b
if(auxcarnet==carnet)
{
clrscr();
cout<<"INGRESE EL NUEVO NOMBRE DEL ALUMNO\n";
cin>>nombre;
}
temp<<nombre<<" "<<carnet;
leer>>nombre;//complemento lectura adelantada
}
leer.close();//contiene los nvos datos actualizados
temp.close();
remove("alumno.txt"); //borramos el archivo viejo
rename("temporal.txt","alumno.txt"); //renombramos el archivo temporal por el viejo
}
} //fin funcion modificar
main()
{
char dec;
do
{
clrscr(); //limpiar pantalla
cout<< "\n ELIJA UNA OPCION:\n\n";
cout<< "\n A.REGISTRAR";
cout<< "\n B.MOSTRAR";
cout<< "\n C.MODIFICAR";
cout<< "\n E.SALIR\n";
do
{
do //se repite mientras lo ingresado sea diferente de una letra
{
dec=toupper(getch()); //convierte en mayuscula la letras ingresados
} while(!isalpha(dec));//se repite mientras sea diferente de una letra.
}while (dec<'A' || dec>'E');//condicion del whilw
switch(dec)
{
case 'A':
{
registrar();
break;
}
case 'B':
{
mostrar();
break;
}
case 'C':
{
modificar();
break;
}
}
}while(dec!='E'); //se repite hasta que se ingrese "E"
getch(); //Se muestra en pantalla
}//fin del main