//Дан текстовый файл f, состоящий из нескольких строк. 
//Пользователь вводит символ, начиная с которого в каждой строке исходного файла строчные латинские буквы преобразуются в прописные. 
//Строки, в которых проведены такие преобразования, записываются в новый файл g. В конце строки через пробел проставляется количество преобразований.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char to_upper(char c){
        int dif = 'A' - 'a';
       char sym = c + dif;
        return sym;
}
char* process_string(char* s, char user_char, int* count){
        int n = strlen(s);
        int i = 0;
    char *a;
    a = (char*)malloc(1000*sizeof(char));
    strcpy(a, s);
        int flag = 0;
        for(i = 0; i < n; i++){
                if(flag == 0 && s[i] == user_char){
                    flag = 1;
}
                if('a'<=s[i] && s[i]<='z' && flag == 1)
               {
                   *(count)++;
                   a[i] = to_upper(s[i]);
               }
}
        return a;
}
void file_process(){
        FILE *f;
    FILE *g;
    char *mass;
    mass = (char*)malloc(1000*sizeof(char));
    char user_sym;
    int count=0;
    f=fopen("file_b","r");
    g=fopen("file_b_new", "w");
    printf("Введите символ:\n");
    scanf("%c", &user_sym);
    while(fscanf(f, "%s", mass)==1)
    {
                mass = process_string(mass, user_sym, &count);
        fprintf(g, "%s", mass);
        fprintf(g, "%d", count);
     }
     fclose(g);
     fclose(f);
}
int main(){
        file_process();
        //free(a);
        return 0;
}