Advertisement
Guest User

Untitled

a guest
Sep 21st, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.43 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <string.h>
  4.  
  5. int main(){
  6.     FILE* f;
  7.     FILE* g = fopen("g.txt", "w");
  8.  
  9.     char letter = 'а';
  10.     bool have9 = true, have10 = true;
  11.     //have9 - остались ли еще в файле ученики 9-х классов, have10 - остались ли ученики 10-х классов
  12.     while(have9){
  13.         have9 = false;
  14.         f = fopen("f.txt", "r");//открываем файл с начала
  15.         char name[30], fname[30], school[4];
  16.         while(!feof(f)){
  17.             fscanf(f, "%s %s %s", name, fname, school);//считываем в буфер
  18.             if(school[0] == '9' && school[1] >= letter){//если девятый класс, и буква больше, чем текущая
  19.                 have9 = true;                           //значит девятки еще остались
  20.                 if(school[1] == letter)                 //если буква == текущей
  21.                     fprintf(g,"%s %s %s\n", name, fname, school);//пишем в файл
  22.             }
  23.         }
  24.         ++letter;   //следующая буква
  25.         fclose(f);  //закрываем файл
  26.     }
  27.  
  28.     letter = 'а';
  29.     while(have10){  //аналогично для десяток
  30.         have10 = false;
  31.         f = fopen("f.txt", "r");
  32.         char name[30], fname[30], school[4];
  33.         while(!feof(f)){
  34.             fscanf(f, "%s %s %s", name, fname, school);
  35.             if(school[0] == '1' && school[1] == '0' && school[2] >= letter){
  36.                 have10 = true;
  37.                 if(school[2] == letter)
  38.                     fprintf(g,"%s %s %s\n", name, fname, school);
  39.             }
  40.         }
  41.         ++letter;
  42.         fclose(f);
  43.     }
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement