Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/25: Рейтинг темы: голосов - 25, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 11.05.2018
Сообщений: 16

Как закончить цикл

13.05.2018, 18:27. Показов 4885. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
пользователь вводит n значений через пробел и я не знаю сколько значений он введет например 1 23 123 87 98 54 6 2 47 78 5
и надо сделать так что бы цикл do...while закончился тогда когда пользователь нажмет enter
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.05.2018, 18:27
Ответы с готовыми решениями:

Как правильно закончить вод чисел через цикл while(cin>>x)?
Собственно вопрос состоит в том чтобы правильно закончить цикл while. Мне нужно чтобы после ввода чисел(например 1 2 3 4 5) нажав на Enter...

Закончить цикл while
Начал учить С++. Есть такой код: #include "std_lib_facilities.h" int main() { int number = 0; string current; string...

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

12
 Аватар для Веселый
87 / 88 / 48
Регистрация: 12.10.2013
Сообщений: 1,103
13.05.2018, 20:27
Это первый класс C++

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
// Do_.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
 
 
#include "stdafx.h"
#include <clocale>
#include<iostream>
 
using namespace std;
int main()
{
    setlocale(LC_ALL,"russian");
    int  number;
    int  numberSTOP = 3;
    //cout<<"Enter number :";
    do
    {
        cout<<"Enter number :";
        cin>>number;
        cout<<number<<"\n";
    }
    while(number!=numberSTOP);
    return 0;
}
Добавлено через 18 минут
Или ТАК ???

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int main()
{
    setlocale(LC_ALL,"russian");
    int  number;
    //int  numberSTOP = 3;
    cout<<"Enter number :";
    do
    {
        cin>>number;
    }
    while(!cout<<number);
    return 0;
}
0
14 / 14 / 8
Регистрация: 10.12.2015
Сообщений: 157
13.05.2018, 20:43
C++ (Qt)
1
2
3
4
5
6
7
8
   
do
    {
        cin>>number;
        char ch = getchar();
        if(ch == '\n') break;
    }
while(true);
ну вы че, строки же...
0
213 / 109 / 46
Регистрация: 12.12.2016
Сообщений: 399
13.05.2018, 20:51
C++
1
2
3
4
char ch;
do {
...
} while (ch != '\r');
0
14 / 14 / 8
Регистрация: 10.12.2015
Сообщений: 157
13.05.2018, 20:55
уж тогда так
C++ (Qt)
1
2
3
4
5
6
    do
    {
        cin>>number;
        cout << number<< " ";
    }
    while(getchar() != '\n');
0
0 / 0 / 0
Регистрация: 11.05.2018
Сообщений: 16
14.05.2018, 18:05  [ТС]
Я забыл уточнить что надо не с помощью char или string а с int
0
14 / 14 / 8
Регистрация: 10.12.2015
Сообщений: 157
14.05.2018, 18:11
Лучший ответ Сообщение было отмечено Комиль99 как решение

Решение

а в чем проблема то?) int то ваш не трогается.

C++ (Qt)
1
2
3
4
5
6
do
    {
        int number;
        cin>>number;
    }
while(getchar() != '\n');


C++ (Qt)
1
2
3
4
5
6
do
    {
        int number;
        cin>>number;
    }
while((int)getchar() != 10);
0
475 / 427 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
14.05.2018, 18:16
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <windows.h>
#include <iostream>
 
 
using namespace std;
 
void main()
{
    int x;
    while (true)
    {
        cin >> x;
        if (GetKeyState(VK_RETURN))
            break;
    }
}
0
0 / 0 / 0
Регистрация: 11.05.2018
Сообщений: 16
19.05.2018, 20:41  [ТС]
Простите но ни один из ваших кодов не заканчивается когда я нажимаю enter
цикл заканчивается после двух нажатий enter вместо одного или что то я не то делаю
Объясните пл
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,246
19.05.2018, 20:59
Вариант wekfox работает прекрасно,
а вот с вариантом SuperKir, проблема:
GetKeyState считывает ТЕКУЩЕЕ состояние клавиши,
Т.к. буфер ввода не передается на обработку пока строка не набрана,
то прочитано будет лишь первое число.
0
475 / 427 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
19.05.2018, 22:46
Комиль99, GetKeyState -> GetAsyncKeyState. Мой косяк.
zss, Можно поподробнее?

Добавлено через 8 минут
zss, а всё, я понял суть. Имелось ввиду что в x занесется по-любому первое набранное число. Да, в этом плане конечно верно.
0
0 / 0 / 0
Регистрация: 11.05.2018
Сообщений: 16
20.05.2018, 09:39  [ТС]
wekfox спс за код сработало)
0
14 / 14 / 8
Регистрация: 10.12.2015
Сообщений: 157
20.05.2018, 10:13
Цитата Сообщение от Комиль99 Посмотреть сообщение
wekfox спс за код сработало)
да не за что. Ток учтите, что код рабочий при строгом условии задачи. Если устроить небольшой тест, то все сломается
Например введите перед enter пробел или другой служебный симовол. Эти все проблемы не обсуждаются, поэтому можно выдвигать изначальный код.
Но если потребуется, то вот пример на пробелах(потому что часто в конце можно впихнуть пробел по случайности .)
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    int number;
    do
    {
        char ch;
        cin >> number;
        cout << number << " ";
 
        do{ ch =getchar(); }
        while(ch == ' ');  // удаляем все пробелы
 
        cin.putback(ch); //возвращаем не пробельный символ обратно в поток.
 
    }while(ch != '\n');        // где '\n' - enter
 
    cout << '\t' << "its end";
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.05.2018, 10:13
Помогаю со студенческими работами здесь

Как закончить работу?
Код написал. все сохранил. проверил. хочу программу запускать без VS как это сделать????????

Как закончить формулу
Как закончить формулу?

Как закончить доказательство
Добрый день, необходимо доказать, что в любом базисе: {e_1} = \left( a_{11}, a_{12}, \ldots, a_{1n}\right) {e_2} = \left(...

Как закончить прогу. Не знаю как. Начал делать и не получаеться никак
Вот условие: Составить программу, определяющую победителя конкурса продаж. В программу вводится количество товара, проданного каждым...

Подскажите как закончить код. как найти Δ?
на первых двух фото сама тема и ее алгоритм решения. В конце есть пример 5.4, который мне нужно повторить. на 3 картинке сам код....


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru