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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Реализовать функцию распознающею первое целое число в строке http://www.cyberforum.ru/cpp-beginners/thread899345.html
Дан заголовок функции и описание входных выходных параметров. Их изменять нельзя. Необходимо реализовать эту функцию. Собственно сама функция. Реализовать и использовать функцию, которая распознает первое целое число в строке: int findInteger( const char str, char **end); Входные данные: str - исходная строка Выходные данные:
C++ Совмещаем два байта Привет всем. У меня вопрос. Пишу CRC16(Modbus) для МК AVR, у которых однобайтовые регистры приема информации(т.е. передать я не могу 2 байта сразу). В Code::Blocks решил просимулировать ситуацию, вроде всё верно, а результат не тот получаю... У меня имеет 2х байтовая переменная int16_t d и две однобайтовые переменные b и с, должен получить результат 1500, а получаю -36, когда меняю... 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 Использовал пример // Create the ToolTip and associate with the Form container. ToolTip^ toolTip1 = gcnew ToolTip; // Set up the delays for the ToolTip. toolTip1->AutoPopDelay = 5000; ...
C++ Вызов перегруженной функции не могу понять в чем дело?
#include <iostream> #include <time.h> #include <stdio.h> using namespace std; //Прототипы функций bool LeapYear(int Year); //Определения высокосного года int restart(char answer); //Перезапуск программы bool check(int Year,int Month, int Day); // Проверка на правильность и коректность вводимых данных int find(int Year,int Month, int Day); //Поиск дня недели
C++ рекурсия http://www.cyberforum.ru/cpp-beginners/thread899320.html
здравствуйте! я начал изучать с++... дошел до функций (а именно рекурсии)... я понял, что рекурсия-это функция, которая сама себя вызывает.. так вот.. я решил написать примитивную программу для вычисления факториала... #include <iostream> using namespace std; int fac(int a) { if (a==0){return 1;}else{return a*fac(a-1);} } int main() {
C++ Составить программу вычисления корней по итерационной формуле подробнее

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

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

12.06.2013, 11:21. Просмотров 820. Ответов 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;
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru