// Standard libraries
#include <stdio.h>
#include <string.h>

// Custom headers
#include "structs.h"

// Function to store data in array
void GetData(StudentInfo student[], int numStudents) {

    for (int i = 0; i < numStudents; ++i) {
        printf("Enter data for student %d: \n", i + 1);
        
        printf("Enter first name: \n");
        scanf("%s", student[i].firstName);

        printf("Enter last name: \n");
        scanf("%s", student[i].lastName);

        printf("Enter midterm 1: \n");
        scanf("%d", &student[i].grades.midterm1);
        
        printf("Enter midterm 2: \n");
        scanf("%d", &student[i].grades.midterm2);

        printf("Enter midterm 3: \n");
        scanf("%d", &student[i].grades.midterm3);

        printf("\n");
    }

    printf("\n");

}

// Function to compute midterm averages for each student and store them in array
void ComputeMidtermAverage(StudentInfo student[], int numStudents) {

    for (int i = 0; i < numStudents; ++i) {
        student[i].grades.average = ((student[i].grades.midterm1 + student[i].grades.midterm2 + student[i].grades.midterm3) / 3.0);
    }

}

// Function to print each student's data
void PrintData(StudentInfo student[], int numStudents) {

    for (int i = 0; i < numStudents; ++i) {
        printf("Printing data for student %d: \n", i + 1);
        
        printf("First name: %s\n", student[i].firstName);

        printf("Last name: %s\n", student[i].lastName);

        printf("Midterm 1: %d\n", student[i].grades.midterm1);
        
        printf("Midterm 2: %d\n", student[i].grades.midterm2);

        printf("Midterm 3: %d\n", student[i].grades.midterm3);

        printf("Average: %.2lf\n", student[i].grades.average);

        printf("\n");
    }

    printf("\n");

}