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

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

Войти
Регистрация
Восстановить пароль
 
4caster
0 / 0 / 0
Регистрация: 08.05.2016
Сообщений: 6
#1

Преждевременный выход из цикла - C++

10.05.2016, 20:23. Просмотров 227. Ответов 12
Метки нет (Все метки)

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>
 
using namespace std;
 
void enter_new_note ();
void show_sheldue ();
int x = 1;
 
char Monday [11], Thuesday [11], Wednesday [11], Thursday [11], Friday [11], Saturday [11], Sunday [11];
 
int main (){
 
    while (x){
 
        cout << "Choose thing you want to do: \n" << "1. Enter new note\n" << "2. View schedule\n" << "0. Exit\n";
        cin >> x;
        switch (x) {
        case 1:
            enter_new_note ();
            break;
        case 2:
            //show_sheldue ();
            break;
        }
    }
 
   return 0;
}
void enter_new_note (){
    int day, number;
    cout << "Choose the day:\n" << "1. Monday \n" << "2. Thuesday \n" << "3. Wednesday \n" << "4. Thursday \n" << "5. Friday \n" << "6. Saturday \n" << "7. Sunday \n";
    cin >> day;
    cout << "Choose the number of sheldue (0-9):\n";
    cin >> number;
    switch (day){
 
        case 1:
            cin >> Monday [number];
            break;
        case 2:
            cin >> Thuesday [number];
            break;
        case 3:
            cin >> Wednesday [number];
            break;
        case 4:
            cin >> Thursday [number];
            break;
        case 5:
            cin >> Friday [number];
            break;
        case 6:
            cin >> Saturday [number];
            break;
        case 7:
            cin >> Sunday [number];
            break;
    }
 
return;
}
Собственно, проблема. Допустим, я хочу выбрать "Enter new note", т.е. воспользоваться функцией enter_new_note. Если я это делаю, то после занесения изменений происходит выход из цикла while в main(). Попробовал заккоментить эту функцию, в итоге цикл стал работать как надо. В чем проблема?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2016, 20:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Преждевременный выход из цикла (C++):

Преждевременный выход из цикла - C++
Здраствуйте! Спасибо за внимание. Стояла задача: 1. построить двумерный динамический массив. (выполнено) 2. нахождение количества...

Преждевременный выход из цикла for на некотором промежутке - C++
Экспериментируя с циклом for выявил вот какую не понятную мне особенность. При выполнении данного кода: #include &lt;iostream&gt; ...

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

Выход из цикла - C++
Доброго времени суток. Подскажите, пожалуйста как сделать выход из цикла при нажатии 0 в меню. Пытался так на ESC, но не выходит. ...

Выход из цикла - C++
Есть цикл. Он выполняется. Долго. Пока он выполняется я нажимаю Esc и он становится на паузу. Как осуществить? Добавлено через 10...

Выход из цикла - C++
Ув. программисты я пишу крестики-нолики, но возникла некоторая проблема с циклами! for (t=0;t&lt;100;t++) { for...

12
nd2
2413 / 2002 / 704
Регистрация: 29.01.2016
Сообщений: 6,537
10.05.2016, 20:39 #2
Цитата Сообщение от 4caster Посмотреть сообщение
то после занесения изменений
Цитата Сообщение от 4caster Посмотреть сообщение
cin >> Monday [number];
Что вводишь?
0
4caster
0 / 0 / 0
Регистрация: 08.05.2016
Сообщений: 6
10.05.2016, 20:51  [ТС] #3
asdf например
0
nd2
2413 / 2002 / 704
Регистрация: 29.01.2016
Сообщений: 6,537
10.05.2016, 21:06 #4
Цитата Сообщение от 4caster Посмотреть сообщение
asdf например
Вот это - ввод одного символа:
Цитата Сообщение от 4caster Посмотреть сообщение
cin >> Monday [number];
0
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
3969 / 2193 / 553
Регистрация: 18.10.2014
Сообщений: 3,802
10.05.2016, 21:10 #5
Цитата Сообщение от 4caster Посмотреть сообщение
asdf например
Это куда вы вводите "asdf"?

Вот это

C++
1
cin >> Monday [number]
- это запрос на чтение из cin одного-единственного символа. Это так задумано?

Причем этим символом скорее всего будет символ перевода строки, оставшийся в cin после cin >> number. Это так задумано?
0
nd2
2413 / 2002 / 704
Регистрация: 29.01.2016
Сообщений: 6,537
10.05.2016, 21:13 #6
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Причем этим символом скорее всего будет символ перевода строки, оставшийся в cin после cin >> number. Это так задумано?
Нет, cin >> первые пробельные пропустит.
1
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
3969 / 2193 / 553
Регистрация: 18.10.2014
Сообщений: 3,802
10.05.2016, 21:18 #7
Цитата Сообщение от nd2 Посмотреть сообщение
Нет, cin >> первые пробельные пропустит.
Да, точно. Мне почему-то казалось, что cin >> для единичного символа ведет себя как %c в scanf. Но это не так.
0
4caster
0 / 0 / 0
Регистрация: 08.05.2016
Сообщений: 6
10.05.2016, 21:20  [ТС] #8
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Причем этим символом скорее всего будет символ перевода строки, оставшийся в cin после cin >> number. Это так задумано?
На самом деле нет. Я думал, что можно будет ввести слово.
0
nd2
2413 / 2002 / 704
Регистрация: 29.01.2016
Сообщений: 6,537
10.05.2016, 21:23 #9
Цитата Сообщение от 4caster Посмотреть сообщение
Я думал, что можно будет ввести слово.
number - это у тебя что означает?
0
4caster
0 / 0 / 0
Регистрация: 08.05.2016
Сообщений: 6
10.05.2016, 21:29  [ТС] #10
Предполагается, что на один день недели может быть запланировано несколько задач, в данном случае их 10. Когда мы вводим number, мы показываем, какую по счету задачу мы хотим ввести/изменить
0
nd2
2413 / 2002 / 704
Регистрация: 29.01.2016
Сообщений: 6,537
10.05.2016, 21:35 #11
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Тогда тебе нужен не массив символов (char Monday [11]), а массив из 10 строк:
C++
1
char Monday [10][11]
Добавлено через 3 минуты
Тогда здесь уже можно будет вводить слово (состоящее не более чем из 10 символов):
C++
1
cin >> Monday [number];
1
4caster
0 / 0 / 0
Регистрация: 08.05.2016
Сообщений: 6
10.05.2016, 21:37  [ТС] #12
Цитата Сообщение от nd2 Посмотреть сообщение
Тогда тебе нужен не массив символов (char Monday [11]), а массив из 10 строк:
Действительно, заработало А если я хочу полностью вывести такой массив на экран, что нужно сделать?
0
nd2
2413 / 2002 / 704
Регистрация: 29.01.2016
Сообщений: 6,537
10.05.2016, 21:41 #13
Цитата Сообщение от 4caster Посмотреть сообщение
А если я хочу полностью вывести такой массив на экран, что нужно сделать?
Так же как ввод, только вывод (cout << ) в цикле.
0
10.05.2016, 21:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2016, 21:41
Привет! Вот еще темы с ответами:

С++ Выход из цикла - C++
Есть цикл, написанный в дополнительной функции. Нужно вывести сумму нескольких введенных чисел, если подходящей суммы нет,то вывести...

Выход за пределы цикла - C++
Вообщем необходимо реализовать алгоритм по пунктам от 1 до 27 и в них есть переходы на другие пункты. Есть 2 цикла do while, один от 5 до...

Выход из цикла из консоли - C++
В консольном приложении пользователь запускает цикл, выход из которого возможен только по инициативе пользователя. Как реализовать? ...

Принудительный выход из цикла - C++
Вообщем надо при определенном условии завершать вложенный цикл, такой код будет работать??? for(.....) { for(.....) { if...


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

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

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