Advertisement
Guest User

Untitled

a guest
Aug 18th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.01 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <iostream>
  3. #include <string.h>
  4. #include <iostream>
  5.  
  6. struct student
  7. {
  8. char F[15],I[15],O[15],
  9. nomer[10];
  10. int ocenka[3];
  11. };
  12.  
  13. int main()
  14. {
  15. setlocale(LC_ALL,"Russian");
  16. int n=0,i,j,k,t;
  17. student *mas , y;
  18. FILE *a=fopen("Света.txt","r");
  19. if(a==NULL)
  20. {
  21. printf("Такого файла нет!!!\n");
  22. return 0;
  23. }
  24. fscanf(a,"%d",&t);
  25. mas=new student[t];
  26. FILE *N=fopen("Новый.dat","wb");
  27. while(!feof(a))
  28. {
  29. fscanf(a,"%s",&mas[n].F);
  30. fscanf(a,"%s",&mas[n].I);
  31. fscanf(a,"%s",&mas[n].O);
  32. fscanf(a,"%s",&mas[n].nomer);
  33. fscanf(a,"%d",&mas[n].ocenka[0]);
  34. fscanf(a,"%d",&mas[n].ocenka[1]);
  35. fscanf(a,"%d",&mas[n].ocenka[2]);
  36. n++;
  37. }
  38. fwrite(&mas[0],sizeof(student),n,N);
  39. delete[]mas;
  40. fclose(N);
  41. N=fopen("Новый.dat","rb");
  42. mas=new student[t];
  43. fread (&mas[0],sizeof(student),t,N);
  44. fclose(N);
  45. for(i=0;i<t;i++)
  46. {
  47. k=i;
  48. for(j=i+1;j<t;j++)
  49. if(strcmp(mas[k].F, mas[j].F)>0)
  50. k = j;
  51. y = mas[k];
  52. mas[k] = mas[i];
  53. mas[i] = y;
  54. }
  55. printf("\n\n\t\t\t отсортированный список\n");
  56. for(i=0;i<t;i++)
  57. {
  58. printf("фамилия: %s\n", mas[i].F);
  59. printf("имя: %s\n", mas[i].I);
  60. printf("отчевство: %s\n", mas[i].O);
  61. printf("номер группы: %s\n", mas[i].nomer);
  62. printf("оценки: %d\n", mas[i].ocenka[0]);
  63. printf(" %d\n", mas[i].ocenka[1]);
  64. printf("%d\n", mas[i].ocenka[2]);}
  65. N=fopen("Новый.dat","wb");
  66. fwrite(&mas[0],sizeof(student),t,N);
  67. bool f=false;
  68. printf("\n\t\tотличники :)\n");;
  69. for(i=0;i<t;i++)
  70. if(mas[i].ocenka[0]==5 && mas[i].ocenka[1]==5 && mas[i].ocenka[2]==5)
  71. {f=true;
  72. printf("фамилия: %s\n", mas[i].F);
  73. printf("имя: %s\n", mas[i].I);
  74. printf("отчевство: %s\n", mas[i].O);
  75. printf("номер группы: %s\n", mas[i].nomer);
  76. printf("оценки: %d\n", mas[i].ocenka[0]);
  77. printf(" %d\n", mas[i].ocenka[1]);
  78. printf("%d\n", mas[i].ocenka[2]);
  79. }
  80. if (!f) printf("таких нет!");
  81. fclose(a);
  82. delete[]mas;
  83. fclose(N);
  84. return 0;
  85.  
  86.  
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement