11
//Programa de archivos binarios // Alumno: Juan Rosendo Lizama Mares // Prof. Ing Edmundo Barajas Ramirez // Electronica 3º semestre #include <stdio.h> #include <conio.h> struct alumnos { char nombre[50]; int edad; int estado; }; alumnos a[50]; int op; int n,nn,i,j; void agregaralumnos(); void cambios(); void dardebaja(); void despliegues(); void cambiarnombre(); void cambiaredad(); void despliegueespecifico(); void desplieguetodo(); void guardarcambios(); int main()

Programa de Archivos Binarios

Embed Size (px)

DESCRIPTION

programa

Citation preview

Page 1: Programa de Archivos Binarios

//Programa de archivos binarios

// Alumno: Juan Rosendo Lizama Mares

// Prof. Ing Edmundo Barajas Ramirez

// Electronica 3º semestre

#include <stdio.h>

#include <conio.h>

struct alumnos

{

char nombre[50];

int edad;

int estado;

};

alumnos a[50];

int op;

int n,nn,i,j;

void agregaralumnos();

void cambios();

void dardebaja();

void despliegues();

void cambiarnombre();

void cambiaredad();

void despliegueespecifico();

void desplieguetodo();

void guardarcambios();

int main()

{

Page 2: Programa de Archivos Binarios

int t;

FILE *archivo;

char caracter;

char nom[50];

int edad1;

archivo = fopen("proyectofinal.txt","r");

if (archivo == NULL){

printf("\nError de apertura del archivo. \n\n");

}

else {

int h =0;

char texto[50];

int zenb;

printf("nombre");

printf("\t\t\t edad");

while(fgets(a[h].nombre, 50, archivo))

{

printf("\n%s", a[h].nombre);

fgets(texto,50,archivo);

sscanf(texto,"%d",&zenb);

a[h].edad=zenb;

printf("\t\t\t%d", a[h].edad);

h++;

}

fclose(archivo);

getch();

}

Page 3: Programa de Archivos Binarios

do

{

clrscr();

printf("Altas................1\n");

printf("Cambios..............2\n");

printf("Bajas................3\n");

printf("Despliegues..........4\n");

printf("Salir................5\n");

scanf("%d",&op);

switch(op){

case 1:agregaralumnos();

break;

case 2:cambios();

break;

case 3:dardebaja();

break;

case 4:despliegues();

break;

}

getch();

}while(op!=5);

return 0;

}

void agregaralumnos()

{

int i;

printf("Cuantos alumnos desea agregar?:\n");

Page 4: Programa de Archivos Binarios

scanf("%d", &nn);

clrscr();

FILE *fp;

fp = fopen ("proyectofinal.txt", "a" );

for(i=0;i<nn;i++)

{

getchar();

printf("Escriba el nombre del alumno\n");

gets(a[i].nombre);

printf("Escriba la edad del alumno\n");

scanf("%d", &a[i].edad);

fprintf(fp,"%s\n",a[i].nombre);

fprintf(fp,"%d\n",a[i].edad);

}

fclose ( fp );

getch();

}

void cambios()

{

do

{

clrscr();

printf("Cambiar el nombre............1\n");

printf("Cambiar la edad..............2\n");

printf("Regresar al menu principal...3\n");

scanf("%d", &op);

Page 5: Programa de Archivos Binarios

switch(op){

case 1:cambiarnombre();

break;

case 2:cambiaredad();

break;

}

getch();

}while(op!=3);

}

void cambiarnombre()

{

int v;

int n;

printf("Que numero de alumno desea cambiar?\n");

scanf("%d", &v);

printf("Ponga el nuevo nombre\n");

scanf("%s", &a[v].nombre);

guardarcambios();

}

void cambiaredad()

{

int v;

printf("Que numero de alumno desea cambiar\n");

Page 6: Programa de Archivos Binarios

scanf("%d", &v);

printf("ponga la nueva edad\n");

scanf("%d", &a[v].edad);

guardarcambios();

}

void dardebaja()

{

int b;

char s;

printf("Desea dar de baja a algun alumno?\n");

scanf("%s",&s);

if(s==s){

printf("Que numero desea dar de baja?\n");

scanf("%d", &b);

a[b].estado=1;

guardarcambios();

}

getch();

}

void despliegues()

{

do

{

clrscr();

printf("Desplegar todos los alumnos.........1\n");

Page 7: Programa de Archivos Binarios

printf("Desplegar un alumno en especifico...2\n");

printf("Regresar al menu principal..........3\n");

scanf("%d", &op);

fflush(stdin);

switch(op)

{

case 1:desplieguetodo();

getch();

break;

case 2:despliegueespecifico();

getch();

break;

}

getch();

}while(op!=3);

}

void desplieguetodo()

{

FILE *fp;

fp = fopen ("proyectofinal.txt", "a" );

printf("nombre");

printf("\t\t\t edad");

for( int n=0; n<nn; n++)

{

printf("\n%s", a[n].nombre);

printf("\t\t\t%d", a[n].edad);

Page 8: Programa de Archivos Binarios

}

}

void despliegueespecifico()

{

int b;

printf("Cual alumno desea imprimir?\n");

scanf("%d", &b);

printf("nombre");

printf("\t\t\t edad");

printf("\n%s", a[b].nombre);

printf("\t\t\t%d", a[b].edad);

}

void guardarcambios()

{

FILE *fp;

fp = fopen ("proyectofinal.txt", "w" );

for(i=0;i<nn;i++)

{

if(a[i].estado!=1){

fprintf(fp,"%s\n",a[i].nombre);

fprintf(fp,"%d\n",a[i].edad);

}

}

fclose ( fp );

}

Page 9: Programa de Archivos Binarios

CORRIDA DEL PROGRAMA

Page 10: Programa de Archivos Binarios

Archivo guardado, se cerro el programa, se volvió abrir y se puso la opción de recuperar lo capturado(abrir el archivo).