I am wondering how to edit my code to swap loading iformation b typing it, to load it from file. I was looking at it for 2 hours but I did not bring up any result so I am trying to find some help here. In file it should look like this for students:
name study_year score
name study_year score
my code:
#include <stdio.h>
#include <string.h>
struct Teacher
{
    char name[50];
    int age;
};
struct Student
{
    char name[50];
    int study_year;
    float score; // 0.0 -- 100.0
};
void getT(struct Teacher *t)
{
    printf("Enter teacher's name: ");
    fgets(t->name, sizeof t->name, stdin);
    size_t len = strlen(t->name);
    if ('\n' == t->name[len - 1]) t->name[len - 1] = '\0';
    printf("Enter techaer's age: ");
    scanf("%d", &t->age);
    getchar();
    putchar('\n');
}
void getS(struct Student *s)
{
    printf("Enter student's name: ");
    fgets(s->name, sizeof s->name, stdin);
    size_t len = strlen(s->name);
    if ('\n' == s->name[len - 1]) s->name[len - 1] = '\0';
    printf("Enter student's study year: ");
    scanf("%d", &s->study_year);
    getchar();
    printf("Enter student's score: ");
    scanf("%f", &s->score); // tu bolo chybne "%d"
    getchar();
    putchar('\n');
}
void printT(struct Teacher t)
{
    printf(
        "Ucitel: %s\n"
        "   Vek: %d\n\n",
        t.name, t.age);
}
void printS(struct Student s)
{
    printf(
        "Student: %s\n"
        "  Rok studia:       %d\n"
        "  Studijny priemer: %.2f\n\n",
        s.name, s.study_year, s.score);
}
void main()
{
    struct Teacher t1;
    int count = 2; //pocet studentov
    struct Student ss[count];
    getT(&t1);
    for (int i = 0; i < count; ++i)
        getS(&ss[i]);
    printT(t1);
    // printS(s1);
    for (int i = 0; i < count; ++i)
        printS(ss[i]);
    printf("Teacher's size: %d\n", sizeof(struct Teacher));
    printf("Student's size: %d\n", sizeof(struct Student));
    return 0;
}
Thank you for all suggestions and answers.
 
     
    