Está en la página 1de 4

#include <stdio.

h>
#include <stdlib.h>
void menu();
void AltaPresu();
void BajaPresu();
void ListadoPresu();
void ModifPresu();
void BuscarPresu();

typedef struct{
int codigo;
char fecha[11];
char cuit[30];

int nomat;
char nom[30];
char pat[30];
char mat[30];
char car[30];
char cor[30];
char tel[30];

float total;
float descuento;
}Presupuesto;

int main()
{
menu();
return 0;
}
void menu(){
int opcion,opcion2;
printf(" -------------------------------------------\n");
printf(" 1) Alta\n");
printf(" 2) Baja\n");
printf(" 3) Modificacion\n");
printf(" 4) Mostrar todos\n");
printf(" 5) Buscar\n");
printf(" 6) Salir\n");
printf(" -------------------------------------------\n");
printf(" -------------------------------------------\n");
scanf("%d",&opcion);
//system("clear");
switch (opcion)
{
case 1:
AltaPresu();
break;
case 2:
BajaPresu();
break;
case 3:
ModifPresu();
break;
case 4:
ListadoPresu();
break;
case 5:
BuscarPresu();
break;
case 6:
system("clear");
break;

}
}
void AltaPresu(){
FILE *pf;
Presupuesto presu;
pf = fopen("Presupuesto.dat","ab");
printf("\n1. Alta de estudiantes\n\n");
printf( "Ingrese la matricula del estudiante: " );
scanf("%d",&presu.nomat);
printf( "Ingrese el nombre: " );
scanf("%s",presu.nom);
printf( "Ingrese al apellido paterno: " );
scanf("%s",presu.pat);
printf( "Ingrese el apellido materno: " );
scanf("%s",presu.mat);
printf( "Ingrese la carrera: " );
scanf("%s",presu.car);
printf( "Ingrese el correo electrónico: " );
scanf("%s",presu.cor);
printf( "Ingrese el teléfono: " );
scanf("%s",presu.tel);
fseek(pf,0L,SEEK_END);
fwrite(&presu,sizeof(Presupuesto),1,pf);
fclose(pf);
//system("clear");
printf("\nDatos ingresados:\n\n");
ListadoPresu();
printf("\n");
menu();
}

void BajaPresu(){
FILE *pf,*pfaux;
Presupuesto presu;
int codigoaux,x;
pf = fopen("Presupuesto.dat","rb");
pfaux = fopen("Presupuestoaux.dat","ab");
printf("Ingrese la matrícula del estudiante:\n");
scanf("%i",&codigoaux);
fread(&presu,sizeof(Presupuesto),1,pf);
while (!feof(pf)){
if (presu.nomat != codigoaux){
fseek(pfaux,0l,SEEK_END);
fwrite(&presu,sizeof(Presupuesto),1,pfaux);

printf("\n Estudiante no encontrado\n");


menu();
}
else
printf("Estudiante encontrado\n");
ListadoPresu();
printf("¿Estás seguro de que deseas eliminar al estudiante? 1.
Para si / 2. Para no\n");
scanf("%d",&x);
if (x == 1)
{
fread(&presu,sizeof(Presupuesto),1,pf);
printf("Estudiante eliminado correctamente\n");
menu();
}else printf("Eliminacion CANCELADA\n"); menu();
}
fclose(pf);
fclose(pfaux);
remove("Presupuesto.dat");
rename("Presupuestoaux.dat","Presupuesto.dat");
}

void ListadoPresu(){
FILE *pf;
Presupuesto presu;
pf = fopen("Presupuesto.dat","rb");
fread(&presu,sizeof(Presupuesto),1,pf);
while(!feof(pf)){
printf("%d ; %s %s %s ; %s ; %s ; %s\
n",presu.nomat,presu.nom,presu.pat,presu.mat,presu.car,presu.cor,presu.tel);
fread(&presu,sizeof(Presupuesto),1,pf);
}
fclose(pf);
}

void ModifPresu(){
FILE *pf,*pfaux;
Presupuesto presu;
int codigoaux,x;
pf = fopen("Presupuesto.dat","rb");
pfaux = fopen("Presupuestoaux.dat","ab");
printf("Ingrese la matricula del estudiante a modificar: ");
scanf("%i",&codigoaux);
fread(&presu,sizeof(Presupuesto),1,pf);
while (!feof(pf)){
if (presu.nomat != codigoaux){
fseek(pfaux,0l,SEEK_END);
fwrite(&presu,sizeof(Presupuesto),1,pfaux);

printf("\n Estudiante no encontrado\n");


menu();
}else
{
printf("Estudiante encontrado\n");
ListadoPresu();
printf("¿¿Estás seguro de que deseas modificar al
estudiante? 1. Para si / 2. Para no\n");
scanf("%d",&x);
if (x == 1)
{
printf("\n1. Alta de estudiantes\n\n");
printf( "Ingrese la matricula del estudiante: " );
scanf("%d",&presu.nomat);
printf( "Ingrese el nombre: " );
scanf("%s",presu.nom);
printf( "Ingrese al apellido paterno: " );
scanf("%s",presu.pat);
printf( "Ingrese el apellido materno: " );
scanf("%s",presu.mat);
printf( "Ingrese la carrera: " );
scanf("%s",presu.car);
printf( "Ingrese el correo electrónico: " );
scanf("%s",presu.cor);
printf( "Ingrese el teléfono: " );
scanf("%s",presu.tel);

printf("Estudiante modificado correctamente\n");


menu();
fseek(pfaux,0l,SEEK_END);
fwrite(&presu,sizeof(Presupuesto),1,pfaux);
}else printf("Modificación CANCELADA\n"); menu();
}
fread(&presu,sizeof(Presupuesto),1,pf);
}
fclose(pf);
fclose(pfaux);
remove("Presupuesto.dat");
rename("Presupuestoaux.dat","Presupuesto.dat");
}

void BuscarPresu(){
FILE *pf,*pfaux;
Presupuesto presu;
int codigoaux,x;
pf = fopen("Presupuesto.dat","rb");
pfaux = fopen("Presupuestoaux.dat","ab");
printf("Ingrese la matrícula del estudiante:\n");
scanf("%i",&codigoaux);
fread(&presu,sizeof(Presupuesto),1,pf);
while (!feof(pf)){
if (presu.nomat != codigoaux){
fseek(pfaux,0l,SEEK_END);
fwrite(&presu,sizeof(Presupuesto),1,pfaux);

printf("\n Estudiante no encontrado\n");


menu();
}
else
printf("Estudiante encontrado\n");
ListadoPresu();
menu();
}
fclose(pf);
fclose(pfaux);
remove("Presupuesto.dat");
rename("Presupuestoaux.dat","Presupuesto.dat");
}

También podría gustarte