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

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

Войти
Регистрация
Восстановить пароль
 
 
riml9inin
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 45
#1

При написании значения более 10 пишет неверный балл, но все ровно его заносит в массив - C++

19.05.2013, 15:15. Просмотров 380. Ответов 18
Метки нет (Все метки)

Всем доброго времени суток. У меня проблема в цикле for и (if else)

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
void info()
{
    for (int i=1;i<3;i++)
        {
            cout << "first_name "<<i<<" -go stydenta"<<endl;
            cin >> grup[i].first_name;
            cout << "name "<<i<<" -go stydenta"<<endl;
            cin >> grup[i].name;
            cout << "year_of_birth "<<i<<" -go stydenta"<<endl;
            cin >> grup[i].year_of_birth;
            cout << "mark "<<i<<" -go stydenta"<<endl;
            
            for(int j=0;j<5;j++)    
            {   
                    int const n=10;
                    int k;
                    cin >> k;
                    if(n<k)
                        {
                            cout << "nevernyi ball \n";
                        }
                    else(n>=k);
                        grup[i].mark[j]=k;
            }
            int summa = 0;
            for (int j=0;j<5;j++)
                {
                    summa += grup[i].mark[j];
                }
            grup[i].summa_bal = summa;
    }
}
В этом цикле должен происходить выбор оценки до 10 и занесения его в массив
C++
1
2
3
4
5
6
7
8
9
10
11
12
for(int j=0;j<5;j++)    
            {   
                    int const n=10;
                    int k;
                    cin >> k;
                    if(n<k)
                        {
                            cout << "nevernyi ball \n";
                        }
                    else(n>=k);
                        grup[i].mark[j]=k;
            }
но проблема при написании значения более 10 пишет неверный балл, но все ровно его заносит в массив после чего цикл заканчивается после любых 10 значений. Заранее благодарен
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2013, 15:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос При написании значения более 10 пишет неверный балл, но все ровно его заносит в массив (C++):

Подскажите почему не правильно заносит значения в массив - C++
Пытаюсь запрограммировать явную схему уравнения теплопроводности, надо занести в массив значения fi(х) в массив, только в одиц столбец u,...

Найдите все значения параметра, при которых уравнение имеет ровно два решения - Алгебра
Здравствуйте. Решаю задачи с параметром из ЕГЭ, и есть одна конкретная, на которую потратил уйму времени и не могу до конца решить, и...

Найдите все значения а, при каждом из которых система уравнений имеет ровно четыре различных решения - Алгебра
Здравствуйте, помогите, пожалуйста, решить задачу с параметром. Найдите все значения а, при каждом из которых система уравнений имеет...

Все значения k при котором прямая y=kx имеет с графиком данной функции ровно одну общую точку - Математический анализ
Номер 23. Заранее спасибо! Правила, 5.18. Задания набирать ручками. Для формул есть редактор.

Не пишет русскими буквами в VS при написании приложений под Windows - Visual Studio
Проблема заключается в следующем В VS при написании приложений под Windows в одном единственном месте не пишет по русски. Когда...

Подсчитайте, сколько различных символов слова употребляется в его написании более одного раза - Turbo Pascal
Подсчитайте, сколько различных символов слова Х употребляется в написании Х БОЛЕЕ ОДНОГО РАЗА. P.s.: программа сама должнавывести каждый...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.05.2013, 15:21 #2
C++
1
else grup[i].mark[j] = k;
riml9inin
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 45
19.05.2013, 15:25  [ТС] #3
Цитата Сообщение от alsav22 Посмотреть сообщение
C++
1
else grup[i].mark[j] = k;
попробовал но все ровно та же беда заносит как ложные так и правдивые занчения
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.05.2013, 15:48 #4
Исправленный код покажите.
riml9inin
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 45
19.05.2013, 15:52  [ТС] #5
Цитата Сообщение от alsav22 Посмотреть сообщение
Исправленный код покажите.
пока нету, ищу везде мб вскоре найду тогда покажу
Croessmah
Модератор
Эксперт CЭксперт С++
13155 / 7418 / 831
Регистрация: 27.09.2012
Сообщений: 18,256
Записей в блоге: 3
Завершенные тесты: 1
19.05.2013, 15:53 #6
Цитата Сообщение от riml9inin Посмотреть сообщение
пока нету
Цитата Сообщение от riml9inin Посмотреть сообщение
попробовал но все ровно та же беда
покажите переделанный код!
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.05.2013, 15:55 #7
Цитата Сообщение от riml9inin Посмотреть сообщение
пока нету
Чего "пока нету"? Тогда это о чём?
Цитата Сообщение от riml9inin Посмотреть сообщение
попробовал но все ровно та же беда заносит как ложные так и правдивые занчения
riml9inin
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 45
19.05.2013, 16:14  [ТС] #8
Цитата Сообщение от alsav22 Посмотреть сообщение
Чего "пока нету"? Тогда это о чём?
епт, уже напали я про код цикла. Ты говорил про изменения кода? я правильно понимаю?
Croessmah
Модератор
Эксперт CЭксперт С++
13155 / 7418 / 831
Регистрация: 27.09.2012
Сообщений: 18,256
Записей в блоге: 3
Завершенные тесты: 1
19.05.2013, 16:15 #9
C++
1
2
3
4
5
6
                   if(n<k)
                        {
                            cout << "nevernyi ball \n";
                        }
                    else
                        grup[i].mark[j]=k;
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.05.2013, 16:19 #10
Цитата Сообщение от riml9inin Посмотреть сообщение
епт, уже напали я про код цикла. Ты говорил про изменения кода? я правильно понимаю?
Цитата Сообщение от riml9inin Посмотреть сообщение
попробовал
То что попробовал покажи, чтобы увидеть как пробуешь. И не одну строчку, а цикл.
riml9inin
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 45
19.05.2013, 16:27  [ТС] #11
я выше изложил суть всей проблемы... изменение конструкции if...else не изменяет правильность выполнения цикла заполнения массива. он заносит как верные так и не верные значения. возможна ошибка в самом составлении цикла.

Добавлено через 2 минуты
Цитата Сообщение от alsav22 Посмотреть сообщение
То что попробовал покажи, чтобы увидеть как пробуешь. И не одну строчку, а цикл.
вот
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int const n=10;
            int k;
            cin >> k;
            while(grup[i].mark[j]=<5)
            {
                if(n<k)
                    {
                        cout << "nevernyi ball \n";
                    }
                else(k<=n);
                    for(int j=0;j<5;j++)
                        grup[i].mark[j] = k;
            }
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.05.2013, 16:28 #12
Цитата Сообщение от riml9inin Посмотреть сообщение
я выше изложил суть всей проблемы... изменение конструкции if...else не изменяет правильность выполнения цикла заполнения массива. он заносит как верные так и не верные значения. возможна ошибка в самом составлении цикла.
Суть проблемы давно понятна. Тебе предложили исправления. Пишешь, что не помогло. Просят показать, как применял предложенные исправления. Что непонятного?

Добавлено через 56 секунд
И где здесь предложенные исправления?
riml9inin
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 45
19.05.2013, 16:30  [ТС] #13
но не знаю как определить кол-во раз цикла, что бы записало 5 верных значений в массив

Добавлено через 2 минуты
Цитата Сообщение от alsav22 Посмотреть сообщение
Суть проблемы давно понятна. Тебе предложили исправления. Пишешь, что не помогло. Просят показать, как применял предложенные исправления. Что непонятного?

Добавлено через 56 секунд
И где здесь предложенные исправления?
да твоего выше поста я не мог понять (не так понял ) чего вы именно хотели....
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.05.2013, 16:30 #14
Вот так работает?
C++
1
2
3
4
5
6
7
8
9
10
11
12
for(int j = 0; j < 5; j++)    
{   
        int const n = 10;
        int k;
        cin >> k;
        if(n < k)
        {
             cout << "nevernyi ball \n";
        }
        else grup[i].mark[j] = k;
            
}
riml9inin
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 45
19.05.2013, 16:36  [ТС] #15
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
for(int j=0;j<5;j++)    
                {   
                    int const n=10;
                    int k,l;
                    cin >> l;
                    if(n<l)
                        {
                            cout << "nevernyi ball \n";
                            k!=l;
                        }
                    else(k<=n);
                        k=l;    
                        grup[i].mark[j] = k;
                    
                }
В этом случае... все значения вносятся от него вообще отказался

Добавлено через 41 секунду
Цитата Сообщение от alsav22 Посмотреть сообщение
Вот так работает?
C++
1
2
3
4
5
6
7
8
9
10
11
12
for(int j = 0; j < 5; j++)    
{   
        int const n = 10;
        int k;
        cin >> k;
        if(n < k)
        {
             cout << "nevernyi ball \n";
        }
        else grup[i].mark[j] = k;
            
}
нет заносит все значения

Добавлено через 3 минуты
думаю эта конструкция будет лучше но её нужно подправить чтобы выполнялась до заполнения массива

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int const n=10;
            int k;
            cin >> k;
            while(1=5)   //(grup[i].mark[5]=5) - но это условие не верное 
            {
                if(n<k)
                    {
                        cout << "nevernyi ball \n";
                    }
                else(k<=n);
                    for(int j=0;j<5;j++)
                        grup[i].mark[j] = k;
            }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2013, 16:36
Привет! Вот еще темы с ответами:

Найти элемент массива с максимальной суммой его цифр( задача на одномерный массив при написании нужно использовать procedure или function) - Turbo Pascal
Найти элемент массива с максимальной суммой его цифр( задача на одномерный массив при написании нужно использовать procedure или function)

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

При вводе ПРАВИЛЬНОГО пароля пишет "неверный пароль" - Windows 7
Здравствуйте! Такая проблема странная случилась, пользовался Win 7 стоял пароль при входе в систему, пароль знал наизусть как свои 5...

Неверный вывод байтов int-а при приведении его до char* - C++
template&lt;typename T&gt; void print_bytes(T val) { for (size_t i = 0; i &lt; sizeof(val) * 8; ++i) { cout &lt;&lt; !!(val &amp; (1 &lt;&lt;...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
19.05.2013, 16:36
Ответ Создать тему
Опции темы

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