0 / 0 / 0
Регистрация: 12.06.2019
Сообщений: 15
1

Использование цикла с постусловием

12.06.2019, 15:24. Показов 1927. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Предложение выбора функции действует до тех пор, пока пользователь не нажмет клавишу q.
При нажатии на q, консоль начинает быстро идти.
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
#include <iostream>
#include <windows.h>
#include "z1.cpp"
#include "z2.cpp"
#include "z3.cpp"
#include "z4.cpp"
using namespace std ;
int main()
{
    system("chcp 1251");
    int n;
    char c ;
    do
    {
        cout<<"Выберите нужную функцию (1-4): ";
        cin>>n;
    }while (c!='q');
 
 
    switch (n)
    {
        case 1 : func1();break;
        case 2 : func2();break;
        case 3 : func3();break;
        case 4 : func4();break;
    }
 
 
    cin.get();
    cin.get();
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.06.2019, 15:24
Ответы с готовыми решениями:

Програмированние цикла с постусловием
помогите пожалуйста, не могу понять как это написать (Борланд СИ изучаем месяц)...

Оператора цикла с постусловием
Пожалуйста посмотрите задачу, я бы решил, но сколько сижу не пойму 1)С помощью оператора цикла с...

Оператор цикла с предусловием (while) и с постусловием (do while)
Найдите сумму цифр произвольного натурального числа.

2 Оператор цикла с предусловием (while) и с постусловием (do while)
всем привет помогите решить 2 задания или наведите на мысль

9
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
12.06.2019, 16:18 2
Цитата Сообщение от f102 Посмотреть сообщение
Предложение выбора функции действует до тех пор, пока пользователь не нажмет клавишу q.
зачем несколько раз делать выбор ?

если Вы имели ввиду вызывать различные функции, пока не нажата 'q' - тогда можно так: (поменяйте под свою задачу):
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>
using namespace std;
 
int main()
{    
    char c;    
    
    while(1)
    {
        cout << "Choose one of the following options: 1 - Task1, 2 - Task2, q - end work\n";          
        cin >> c;
        if (c=='q') break;
        
        switch (c)
        {
        case '1':
            {
            cout << "One\n";
            break;
            }
        case '2':
            {
            cout << "Two\n";
            break;
            }
          // .....  
        default:
            cout << "Wrong option!\n";
        }
    } 
    
system("pause");
return 0;
}
если нужен именно цикл с постусловием, поменять не сложно
0
0 / 0 / 0
Регистрация: 12.06.2019
Сообщений: 15
12.06.2019, 16:35  [ТС] 3
Так поставлена зада (Выбор задачи предлагать пользователю до тех пор, пока он не нажмет клавишу "q" (с использованием цикла с постусловием )

Добавлено через 2 минуты
Цитата Сообщение от Yetty Посмотреть сообщение
зачем несколько раз делать выбор ?

если Вы имели ввиду вызывать различные функции, пока не нажата 'q' - тогда можно так: (поменяйте под свою задачу):
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>
using namespace std;
 
int main()
{    
    char c;    
    
    while(1)
    {
        cout << "Choose one of the following options: 1 - Task1, 2 - Task2, q - end work\n";          
        cin >> c;
        if (c=='q') break;
        
        switch (c)
        {
        case '1':
            {
            cout << "One\n";
            break;
            }
        case '2':
            {
            cout << "Two\n";
            break;
            }
          // .....  
        default:
            cout << "Wrong option!\n";
        }
    } 
    
system("pause");
return 0;
}
если нужен именно цикл с постусловием, поменять не сложно
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
12.06.2019, 16:47 4
Цитата Сообщение от f102 Посмотреть сообщение
Выбор задачи предлагать пользователю до тех пор, пока он не нажмет клавишу "q"
тогда предложенный код Вам подходит. замените только цикл while на цикл do while.
0
0 / 0 / 0
Регистрация: 12.06.2019
Сообщений: 15
12.06.2019, 16:54  [ТС] 5
все равно такая же ситуация
Миниатюры
Использование цикла с постусловием  
0
0 / 0 / 0
Регистрация: 12.06.2019
Сообщений: 15
12.06.2019, 16:55  [ТС] 6
это при нажатии на q
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
12.06.2019, 17:05 7
Цитата Сообщение от f102 Посмотреть сообщение
все равно такая же ситуация
покажите отредактированный код
0
0 / 0 / 0
Регистрация: 12.06.2019
Сообщений: 15
12.06.2019, 17:16  [ТС] 8
Цитата Сообщение от Yetty Посмотреть сообщение
покажите отредактированный код
Это как Вы мне показали. При нажатии на q или на цифры происходит вывод сообщения о выборе функции.
А на счет цикла с постусловием. Я не могу понять как именно реализовать код.
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 <windows.h>
#include "z1.cpp"
#include "z2.cpp"
#include "z3.cpp"
#include "z4.cpp"
using namespace std ;
int main()
{
    system("chcp 1251");
 
    char c ;
    while(1)
    {
        cout<<"Выберите нужную функцию (1-4): ";
        cin>>c;
        if (c=='q');
 
    }
 
 
    switch (c)
    {
        case 1 : func1();break;
        case 2 : func2();break;
        case 3 : func3();break;
        case 4 : func4();break;
    }
 
 
    cin.get();
    cin.get();
    system("pause");
 
    return 0;
}
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
12.06.2019, 17:27 9
Лучший ответ Сообщение было отмечено f102 как решение

Решение

Цитата Сообщение от f102 Посмотреть сообщение
Это как Вы мне показали.
я показывал не так - кейсы входят в цикл и break потеряли в 17 строке
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
int main()
{    
    char c;    
    
    do
    {
        cout << "Choose a function : 1 - func1, 2 - func2, 3 - func3, 4 - func4,  q - end work\n";          
        cin >> c;
        if (c=='q') break;
        
        switch (c)
        {
        case '1':
            {                
            func1();
            break;
            }
        case '2':
            {
            func2();            
            break;
            }
        case '3':
            {                
            func3();
            break;
            }
        case '4':
            {               
            func4();
            break;
            }  
        default:
            cout << "Wrong option!\n";
        }
    }
    while (1);
    
system("pause");
return 0;
}
0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
12.06.2019, 17:28 10
Почему switch выскочил из цикла?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
do
{
     cout<<"Выберите нужную функцию (1-4): ";
     cin>>c;
 
    switch (c)
    {
        case 1 : func1();break;
        case 2 : func2();break;
        case 3 : func3();break;
        case 4 : func4();break;
    }     
 
} while (c!='q');
0
12.06.2019, 17:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.06.2019, 17:28
Помогаю со студенческими работами здесь

Программу с использованием цикла с постусловием
Помогите пожалуйста написать программу с этим циклом. Вычислить и напечатать таблицу значений...

Написать и отладить программу с использованием оператора цикла с предусловием и постусловием
Помогите пожалуйста ! написать прогу, найти максимальное из n отрицательных чисел! Работаю на...

Цикл: Вычисление значения с использованием операторов цикла с параметром, с предусловием, с постусловием
Разработать консольную программу в C++, для нахождения значения Y, с использованием операторов...

Вычислить значение суммы ряда, используя операторы цикла с предусловием, постусловием и параметром
Задание: Вычислить значение суммы ряда, используя операторы цикла с предусловием, постусловием и...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru