este es el codigo por si alguna ayudita ???
Código:
saludos #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(); }
![Adios](http://static.forosdelweb.com/fdwtheme/images/smilies/adios.gif)