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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 5.00
okman
15 / 21 / 1
Регистрация: 05.04.2013
Сообщений: 204
#1

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

07.04.2013, 21:19. Просмотров 2163. Ответов 10
Метки нет (Все метки)

Написать программу, которая обрабатывает результаты экзамена. Для каждой оценки программа должны вычислитель процент от общего количества оценок, так же вывести количество оценок( то есть сколько двоек, пятерок, троек, четверок, единиц). Система пятибалльная.

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;
}
Начал делать но дальше не получается, программа начинает бред выбивать Спасибо за помощь, ребята.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2013, 21:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать программу, которая обрабатывает результаты экзамена (C++):

Написать программу, которая обрабатывает результаты экзамена - C++
Написать программу, которая обрабатывает результаты экзамена. Для каждой оценки программа должна вычислить процент от общего количества...

Написать программу, которая обрабатывает результаты экзамена. Код - C++
Написать программу, которая обрабатывает результаты экзамена. Для каждой оценки программа должна вычислить процент от общего количества...

Написать программу, которая создает и обрабатывает массив структур согласно индивидуальному заданию - C++
Написать программу на языке С ++, которая создает и обрабатывает массив структур согласно индивидуального задания. Программа должна...

Написать программу, которая предлагает пользователю ввести число, вычисляет его разрядность и сумму всех цифр и выводить результаты в консоль - C++
Help! Написать программу, которая предлагает пользователю ввести число, вычисляет его разрядность и сумму всех цифр и выводить...

Для экзамена нужно написать программу - C++
Описать структуру с именем ZNAK, содержащую следующие поля: • фамилия, имя; • знак Зодиака; • дата рождения (массив из трех чисел). ...

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

10
RussDragon
12 / 12 / 1
Регистрация: 08.04.2012
Сообщений: 81
07.04.2013, 21:22 #2
Можешь это взять в тег С++? Будет легче прочитать код
0
okman
15 / 21 / 1
Регистрация: 05.04.2013
Сообщений: 204
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;
}
0
RussDragon
12 / 12 / 1
Регистрация: 08.04.2012
Сообщений: 81
08.04.2013, 15:14 #4
А что выбивает то?
0
okman
15 / 21 / 1
Регистрация: 05.04.2013
Сообщений: 204
08.04.2013, 16:52  [ТС] #5
Цитата Сообщение от RussDragon Посмотреть сообщение
А что выбивает то?
Написать программу, которая обрабатывает результаты экзамена. Для каждой оценки программа должны вычислитель процент от общего количества оценок, так же вывести количество оценок( то есть сколько двоек, пятерок, троек, четверок, единиц). Система пятибалльная.
Что не понятного то? Нужно вывести процентное соотношение оценок от общего количества.

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

Для каждой оценки программа должны вычислитель процент от общего количества оценок
0
okman
15 / 21 / 1
Регистрация: 05.04.2013
Сообщений: 204
08.04.2013, 17:17  [ТС] #7
Цитата Сообщение от GetVariable Посмотреть сообщение
уточните
Например, всего оценок 20 из них пять пятерок, то есть 25%(если память не подводит). И там так же. А если можно, ребята, пожалуйста, напишите функцию в с++ которая считает количество тех или иных элементов в массиве. Аналог в паскале inc();
0
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;
}
1
okman
15 / 21 / 1
Регистрация: 05.04.2013
Сообщений: 204
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;
}
Спасибо тебе большое, что решил. Но понимаешь мы в технаре только не так давно динамические массивы прошли, и половину из того что написано мне не понятно А это только таким способом решается?
0
GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
08.04.2013, 18:03 #10
Цитата Сообщение от okman Посмотреть сообщение
Спасибо тебе большое, что решил. Но понимаешь мы в технаре только не так давно динамические массивы прошли, и половину из того что написано мне не понятно А это только таким способом решается?
это самый простой способ.

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

P.s в 8 классе я)
0
okman
15 / 21 / 1
Регистрация: 05.04.2013
Сообщений: 204
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;
}
0
08.04.2013, 21:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2013, 21:13
Привет! Вот еще темы с ответами:

Разработайте программу, которая вычисляет заданные выражения. Результаты объясните с комментариями - C++
#include&lt;stdio.h&gt; #include&lt;iostream&gt; #include &lt;stdlib.h&gt; int main() {int a1=3, a2=2, b1, b2, b3; a2+=a1; // a2=3+2=5 a2+=a1+5;...

Помогите пожалуйста!Написать программу, используя только побитовые операции. Представить исходные данные и/или результаты в двоичном виде - C++
!И ПОЖАЛУЙСТА с построчными комментариями, чтоб легче потом разобраться было, и меньше вопросов задавала.написать их не сложно, и мне легче...

Написать программу, которая выводит значения факториалов чисел от 0 до N. Для вычисления факториала числа написать функцию пользователя - C++
Написать программу, которая выводит значения факториалов чисел от 0 до N. Для вычисления факториала числа написать функцию пользователя.

Написать программу заполнения двумерного массива A по схеме, результаты заполнения выдать на экран и в файл - C++
помогите, пожалуйста, написать программу заполнения двумерного массива A по схеме. Результаты заполнения выдать на экран и в файл. ...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru