MANEJO DE ARCHIVOS
Codigo
Nombre
Apellido
Edad
Promedio.
Cdigo en c++
#include <iostream>
#include <conio>
#include <stdlib>
#include <iomanip>
#include <stdio>
int op;
int crear();
int escribir();
int consultar();
int modificar();
int elimnar();
int menu(){
cout<<" MENU";
cout<<endl;
cout<<" 1 crear archivo de texto"<<endl;
cout<<" 2 almacenar datos"<<endl;
cout<<" 3 consultar datos"<<endl;
cout<<" 4 modificar datos"<<endl;
cout<<" 5 eliminar datos "<<endl;
cout<<" 6 salir del programa"<<endl;
cin>>(op);
switch(op)
{
case 1:
crear();
break;
case 2:
escribir();
break;
case 3:
consultar();
break;
case 4:
modificar();
break;
case 5:
elimnar();
break;
case 6:
cout<<" eligio salir "<<endl;
break;
default:
cout<<" esta opcion no esta disponible";
cout<<endl;
menu();
}}
struct{
int matricula;
char nombre [30],apellido[30];
int edad,codigo,promedio;
}alumno;
int clave;
int crear(){
FILE*archdisco;
archdisco=fopen("estudiante.txt","w");
fclose(archdisco);
cout<<"archivo de texto creado";
cout<<endl;
menu();}
int escribir(){
cout<<" ingrese codigo; "<<endl;
cin>>alumno.codigo;
cout<<" ingrese nombre; "<<endl;
cin>>alumno.nombre;
cout<<" ingrese apellido; "<<endl;
cin>>alumno.apellido;
cout<<" dame edad; "<<endl;
cin>>alumno.edad;
cout<<" ingrese promedio; "<<endl;
cin>>alumno.promedio;
FILE*archdisco;
archdisco=fopen("estudiante.txt","at+");
fwrite(&alumno,sizeof(alumno),1,archdisco);
fclose(archdisco);
cout<<" insertado"<<endl;;
menu();}
int consultar(){
cout<<" ingrese codigo para consultar: "<<endl;
cin>>clave;
FILE*archdisco;
archdisco=fopen("estudiante.txt","at+");
while(fread(&alumno,sizeof(alumno),1,archdisco)==1)
{
if(clave==alumno.codigo)
{
cout<<" codigo: "<<alumno.codigo;
cout<<" nombre: "<<alumno.nombre;
cout<<" apellido: "<<alumno.apellido;
cout<<" edad: "<<alumno.edad;
cout<<" promedio: "<<alumno.promedio;
cout<<"\n";
};};
fclose(archdisco);
cout<<endl;
menu();}
int modificar(){
cout<<" ingrese codigo a editar: "<<endl;
cin>>clave;
FILE*arch1;
FILE*arch2;
arch1=fopen("estudiante.txt","r+");
arch2=fopen("temporal.txt","at+");
while(fread(&alumno,sizeof(alumno),1,arch1)==1)
{
if(clave==alumno.codigo){
cout<<" ingrese nuevo nombre: "<<endl;
cin>>alumno.nombre;
cout<<" ingrese nuevo apellido: "<<endl;
cin>>alumno.apellido;
cout<<" ingrese promeio: "<<endl;
cin>>alumno.promedio;
cout<<"\n";
cout<<"\n";
fwrite(&alumno,sizeof(alumno),1,arch2);
}
};
fclose(arch1);
fclose(arch2);
remove("ESTUDIANTE.txt");
rename("TEMPORAL.txt","ESTUDIANTE.txt");
cout<<"registro editado";
getch();
cout<<endl;
menu();
}
int elimnar(){
cout<<" ingrese clave a eliminar: "<<endl;
cin>>clave;
FILE*arch1;
FILE*arch2;
arch1=fopen("estudiante.txt","r+");
arch2=fopen("temporal.txt","at+");
while(fread(&alumno,sizeof(alumno),1,arch1)==1)
{
if(clave!=alumno.matricula)
fwrite(&alumno,sizeof(alumno),1,arch2);
};
fclose(arch1);
fclose(arch2);
remove("ESTUDIANTE.txt");
rename("TEMPORAL.txt","ESTUDIANTE.txt");
cout<<"registro eliminado";
getch();
cout<<endl;
menu();
}
int main(){
menu();
getch();
}
Cdigo c++
#include <iostream>
#include <conio>
#include <stdlib>
#include <iomanip>
#include <stdio>
int op;
int crear();
int escribir();
int consultar();
int modificar();
int elimnar();
int menu(){
switch(op)
{
case 1:
crear();
break;
case 2:
escribir();
break;
case 3:
consultar();
break;
case 4:
modificar();
break;
case 5:
elimnar();
break;
case 6:
cout<<" eligio salir "<<endl;
break;
default:
cout<<" esta opcion no esta disponible";
cout<<endl;
menu();
}}
struct{
int matricula;
char nombre [30],apellido[30],telefono[25];
int edad,codigo,promedio;
}agenda;
int clave;
int c;
int crear(){
FILE*archdisco;
archdisco=fopen("agenda.txt","w");
fclose(archdisco);
cout<<"archivo de agenda creado";
cout<<endl;
menu();}
int escribir(){
cout<<" escribir el numero de agenda: "<<endl;
cin>>c;
for(int a=1; a<=c; a++){
cout<<" ingrese codigo; "<<endl;
cin>>agenda.codigo;
cout<<" ingrese nombre; "<<endl;
cin>>agenda.nombre;
cout<<" ingrese apellido; "<<endl;
cin>>agenda.apellido;
cout<<" ingrese numero de telefono; "<<endl;
cin>>agenda.telefono;
FILE*archdisco;
archdisco=fopen("agenda.txt","at+");
fwrite(&agenda,sizeof(agenda),1,archdisco);
fclose(archdisco);
cout<<" se ha insertado un nuevo contacto"<<endl;}
menu();}
int consultar(){
cout<<" ingrese codigo para consultar: "<<endl;
cin>>clave;
FILE*archdisco;
archdisco=fopen("agenda.txt","at+");
while(fread(&agenda,sizeof(agenda),1,archdisco)==1)
{
if(clave==agenda.codigo)
{
cout<<" codigo: "<<agenda.codigo;
cout<<" nombre: "<<agenda.nombre;
cout<<" apellido: "<<agenda.apellido;
cout<<" telefono: "<<agenda.telefono;
cout<<"\n";
};};
fclose(archdisco);
cout<<endl;
menu();}
int modificar(){
cout<<" ingrese codigo a editar: "<<endl;
cin>>clave;
FILE*arch1;
FILE*arch2;
arch1=fopen("agenda.txt","r+");
arch2=fopen("temporal.txt","at+");
while(fread(&agenda,sizeof(agenda),1,arch1)==1)
{
if(clave==agenda.codigo){
cout<<" codigo: "<<endl;
cin>>agenda.codigo;
cout<<" ingrese nuevo nombre: "<<endl;
cin>>agenda.nombre;
cout<<" ingrese nuevo apellido: "<<endl;
cin>>agenda.apellido;
cout<<" ingrese telefono: "<<endl;
cin>>agenda.telefono;
cout<<"\n";
fwrite(&agenda,sizeof(agenda),1,arch2);
}
};
fclose(arch1);
fclose(arch2);
remove("agenda.txt");
rename("temporal.txt","agenda.txt");
cout<<"registro editado";
getch();
cout<<endl;
menu();
}
int elimnar(){
cout<<" ingrese clave a eliminar: "<<endl;
cin>>clave;
FILE*arch1;
FILE*arch2;
arch1=fopen("agenda.txt","r+");
arch2=fopen("temporal.txt","at+");
while(fread(&agenda,sizeof(agenda),1,arch1)==1)
{
if(clave!=agenda.matricula)
fwrite(&agenda,sizeof(agenda),1,arch2);
};
fclose(arch1);
fclose(arch2);
remove("agenda.txt");
rename("temporal.txt","agenda.txt");
cout<<"registro eliminado";
getch();
cout<<endl;
menu();
}
int main(){
menu();
getch();
}