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

Для данной журнальной ведомости определить процент успеваемости - C++

Восстановить пароль Регистрация
 
koyt
0 / 0 / 0
Регистрация: 19.09.2012
Сообщений: 14
06.11.2012, 03:33     Для данной журнальной ведомости определить процент успеваемости #1
Здравствуйте, помогите пожалуйста решить задачу:
В журнале группы ежедневно на каждом занятии против фамилии делаются следующие пометки:
0 - отсутствие без уважительной причины,
1 - отсутствие по уважительной причине,
2, 3, 4, 5 - одна из оценок,
9 - присутствие на занятиях.

Для этой журнальной ведомости составить программу вывода определения процента успеваемости из опрошенных.
Считать что в группе из 5 человек ежедневно проводится по 3 занятия.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2012, 03:33     Для данной журнальной ведомости определить процент успеваемости
Посмотрите здесь:

C++ Определить процент элементов с неотрицательными значениями в одномерном массиве
C++ Определить процент слов в тексте, которые имеют удвоенную согласную
Вычислить процент положительных чисел, процент отрицательных чисел и процент нулей C++
C++ определить процент
C++ Написать программу, которая предлагает пользователю ввести 10 чисел, вычисляет процент положительных и отрицательных чисел и процент нулей и выводи
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
06.11.2012, 10:51     Для данной журнальной ведомости определить процент успеваемости #2
допустим что наш журнал успеваемости это массив 5х3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int jornal[5][3],usp[5];
for(int i=0;i<5;i++){
    cout<<"\nВведите успеваемость по паре №"<<i+1;
    for(int j=0;j<3;j++){
        cout<<"\nСтудент №"<<j+1;<<" ";
        cin>>jornal[i][j];
    }
}
double sped=0;
for(int i=0;i<5;i++){
    usp[i]=0;
    for(int j=0;j<3;j++)
        usp[i]+=jornal[i][j];
    sred+=(double)usp[i];
}
sred/=5.0;
for(int i=0;i<5;i++){
    double buf=(usp[i]*100/sred)%100;
    cout<<"Успеваемость студента №"<<i+1<<" равна: "<<(int)(usp[i]*100/sred)+buf<<"%\n"
}
Правда довольно сомнительная успеваемость получается, выходит что просто приходить на занятие выгоднее чем отвечать на нем... По самому алгоритму я не уверен что правильно, возможно суть задания не понял
Грешник
0 / 0 / 0
Регистрация: 28.09.2012
Сообщений: 15
06.11.2012, 14:49     Для данной журнальной ведомости определить процент успеваемости #3
MrGrig, error C2296: %: недопустимо, левый операнд имеет тип "double" \lab_5.cpp 30
то есть что то в этой строке не так:
C++
1
double buf=(usp[i]*100/sred)%100;
Добавлено через 22 минуты
исправил, только процент успеваемости > 100
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
06.11.2012, 21:50     Для данной журнальной ведомости определить процент успеваемости #4
да фигню просто попытался сделать % только к целым подходит, вот подправил немного

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int jornal[3][5],usp[5];
for(int i=0;i<3;i++){
    cout<<"\nВведите успеваемость по паре №"<<i+1;
    for(int j=0;j<5;j++){
        cout<<"\nСтудент №"<<j+1<<" ";
        cin>>jornal[i][j];
    }
}
double sred=0;
for(int i=0;i<5;i++){
    usp[i]=0;
    for(int j=0;j<3;j++)
        usp[i]+=jornal[j][i];
    sred+=(double)usp[i];
}
sred/=5.0;
cout.precision(4);
for(int i=0;i<5;i++)
    cout<<"Успеваемость студента №"<<i+1<<" равна: "<<(usp[i]*100/sred)<<"%\n";
}
Грешник
0 / 0 / 0
Регистрация: 28.09.2012
Сообщений: 15
06.11.2012, 23:46     Для данной журнальной ведомости определить процент успеваемости #5
MrGrig, Спасибо!!! теперь все работает как надо.
Yandex
Объявления
06.11.2012, 23:46     Для данной журнальной ведомости определить процент успеваемости
Ответ Создать тему
Опции темы

Текущее время: 06:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru