Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Вычислить средний балл оценок каждого студента и напечатать их фамилии и средний балл (объединение (union)) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Реализовать функцию распознающею первое целое число в строке http://www.cyberforum.ru/cpp-beginners/thread899345.html
Дан заголовок функции и описание входных выходных параметров. Их изменять нельзя. Необходимо реализовать эту функцию. Собственно сама функция. Реализовать и использовать функцию, которая...
C++ Совмещаем два байта Привет всем. У меня вопрос. Пишу CRC16(Modbus) для МК AVR, у которых однобайтовые регистры приема информации(т.е. передать я не могу 2 байта сразу). В Code::Blocks решил просимулировать... http://www.cyberforum.ru/cpp-beginners/thread899344.html
Ошибка при использовании Tooltip из примера с MSDN C++
Добрый день. Мне нужно сделать всплывающую подсказку для textBox. С++VS2008 WinForms. нашел это http://msdn.microsoft.com/ru-ru/library/system.windows.forms.tooltip.aspx Использовал пример //...
C++ Вызов перегруженной функции не могу понять в чем дело?
#include <iostream> #include <time.h> #include <stdio.h> using namespace std; //Прототипы функций bool LeapYear(int Year); //Определения высокосного года int restart(char answer); ...
C++ рекурсия http://www.cyberforum.ru/cpp-beginners/thread899320.html
здравствуйте! я начал изучать с++... дошел до функций (а именно рекурсии)... я понял, что рекурсия-это функция, которая сама себя вызывает.. так вот.. я решил написать примитивную программу для...
C++ Составить программу вычисления корней по итерационной формуле подробнее

Показать сообщение отдельно
DRUNY195
2 / 2 / 0
Регистрация: 04.04.2013
Сообщений: 247

Вычислить средний балл оценок каждого студента и напечатать их фамилии и средний балл (объединение (union)) - C++

12.06.2013, 11:21. Просмотров 853. Ответов 6
Метки (Все метки)

Дан список студентов. Общие поля: Ф.И.О., дата рождения, группа, средний балл. Вычислить средний балл оценок каждого студента и напечатать их фамилии и средний балл.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <stdio.h>
#include <stdlib.h>
#include <clocale>
 
typedef struct stud 
{
    int *arr;
    int cnt;
    char name[BUFSIZ];
} stud_t;
 
int acc(stud_t st)
{
    int i, sum;
    
    for ( i = 0, sum = 0 ; i < st.cnt ; ++i )
        sum += st.arr[i];
    return sum;
}   
 
void mem_free(stud_t *f, stud_t *l)
{
    for ( ; f != l ; ++f )
        free(f->arr);
}       
 
int main(void)
{
    setlocale(0,"rus");
    stud_t *st;
    int cnt, i, j;
    
    printf ("Введите колличество = ");
    scanf ("%d", &cnt);
    
    if ( !(st = (stud_t *) malloc ( sizeof(stud_t) * cnt )) )
    {
        perror ("Ошибка памяти");
        exit(1);
    }
    
    for ( i = 0 ; i < cnt ; ++i )
    {
        printf ("Введите имя[%d]: ", i + 1 );
        scanf ("%s", st[i].name );
        printf ("Введите колличество[%d] баллов = ", i + 1 );
        scanf ("%d", &(st[i].cnt) );
        
        if ( !(st[i].arr = (int *) malloc (sizeof(int) * st[i].cnt )) )
        {
            perror ("Ошибка памяти");
            mem_free(st, &st[i]);
            exit(1);
        }
        for ( j = 0 ; j < st[i].cnt ; ++j )
            scanf ("%d", &(st[i].arr[j]));
    }   
        for ( i = 0 ; i < cnt ; ++i )
            printf ("Среднее %s \t\t = %.2lf\n", st[i].name, (double) acc(st[i]) / st[i].cnt); 
        mem_free(st, st + cnt);
        free(st);
        
        return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru