Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/03/2013, 02:24
marlonsalazar007
 
Fecha de Ingreso: marzo-2013
Mensajes: 2
Antigüedad: 11 años, 1 mes
Puntos: 0
Pregunta como puedo agregarle estructuras

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