#include<conio.h>
#include<stdio.h>
#include<dos.h>
#include<string.h>
#include<stdlib.h>
//#include<loading.h>
void registro();
void graficas();
struct asignatura
{
char matricula[9];
char codigo[5];
char nombre[10];
int p1,p2,p3,p10;
}as[5];
struct estudiante
{
char matricula[9];
char nombre[20];
char apellido[20];
char direccion[30];
char telefono[10];
char edad[2];
}rec[50];
main()
{
char op;
graficas();
//textmode(C80);
//loading();
do{
clrscr();
//cuadro();
gotoxy(30,10);textcolor(YELLOW);cprintf("[E] -Estudiantes");
gotoxy(30,12);textcolor(YELLOW);cprintf("[A] -Asignatura");
gotoxy(30,14);textcolor(YELLOW);cprintf("[I] -Iscripcion");
gotoxy(30,16);textcolor(YELLOW);cprintf("[S] -Salir");
op=getch();
switch(op)
{
case 'e':registro();break;
}
}while(op!='s');
return 0;
}
void registro()
{
int x,i=0,n,p,h=0,c;
char op,id[9],d,tcc;
FILE *archivo;
FILE *archas;
do{
clrscr();
gotoxy(27,5);textcolor(YELLOW);cprintf("Digite la Opcion Deseada :\n");
gotoxy(8,10);textcolor(YELLOW);cprintf("[R] -Registrar Datos ");
gotoxy(45,10);textcolor(YELLOW);cprintf("[V] -Visualizar Datos");
gotoxy(8,14);textcolor(YELLOW);cprintf("[C] -Consultar R‚gistro ");
gotoxy(45,14);textcolor(YELLOW);cprintf("[S] -Salir del Menu ");
op=getch();
switch(op)
{
case 'r':{
do{
clrscr();
gotoxy(25,8);textcolor(YELLOW);printf("Matricula : "); scanf("%s",&rec[i].matricula);
gotoxy(25,10);textcolor(YELLOW); printf("Nombre : "); gets(rec[i].nombre);gets(rec[i].nombre);
gotoxy(25,12);textcolor(YELLOW); printf("Apellido : "); gets(rec[i].apellido);
gotoxy(25,14);textcolor(YELLOW); printf("Direcci¢n : "); gets(rec[i].direccion);
gotoxy(25,16);textcolor(YELLOW); printf("Tel‚fono : "); gets(rec[i].telefono);
gotoxy(25,18);textcolor(YELLOW); printf("Edad : "); scanf("%s",&rec[i].edad);
c=0;
do{
clrscr();
gotoxy(5,5);printf("%s %s",rec[i].nombre,rec[i].apellido);
strcpy(as[c].matricula,rec[i].matricula);
gotoxy(25,8);textcolor(YELLOW); printf("Materias");
gotoxy(25,10);textcolor(YELLOW); printf("Codigo.:");scanf(" %s",&as[c].codigo);
gotoxy(25,12);textcolor(YELLOW); printf("Nombre.:");scanf("%s",&as[c].nombre);
gotoxy(25,14);textcolor(YELLOW); printf("Parcial 1.:");scanf("%d",&as[c].p1);
gotoxy(25,16);textcolor(YELLOW); printf("Parcial 2.:");scanf("%d",&as[c].p2);
gotoxy(25,18);textcolor(YELLOW); printf("Parcial 3.:");scanf("%d",&as[c].p3);
as[c].p10=10;
c++;
gotoxy(25,20);textcolor(YELLOW); printf("Agregar Otra Materia [S/N] : ");
tcc=getch();
}while(tcc!='n'||c==5);
i++;
archas=fopen("c:\\regas","at+");
if(archas==NULL)
{
printf("El Archivo no se pudo abrir");
getch();
exit(0);
}
else
{
for(p=0;p<c;p++)
{
fseek(archas,sizeof(as[p])*p,SEEK_SET);
fwrite(&as[p],sizeof(as[p]),1,archas);
}
}
fclose(archas);
gotoxy(25,20);textcolor(YELLOW); printf("Agregar Otro Estudiante [S/N] : ");
d=getch();
}while(d=='s' || d=='S');
archivo=fopen("c:\\registro","at+");
if(archivo==NULL)
{
printf("El Archivo no se pudo abrir");
getch();
exit(0);
}
else
{
for(p=0;p<i;p++)
{
fseek(archivo,sizeof(rec[p])*p,SEEK_SET);
fwrite(&rec[p],sizeof(rec[p]),1,archivo);
}
fclose(archivo);
gotoxy(22,20);textcolor(WHITE);cprintf("!!El R‚gistro fue Creado Exitosamente!!");
gotoxy(26,22);textcolor(190);cprintf("!!Pulse [ENTER] para Continuar !!");
fclose(archivo);
getch();
registro();
}
break;}
case 'v':{
clrscr();
archivo=fopen("c:\\registro","at+");
if(archivo==NULL)
{
printf("El Archivo no se pudo abrir");
getch();
exit(0);
}
else
{
gotoxy(17,2);textcolor(YELLOW);printf(" VISUALIZACION DE LOS REGISTROS DEL ARCHIVO");
gotoxy(2,6);textcolor(YELLOW);printf("ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»");
gotoxy(2,7);textcolor(YELLOW);printf("ºMat. Nombre Apellido Direcci¢n Telefono Edadº");
gotoxy(2,8);textcolor(YELLOW);printf("ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ");
i=0;
while(!feof(archivo))
{
fseek(archivo,sizeof(rec[i])*i,SEEK_SET);
fread(&rec[i],sizeof(rec[i]),1,archivo);
gotoxy(2,11+i);printf("%s",rec[i].matricula);
gotoxy(12,11+i);printf("%s",rec[i].nombre);
gotoxy(28,11+i);printf("%s",rec[i].apellido);
gotoxy(44,11+i);printf("%s",rec[i].direccion);
gotoxy(61,11+i);printf("%s",rec[i].telefono);
gotoxy(75,11+i);printf("%s",rec[i].edad);
i++;
};
gotoxy(26,22);textcolor(190);cprintf("!!Pulse [ENTER] para Continuar !!");
getch();
fclose(archivo);
}
break;}
case 'c':{
clrscr();
archivo=fopen("c:\\registro","at+");
if(archivo==NULL)
{
printf("El Archivo no se pudo abrir");
getch();
exit(0);
}
else
{
gotoxy(24,2);textcolor(YELLOW);printf(" CONSULTA DE LOS REGISTROS A BUSCAR");
gotoxy(22,10);textcolor(YELLOW);printf("Por Favor Matricula a Buscar : ");
gotoxy(60,10);textcolor(YELLOW);scanf("%s",&id);
do
{
fread(&rec[i],sizeof(rec[i]),1,archivo);
x=strcmp(id,rec[i].matricula);
if (x==0)
{
h++;
clrscr();
gotoxy(25,8);printf("Matricula .: %s",rec[i].matricula);
gotoxy(25,10);printf("Nombre .: %s",rec[i].nombre);
gotoxy(25,12);printf("Apellido .: %s",rec[i].apellido);
gotoxy(25,14);printf("Direccion.: %s",rec[i].direccion);
gotoxy(25,16);printf("Telefono .: %s",rec[i].telefono);
gotoxy(25,18);printf("edad .: %s",rec[i].edad);
}
i++;
}while(!feof(archivo));
if(h==0)
{
gotoxy(25,20);
textcolor(BLUE);
printf("!!La Matricula Digitada no Existe!!");
}
fclose(archivo);
gotoxy(20,22);textcolor(210);cprintf("!!Pulse [ENTER] para Continuar !!");
getch();
}
break;}
case 'b':{
clrscr();
archas=fopen("c:\\regas","at+");
if(archas==NULL)
{
printf("El Archivo no se pudo abrir");
getch();
exit(0);
}
else
{
gotoxy(24,2);textcolor(YELLOW);printf(" CONSULTA DE LOS REGISTROS A BUSCAR");
gotoxy(22,10);textcolor(YELLOW);printf("Por Favor Matricula a Buscar : ");
gotoxy(60,10);textcolor(YELLOW);scanf("%s",&id);
h=12;
clrscr();
while(!feof(archas))
{
fseek(archas,sizeof(as[i])*i,SEEK_SET);
fread(&as[i],sizeof(as[i]),1,archas);
x=strcmp(id,as[i].matricula);
if (x==0)
{
h++;
gotoxy(15,8);printf("Matricula .: %s",as[i].matricula);
gotoxy(15,h);printf("materia .: %s",as[i].nombre);
gotoxy(45,h);printf("nota .: %d %d %d",as[i].p1,as[i].p2,as[i].p3);
}
i++;
};
if(h==0)
{
gotoxy(25,20);
textcolor(BLUE);
printf("!!La Matricula Digitada no Existe!!");
}
fclose(archas);
gotoxy(20,22);textcolor(210);cprintf("!!Pulse [ENTER] para Continuar !!");
getch();
}
}
break;}
}while(op!='s');
}
//6686357
void graficas()
{
int x,y=20;
clrscr();
for(y=10;y<31;y++)
{
gotoxy(20,y);printf("¶");
}
for(x=20;x<70;x++)
{
gotoxy(x,30);printf("Ü");
}
x=-10;
for(y=30;y>8;y-=2)
{
gotoxy(17,y);
textcolor(GREEN);cprintf("%d",x+=10);
}
getch();
}