Структуры В C - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Не могу понять, что правильно. При ввода оценок по математике я ввожу 5 элементов вместо 4. И Средний балл у всех считается некорректно. Помогите разобраться. Заранее спасибо
#define _CRT_SECURE_NO_WARNINGS 
#include
#include
#include
#include
#include

void main()
{
    setlocale(LC_ALL, "RUS");
    int n = 1;
    struct ZACHETKA
    {
        char FIO[100];
        int oz1[4]; 
        int oz2[4]; 
        int oz3[4]; 
        int sredBall;
    };
    int sum = 0, sum1 = 0, sum2 = 0;
    int  i;
    struct ZACHETKA* a = (struct ZACHETKA*)malloc(sizeof(struct ZACHETKA) * n);
 
    for (int i = 0; i < n; i++)
    {
        puts("Введите FIO:");
        scanf("%s", a[i].FIO);
        printf("Введите отметки по математике (4) :\n ");
        for (int z = 0; z < 4; z++)
        {
            scanf("%d\n",&a[i].oz1[z]);
            sum = sum + a[i].oz1[z];
        }
        printf("Введите отметки по физике (4) :\n ");
        for (int z = 0; z < 4; z++)
        {
            scanf("%d \n", &a[i].oz2[z]);
            sum1 = sum1 + a[i].oz2[z];
        }
        printf("Введите отметки по химии (4)  :\n ");
        for (int z = 0; z < 4; z++)
        {
            scanf("%d \n", &a[i].oz3[z]);
            sum2 = sum2 + a[i].oz2[z];
        }
    }
    float sredBal = 0 ; 
    sredBal = (sum + sum1 + sum2) / 9; //Средний балл у всех 
    printf("%d \n", sredBal);//Вывод не правильный 
    printf("Средний бал is %d", sum);
    system("pause");
}

Решение задачи: «Структуры В C»

textual
Листинг программы
       scanf("%d",&a[i].oz1[z]);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5