Advertisement
Guest User

Untitled

a guest
Jun 14th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <stdlib.h>
  4.  
  5. typedef struct{
  6.  
  7. int dni;
  8. char ayn[21];
  9. int nota1,nota2;
  10.  
  11. }dato;
  12.  
  13. void leerarchivos();
  14.  
  15. int main(){
  16.  
  17. FILE* AA;
  18. FILE* AP;
  19. FILE* AC;
  20. FILE* AR;
  21. dato alumno;
  22. int contAP=0,contAC=0,contAR=0;
  23.  
  24. AA=fopen("ALUMNOS.dat","rb");
  25. AP=fopen("Alumnos_Promocionados.dat","wb");
  26. AC=fopen("Alumnos_Cursado.dat","wb");
  27. AR=fopen("Alumnos_Reprobados.dat","wb");
  28.  
  29. fread(&alumno,sizeof(alumno),1,AA);
  30.  
  31. while(feof(AA)==0){
  32.  
  33. if(alumno.nota1>=7&&alumno.nota2>=7){
  34.  
  35. fwrite(&alumno,sizeof(alumno),1,AP);
  36. contAP++;
  37. }else{
  38. if(alumno.nota1>=4&&alumno.nota2>=4){
  39.  
  40. fwrite(&alumno,sizeof(alumno),1,AC);
  41. contAC++;
  42. }else{
  43. fwrite(&alumno,sizeof(alumno),1,AR);
  44. contAR++;
  45. }
  46. }
  47.  
  48. fread(&alumno,sizeof(alumno),1,AA);
  49.  
  50. }
  51.  
  52. fclose(AA);
  53. fclose(AP);
  54. fclose(AC);
  55. fclose(AR);
  56.  
  57. printf("Alumnos promocionados: %d, Alumnos Cursados: %d, Alumnos Reprobados: %d\n\n",contAP,contAC,contAR);
  58. leerarchivos();
  59.  
  60.  
  61.  
  62.  
  63.  
  64. getch();
  65. return 0;
  66. }
  67.  
  68.  
  69. void leerarchivos(){
  70.  
  71. FILE* AP;
  72. FILE* AC;
  73. FILE* AR;
  74. dato alumno;
  75.  
  76.  
  77. AP=fopen("Alumnos_Promocionados.dat","rb");
  78. AC=fopen("Alumnos_Cursado.dat","rb");
  79. AR=fopen("Alumnos_Reprobados.dat","rb");
  80.  
  81. if(AP==NULL||AC==NULL||AR==NULL){
  82.  
  83. printf("Se ha producido un error al intentar abrir un archivo");
  84. getch();
  85. exit(1);
  86.  
  87. }
  88.  
  89. printf("Alumnos Promocionados:\n\n");
  90.  
  91. fread(&alumno,sizeof(dato),1,AP);
  92.  
  93. while(!feof(AP)){
  94.  
  95.  
  96. printf("DNI:%d\tNOMBRE:%s\tNOTA 1:%d NOTA 2:%d\n",alumno.dni,alumno.ayn,alumno.nota1,alumno.nota2);
  97.  
  98. fread(&alumno,sizeof(dato),1,AP);
  99.  
  100. }
  101.  
  102. getch();
  103.  
  104. printf("Alumnos Cursados:\n\n");
  105.  
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement