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

Написать программу, которая обрабатывает результаты экзамена - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 5.00
okman
 Аватар для okman
15 / 21 / 1
Регистрация: 05.04.2013
Сообщений: 203
07.04.2013, 21:19     Написать программу, которая обрабатывает результаты экзамена #1
Написать программу, которая обрабатывает результаты экзамена. Для каждой оценки программа должны вычислитель процент от общего количества оценок, так же вывести количество оценок( то есть сколько двоек, пятерок, троек, четверок, единиц). Система пятибалльная.

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
#include <iostream>
#include <math.h>
#include <conio.h> 
using namespace std;
int main()
{
int *darr,i,m, sum=0;
int a=0,b=0,c=0,d=0,e=0;
cout << "Vvedite kolichestvo uchinikov: ";
cin >> m;
darr=new int[m];
cout << "Vvedite ocenki klassa(kol-vo uchinikov=kol-vo ocenok): ";
for (i=0; i<m; i++) {
    cin >> darr[i];
 
};
 
for (i=0; i<m; i++) {
    sum+=darr[i]; 
 
 
 
if (darr[i]==1)
    { a+=darr[i]; 
     
    
 
 
 
 
 
     _getch();    
        return 0;
}
Начал делать но дальше не получается, программа начинает бред выбивать Спасибо за помощь, ребята.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2013, 21:19     Написать программу, которая обрабатывает результаты экзамена
Посмотрите здесь:

система счисления. Написать программу которая проверяет перевод чисел введёных в программу C++
C++ Помогите пожалуйста!Написать программу, используя только побитовые операции. Представить исходные данные и/или результаты в двоичном виде
C++ Помогите пожалуйста!Написать программу, используя только побитовые операции. Представить исходные данные и/или результаты в двоичном виде
Написать программу, которая выводит значения факториалов чисел от 0 до N. Для вычисления факториала числа написать функцию пользователя C++
C++ Для экзамена нужно написать программу
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
RussDragon
 Аватар для RussDragon
12 / 12 / 1
Регистрация: 08.04.2012
Сообщений: 81
07.04.2013, 21:22     Написать программу, которая обрабатывает результаты экзамена #2
Можешь это взять в тег С++? Будет легче прочитать код
okman
 Аватар для okman
15 / 21 / 1
Регистрация: 05.04.2013
Сообщений: 203
07.04.2013, 21:28  [ТС]     Написать программу, которая обрабатывает результаты экзамена #3
Цитата Сообщение от RussDragon Посмотреть сообщение
Можешь это взять в тег С++? Будет легче прочитать код
Извиняюсь, уже сделал, я попробовал вывести если оценка ровняется единицы но начало выбивать какой-то бред, ну то есть я делаю что-то не правильно.

Добавлено через 2 минуты
Цитата Сообщение от RussDragon Посмотреть сообщение
Можешь это взять в тег С++? Будет легче прочитать код
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
#include <iostream>
#include <math.h>
#include <conio.h> 
using namespace std;
int main()
{
int *darr,i,m, sum=0;
int a=0,b=0,c=0,d=0,e=0;
cout << "Vvedite kolichestvo uchinikov: ";
cin >> m;
darr=new int[m];
cout << "Vvedite ocenki klassa(kol-vo uchinikov=kol-vo ocenok): ";
for (i=0; i<m; i++) {
    cin >> darr[i];
 
};
 
for (i=0; i<m; i++) {
    sum+=darr[i]; 
 
 
 
if (darr[i]==1)
    { a+=darr[i]; 
     
    
cout << a;  
};
 
 
 
 
 
     _getch();    
        return 0;
}
RussDragon
 Аватар для RussDragon
12 / 12 / 1
Регистрация: 08.04.2012
Сообщений: 81
08.04.2013, 15:14     Написать программу, которая обрабатывает результаты экзамена #4
А что выбивает то?
okman
 Аватар для okman
15 / 21 / 1
Регистрация: 05.04.2013
Сообщений: 203
08.04.2013, 16:52  [ТС]     Написать программу, которая обрабатывает результаты экзамена #5
Цитата Сообщение от RussDragon Посмотреть сообщение
А что выбивает то?
Написать программу, которая обрабатывает результаты экзамена. Для каждой оценки программа должны вычислитель процент от общего количества оценок, так же вывести количество оценок( то есть сколько двоек, пятерок, троек, четверок, единиц). Система пятибалльная.
Что не понятного то? Нужно вывести процентное соотношение оценок от общего количества.

Добавлено через 18 минут
Цитата Сообщение от RussDragon Посмотреть сообщение
А что выбивает то?
А выбивает она просто набор цифр никак не связанных друг с другом. В общем как я понял ты и сам не понимаешь до конца эту тему, так что лучше не тереби ленту
GetVariable
 Аватар для GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
08.04.2013, 17:09     Написать программу, которая обрабатывает результаты экзамена #6
уточните

Для каждой оценки программа должны вычислитель процент от общего количества оценок
okman
 Аватар для okman
15 / 21 / 1
Регистрация: 05.04.2013
Сообщений: 203
08.04.2013, 17:17  [ТС]     Написать программу, которая обрабатывает результаты экзамена #7
Цитата Сообщение от GetVariable Посмотреть сообщение
уточните
Например, всего оценок 20 из них пять пятерок, то есть 25%(если память не подводит). И там так же. А если можно, ребята, пожалуйста, напишите функцию в с++ которая считает количество тех или иных элементов в массиве. Аналог в паскале inc();
GetVariable
 Аватар для GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
08.04.2013, 17:45     Написать программу, которая обрабатывает результаты экзамена #8
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
#include <iostream>
#include <vector>
 
double get_precent_last_element(const std::vector<unsigned int>& array);
unsigned int get_count_rating(const std::vector<unsigned int>& array, const unsigned int rating);
 
int main()
{
 
    std::vector<unsigned int> rating_leaners;
    unsigned int max_rating = 5, rating = 0;
 
 
    while(true)
    {
        std::cout << "Enter rating [0 - break]: ";
        
        std::cin >> rating;
        
        if(rating != 0)
        {
            rating_leaners.push_back(rating);
            std::cout << "Precent rating: " << get_precent_last_element(rating_leaners) << "%" << std::endl;
        }
        else
            break;                                  //exit while
    }
 
    for(unsigned int i = max_rating; i != 0; --i)
        std::cout << i << " rating: " << get_count_rating(rating_leaners, i) << std::endl;
 
 
    return 0;
}
 
double get_precent_last_element(const std::vector<unsigned int>& array)
{
    if(array.size() == 1)
        return 100;
 
    unsigned int all_rating = 0; // sum all ratings
 
    for(size_t i = 0; i < array.size(); ++i)
        all_rating += array.at(i);
    
    double last_element = array.at(array.size()-1);
 
    return (last_element/(double)all_rating)*(double)100;
 
}
 
unsigned int get_count_rating(const std::vector<unsigned int>& array, const unsigned int rating)
{
    unsigned int count = 0;
 
    for(size_t i = 0; i < array.size(); ++i)
        if(array.at(i) == rating)
            ++count;
 
    return count;
}
Добавлено через 5 минут
даже вот так.

я тут реализовал, вывод для каждой оценки процент

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
65
66
67
68
69
70
#include <iostream>
#include <vector>
 
double get_precent_last_element(const std::vector<unsigned int>& array);
unsigned int get_count_rating(const std::vector<unsigned int>& array, const unsigned int rating);
double get_precent_rating(const std::vector<unsigned int>& array, const unsigned int rating);
 
int main()
{
 
    std::vector<unsigned int> rating_leaners;
    unsigned int max_rating = 5, rating = 0;
 
 
    while(true)
    {
        std::cout << "Enter rating [0 - break]: ";
        
        std::cin >> rating;
        
        if(rating != 0)
        {
            rating_leaners.push_back(rating);
            std::cout << "Precent rating: " << get_precent_last_element(rating_leaners) << "%" << std::endl;
        }
        else
            break;                                  //exit while
    }
 
    for(unsigned int i = max_rating; i != 0; --i)
        std::cout << i << " rating: " << get_count_rating(rating_leaners, i) << " Precent: " << get_precent_rating(rating_leaners, i) << "%" << std::endl;
 
 
    return 0;
}
 
double get_precent_rating(const std::vector<unsigned int>& array, const unsigned int rating)
{
    unsigned int count = get_count_rating(array, rating);
 
    return ((double)count / array.size())*(double)100;
}
 
double get_precent_last_element(const std::vector<unsigned int>& array)
{
    if(array.size() == 1)
        return 100;
 
    unsigned int all_rating = 0; // sum all ratings
 
    for(size_t i = 0; i < array.size(); ++i)
        all_rating += array.at(i);
    
    double last_element = array.at(array.size()-1);
 
    return (last_element/(double)all_rating)*(double)100;
 
}
 
 
unsigned int get_count_rating(const std::vector<unsigned int>& array, const unsigned int rating)
{
    unsigned int count = 0;
 
    for(size_t i = 0; i < array.size(); ++i)
        if(array.at(i) == rating)
            ++count;
 
    return count;
}
okman
 Аватар для okman
15 / 21 / 1
Регистрация: 05.04.2013
Сообщений: 203
08.04.2013, 17:48  [ТС]     Написать программу, которая обрабатывает результаты экзамена #9
Цитата Сообщение от GetVariable Посмотреть сообщение
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
#include <iostream>
#include <vector>
 
double get_precent_last_element(const std::vector<unsigned int>& array);
unsigned int get_count_rating(const std::vector<unsigned int>& array, const unsigned int rating);
 
int main()
{
 
    std::vector<unsigned int> rating_leaners;
    unsigned int max_rating = 5, rating = 0;
 
 
    while(true)
    {
        std::cout << "Enter rating [0 - break]: ";
        
        std::cin >> rating;
        
        if(rating != 0)
        {
            rating_leaners.push_back(rating);
            std::cout << "Precent rating: " << get_precent_last_element(rating_leaners) << "%" << std::endl;
        }
        else
            break;                                  //exit while
    }
 
    for(unsigned int i = max_rating; i != 0; --i)
        std::cout << i << " rating: " << get_count_rating(rating_leaners, i) << std::endl;
 
 
    return 0;
}
 
double get_precent_last_element(const std::vector<unsigned int>& array)
{
    if(array.size() == 1)
        return 100;
 
    unsigned int all_rating = 0; // sum all ratings
 
    for(size_t i = 0; i < array.size(); ++i)
        all_rating += array.at(i);
    
    double last_element = array.at(array.size()-1);
 
    return (last_element/(double)all_rating)*(double)100;
 
}
 
unsigned int get_count_rating(const std::vector<unsigned int>& array, const unsigned int rating)
{
    unsigned int count = 0;
 
    for(size_t i = 0; i < array.size(); ++i)
        if(array.at(i) == rating)
            ++count;
 
    return count;
}
Добавлено через 5 минут
даже вот так.

я тут реализовал, вывод для каждой оценки процент

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
65
66
67
68
69
70
#include <iostream>
#include <vector>
 
double get_precent_last_element(const std::vector<unsigned int>& array);
unsigned int get_count_rating(const std::vector<unsigned int>& array, const unsigned int rating);
double get_precent_rating(const std::vector<unsigned int>& array, const unsigned int rating);
 
int main()
{
 
    std::vector<unsigned int> rating_leaners;
    unsigned int max_rating = 5, rating = 0;
 
 
    while(true)
    {
        std::cout << "Enter rating [0 - break]: ";
        
        std::cin >> rating;
        
        if(rating != 0)
        {
            rating_leaners.push_back(rating);
            std::cout << "Precent rating: " << get_precent_last_element(rating_leaners) << "%" << std::endl;
        }
        else
            break;                                  //exit while
    }
 
    for(unsigned int i = max_rating; i != 0; --i)
        std::cout << i << " rating: " << get_count_rating(rating_leaners, i) << " Precent: " << get_precent_rating(rating_leaners, i) << "%" << std::endl;
 
 
    return 0;
}
 
double get_precent_rating(const std::vector<unsigned int>& array, const unsigned int rating)
{
    unsigned int count = get_count_rating(array, rating);
 
    return ((double)count / array.size())*(double)100;
}
 
double get_precent_last_element(const std::vector<unsigned int>& array)
{
    if(array.size() == 1)
        return 100;
 
    unsigned int all_rating = 0; // sum all ratings
 
    for(size_t i = 0; i < array.size(); ++i)
        all_rating += array.at(i);
    
    double last_element = array.at(array.size()-1);
 
    return (last_element/(double)all_rating)*(double)100;
 
}
 
 
unsigned int get_count_rating(const std::vector<unsigned int>& array, const unsigned int rating)
{
    unsigned int count = 0;
 
    for(size_t i = 0; i < array.size(); ++i)
        if(array.at(i) == rating)
            ++count;
 
    return count;
}
Спасибо тебе большое, что решил. Но понимаешь мы в технаре только не так давно динамические массивы прошли, и половину из того что написано мне не понятно А это только таким способом решается?
GetVariable
 Аватар для GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
08.04.2013, 18:03     Написать программу, которая обрабатывает результаты экзамена #10
Цитата Сообщение от okman Посмотреть сообщение
Спасибо тебе большое, что решил. Но понимаешь мы в технаре только не так давно динамические массивы прошли, и половину из того что написано мне не понятно А это только таким способом решается?
это самый простой способ.

с динамическими массивами, придётся ещё запрашивать размер и в ф-их передавать его.

P.s в 8 классе я)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2013, 21:13     Написать программу, которая обрабатывает результаты экзамена
Еще ссылки по теме:

C++ Написать программу, которая предлагает пользователю ввести число, вычисляет его разрядность и сумму всех цифр и выводить результаты в консоль
Создание динамического массива, передача аргументов функции по ссылке. Программа обрабатывает результаты матча C++
Написать программу, которая обрабатывает результаты экзамена. Код C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
okman
 Аватар для okman
15 / 21 / 1
Регистрация: 05.04.2013
Сообщений: 203
08.04.2013, 21:13  [ТС]     Написать программу, которая обрабатывает результаты экзамена #11
Цитата Сообщение от GetVariable Посмотреть сообщение
это самый простой способ.

с динамическими массивами, придётся ещё запрашивать размер и в ф-их передавать его.

P.s в 8 классе я)
Как с динамическими массивами работать я знаю, просто препад не поверит что это я очиcил (даже если я в коде разберусь) В коде то раpобраться можно, но как препаду объяснить

Добавлено через 8 минут
Цитата Сообщение от GetVariable Посмотреть сообщение
это самый простой способ.

с динамическими массивами, придётся ещё запрашивать размер и в ф-их передавать его.

P.s в 8 классе я)
О Боже, что я написал.
В общем так:
Как с динамическими массивами работать я знаю, просто препод не поверит что это я осиcил (даже если я в коде разберусь) В коде то разобраться можно, но как преподу объяснить

Добавлено через 2 часа 16 минут
Всем спасибо, но уже сам решил.
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
#include <iostream>
#include <math.h>
#include <conio.h> 
using namespace std;
int main()
{
int *darr,i,m,j;
int arr[5];
float a,b,c,d,e;
cout << "Vvedite kolichestvo uchenikov: ";
cin >> m;
darr=new int[m];
cout << "Vvedite ocenki klassa(kol-vo uchinikov=kol-vo ucenok): ";
for (i=0; i<m; i++) {
    cin >> darr[i];
 
};
for (j=1; j<=5; j++){arr[j]=0;};
 
for (i=0; i<m; i++) {arr[darr[i]]+=1;};
     
cout << "Kolichestvo ocenok:" << endl
     << "Kolichestvo '1' " << arr[1] << endl
     << "Kolichestvo '2' " << arr[2] << endl
     << "Kolichestvo '3' " << arr[3] << endl
     << "Kolichestvo '4' " << arr[4] << endl
     << "Kolichestvo '5' " << arr[5] << endl;
 
a=(arr[1]*100)/m;
b=(arr[2]*100)/m;
c=(arr[3]*100)/m;
d=(arr[4]*100)/m;
e=(arr[5]*100)/m;
 
cout << "Procent ocenok:" << endl
     << "Procent '1' " << a << " %" << endl
     << "Procent '2' " << b << " %" << endl
     << "Procent '3' " << c << " %" << endl
     << "Procent '4' " << d << " %" << endl
     << "Procent '5' " << e << " %" << endl;
 
 
 
     _getch();    
        return 0;
}
Yandex
Объявления
08.04.2013, 21:13     Написать программу, которая обрабатывает результаты экзамена
Ответ Создать тему
Опции темы

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