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

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

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

Нюансы синтаксиса: как сравнить каждый элемент массива с переменной в условии оператора if ? - C++

16.09.2016, 10:22. Просмотров 219. Ответов 8
Метки нет (Все метки)

Привет всем дорогие друзья с толкнулся с такой проблемой, начал ходить на уроки с++ и приступил к изучению массива
сталкнулся с такой проблемой, учитель сказал что код в порядке но массив не работает так как один из if не даёт видить массив пожалуйста помогите исправить ошибку не изменяя код полнустью спасибо.
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
#include <iostream>
#include <string>
using namespace std;
int main()
 
{
 
    string h;
metka:
    cout << "prognos pogodi" << endl;
    cin >> h;
 
    string prognos[] = { "ponedelnik", "vtornik", "sreda", "chetverk", "patynica", "sybota" };
 
 
 
 
    if (h != prognos[0,1,2,3,4,5])
    {
        cout << "ne verno" << endl;
    }
 
 
    else if (h == prognos[0])
    {
        cout << "dnem + 30    noh +29 " << endl;
    }
    else if (h == prognos[1])
    {
        cout << "dnem + 35    noh +28 " << endl;
    }
 
    else if (h == prognos[2])
    {
        cout << "dnem + 30    noh +25 " << endl;
    }
    else if (h == prognos[3])
    {
        cout << "dnem + 26    noh +19 " << endl;
    }
    else if (h == prognos[4])
    {
        cout << "dnem + 24    noh +16 " << endl;
    }
    else    if (h == prognos[5])
    {
        cout << "dnem + 30    noh +29 " << endl;
    }
 
 
 
    goto metka;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.09.2016, 10:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нюансы синтаксиса: как сравнить каждый элемент массива с переменной в условии оператора if ? (C++):

Нюансы синтаксиса: что значит std::cin в условии цикла while? - C++
do { int v1, v2; cout &lt;&lt; &quot;Please enter two numbers of sum:&quot;; if (cin &gt;&gt; v1, v2) cout &lt;&lt; &quot;Sum is: &quot; &lt;&lt; v1 + v2 &lt;&lt; endl; ...

Нюансы синтаксиса: оператор & после переменной - C++
Здравствуйте, разбираю исходник одной программы, не могу понять, что означает оператор &amp; после имени переменной (в случае с указателем он...

Нюансы синтаксиса: наиболее правильный способ передачи массива в функцию - C++
Подскажите, пожалуйста, что считается более комильфошным, правильным: объявить указатели на массивы в main и потом передавать в функцию уже...

Нюансы синтаксиса: как вызвать функцию по указателю? - C++
подскажите,как вызвать ф-цию ) int f(int&amp;a, int&amp;b) { return (a*b); } int main() { int a=6,b=5;

Нюансы синтаксиса: как правильно обращаться к полям класса по указателю? - C++
Всем привет, пытаюсь сделать указатель на свой класс: int main() { hmn testobj1; test_class_change(&amp;testobj1); ...

Нюансы синтаксиса: как рекомендуется использовать ключевое слово auto? - C++
Когда рекомендуется использовать тип auto, или просто удобнее?

8
lawr
366 / 260 / 124
Регистрация: 09.05.2014
Сообщений: 769
16.09.2016, 11:02 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Chip_men, строку 18 поменяйте на
C++
1
 if (h != prognos[0]&&h != prognos[1]&&h != prognos[2]&&h !=prognos[3]&&h != prognos[4]&&h != prognos[5])
P.S.- вместо лестницы if-else тут лучше использовать swich.
P.P.S.- за goto учитель должен бить по рукам.
1
Chip_men
0 / 0 / 0
Регистрация: 04.01.2016
Сообщений: 36
16.09.2016, 11:24  [ТС] #3
lawr, а что тогда использовать вместо go to return 0 лили system pause???
спасибо вам огромное
0
lawr
366 / 260 / 124
Регистрация: 09.05.2014
Сообщений: 769
16.09.2016, 11:28 #4
Chip_men, в данном случае while (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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <iostream>
#include <string>
using namespace std;
int main()
 
{
 
    string h;
while (1){
    cout << "prognos pogodi" << endl;
    cin >> h;
 
    string prognos[] = { "ponedelnik", "vtornik", "sreda", "chetverk", "patynica", "sybota" };
 
 
 
 
    if (h != prognos[0,1,2,3,4,5])
    {
        cout << "ne verno" << endl;
    }
 
 
    else if (h == prognos[0])
    {
        cout << "dnem + 30    noh +29 " << endl;
    }
    else if (h == prognos[1])
    {
        cout << "dnem + 35    noh +28 " << endl;
    }
 
    else if (h == prognos[2])
    {
        cout << "dnem + 30    noh +25 " << endl;
    }
    else if (h == prognos[3])
    {
        cout << "dnem + 26    noh +19 " << endl;
    }
    else if (h == prognos[4])
    {
        cout << "dnem + 24    noh +16 " << endl;
    }
    else    if (h == prognos[5])
    {
        cout << "dnem + 30    noh +29 " << endl;
    }
}
}
system pause используется для того, чтобы консоль не закрывалась сразу после завершения программы, а return 0- это собственно нормальное завершение main.
0
redseven
49 / 8 / 7
Регистрация: 07.02.2015
Сообщений: 269
16.09.2016, 11:29 #5
Вместе можно

C++
1
2
system("pause");
return 0
0
Chip_men
0 / 0 / 0
Регистрация: 04.01.2016
Сообщений: 36
16.09.2016, 11:33  [ТС] #6
lawr, нет учитель хороший он очень хорошо объясняет но все карты не раскрывает и за этого он даёт мне иструментарий которуму я у него учусь и даёт задачу а я должен ёё выполнеть после чего он мне указывает на мои минусы. Честно сказать я очень мало трачу время на это в частности не знаю как у меня получаеться выполнить задачу хоть я трачу минут 10-15 на это дело и когда он проверяет он говорит это это - ищи ощибку и сделай легче и ты напрягаешь мозг и делаешь идеально написсаный код без всякого калла просто когда я делаю за 10-15 минут получаеться шаблон как выше а когда трачу 20-40 мин получаеться очень даже отлично это немного моя вина А вам спасибо у меня было в голове также сделать но я думал что с 18 строкой все впорядке оказываеться синтаксис нарушался.
0
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
3876 / 2134 / 548
Регистрация: 18.10.2014
Сообщений: 3,749
16.09.2016, 19:38 #7
Цитата Сообщение от Chip_men Посмотреть сообщение
C++
1
if (h != prognos[0,1,2,3,4,5])


Что имелось в виду под этим сравнением?
0
lawr
366 / 260 / 124
Регистрация: 09.05.2014
Сообщений: 769
16.09.2016, 20:24 #8
TheCalligrapher, зато учитель хороший
0
Chip_men
0 / 0 / 0
Регистрация: 04.01.2016
Сообщений: 36
17.09.2016, 13:39  [ТС] #9
lawr,
к этому я пришел сам, он подсказал что в одном из if есть проблема из за чего не работает массив сказал чтоб я сам разобрался
и нашел ошибку
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.09.2016, 13:39
Привет! Вот еще темы с ответами:

Необходимо каждый элемент массива сравнить с его 8 соседями и если он больше, чем любой из элементов с которыми сравнивается, его распечатать. - C++
Всем привет, помогите решить следующую задачу, есть массив: 3 4 5 6 7 8 9 4 2 10 44 2 2 3 4 5 6 1 2 9 2 2 42 0 1 4 5 8 7 2 9 1 2...

Нюансы синтаксиса: объяснить как работает тернарная операция в заданном фрагменте кода - C++
Всем доброго времени суток! Помогите разобраться с кодом. const char x = {&quot;Jason &quot;, &quot;at your service\n&quot;}; const char * y =...

Нюансы синтаксиса: как запустить программу, которая находится в каталоге Program Files? - C++
что делать когда нужно запустить программу, которая, например, находится в Program Files? а это значит, что нужны кавычки, а так...

Сравнить каждый элемент двух векторов - C++
добрый день ! мне нужно сравнить каждый элемент двух векторов, т.е. vector1 &gt; vector2 . вопрос. есть ли для таких случаев функции или как...


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

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

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