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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 46, средняя оценка - 4.63
lqazxsazl
2 / 2 / 0
Регистрация: 22.06.2011
Сообщений: 42
#1

Как повторить программу - C++

23.06.2011, 00:02. Просмотров 7455. Ответов 45
Метки нет (Все метки)

Как сделать чтоб если я с клавиатуры в консоли введу "y" программа повторилась а если "n" то завершилась?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2011, 00:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как повторить программу (C++):

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

Как прочитать первую строку из файла а остальной текст повторить несколько раз? - C++
Я новичок в этом деле, прошу не осуждать. Помогите разобраться. Задание такое: Программа должна начать читать запись шоколада с...

Повторить исполнение кода - C++
Разработал такой супер-код, подскажите, как сделать, чтобы после последнего "mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0); " сделать, чтобы...

Препод задал повторить сервис на с++ - C++
Есть интернет сервис - ip-calculator.ru Препод задал повторить его на с++. Часть уже выполнена, калькулятор может считать адресс...

Повторить последний минимальный элемент массива - C++
Дан одномерный целочисленный массив из N элементов. Повторить (вставить после или до него такой же) последний минимальный элемент массива;

Повторить строку вектора несколько раз - C++
Ну вот что со мной не так?)) #include <iostream> #include <clocale> #include <ctime> using namespace std; int...

45
easybudda
Модератор
Эксперт CЭксперт С++
9695 / 5645 / 963
Регистрация: 25.07.2009
Сообщений: 10,849
23.06.2011, 00:09 #2
C
1
2
3
4
5
6
7
...
char ch;
do {
   /* что-то сделать */
   printf("continue? (y/n): ");
} while ( scanf("%c%*c", &ch) == 1 && ( ch == 'y' || ch == 'Y' ) );
...
1
NIch
399 / 310 / 27
Регистрация: 17.03.2010
Сообщений: 1,120
23.06.2011, 00:10 #3
Либо задай цикл while пока не будет "Y", либо используй goto проверяя ввод "Y" через if.
0
xAtom
915 / 740 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
23.06.2011, 00:21 #4
C++
1
2
3
4
5
6
7
8
9
10
11
    while(1) {
 
        cout << "input sign cmd: ";
        char c;
        cin >> c;
        if(c == 'y')
             continue;
          else if(c == 'n')
             break;
 
    }
1
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
23.06.2011, 00:42 #5
а если другой символ будет введен?? Тогда стоит обрабатывать только случай с "n"...
это мое понимание...
C++
1
2
3
4
5
6
do
{
    // ...
    std::cin >> ch;
}
while ( ch != 'n' );
Добавлено через 3000000000 минут

Не по теме:

И я считаю, использование break и goto в кодах программ - "не владением ситуацией"! Можно ведь использовать те же самые флаги...

2
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
23.06.2011, 01:00 #6
Цитата Сообщение от Mиxaил Посмотреть сообщение
И я считаю, использование break и goto в кодах программ - "не владением ситуацией"!
Ну goto то понятно, но гнать на break - это маразм.
2
hoot
100 / 21 / 3
Регистрация: 10.11.2010
Сообщений: 195
23.06.2011, 01:27 #7
Как сделать чтоб если я с клавиатуры в консоли введу "y" программа повторилась а если "n" то завершилась?[/

Для этого удобней будет использовать оператор SWITCH.
C++
1
2
3
4
5
6
7
8
9
Switch(symbo)
{
case n:
   cout<<"Your program!";
break;
case y:
cout<<"End program!";
break;
}
Я новичок, поэтому если ошибаюсь , буду благодарен если обьясните почему нульзя.
1
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
23.06.2011, 01:40 #8
Цитата Сообщение от asics Посмотреть сообщение
гнать на break - это маразм
Никакой не маразм, просто зачем "досрочно" завершать итерацию, если можно поставить контроль событий (bool переменную), и плавно по ней выйти?!
Тему break, думаю, можно закрывать, ибо холивар тут ни к месту - идет обсуждение другой темы...

Добавлено через 1 минуту
hoot, нужно немного изменить Ваш код:
C++
1
2
3
4
5
6
7
8
9
Switch(symbo)
{
case 'n':
   cout<<"Your program!";
break;
case 'y':
cout<<"End program!";
break;
}
1
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
23.06.2011, 01:41 #9
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Mиxaил Посмотреть сообщение
Никакой не маразм, просто зачем "досрочно" завершать итерацию, если можно поставить контроль событий (bool переменную), и плавно по ней выйти?!
Что за такой термин "плавно" ? А с break он что, через жопу выйдет или как ? И зачем полидть перемнные-флаги, тем самым засоряя код, если логичней будет использовать break ?
3
silent_1991
23.06.2011, 02:01
  #10

Не по теме:

Цитата Сообщение от Mиxaил Посмотреть сообщение
использование break и goto в кодах программ
Заставь дурака богу молиться...

1
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1306 / 1221 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
23.06.2011, 07:49 #11

Не по теме:

Цитата Сообщение от Mиxaил Посмотреть сообщение
Никакой не маразм
Исключения, тоже, ни в коем случае не используйте. Это ещё большее "не владение ситуацией"...



Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от Mиxaил Посмотреть сообщение
"не владением ситуацией"
В корректной программе, с автоматически разрушающимися объектами это понятие себя изжило. Причём, уже давно.

1
accept
4825 / 3246 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
23.06.2011, 10:29 #12
Цитата Сообщение от asics
Ну goto то понятно, но гнать на break - это маразм.
break'ов может быть много, тогда как условие завершения цикла должно быть сведено в одну точку
while (1) - стиль новичков
1
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
23.06.2011, 10:37 #13
Цитата Сообщение от accept Посмотреть сообщение
break'ов может быть много,
А может и небыть, все завистит от ситуации.Да и флагов может быть много, но как Вы уже сказали:
Цитата Сообщение от accept Посмотреть сообщение
условие завершения цикла должно быть сведено в одну точку
И я не говорю что флаги это г**но, но приравнивать break к goto - Вы уж извините.
Цитата Сообщение от accept Посмотреть сообщение
while (1) - стиль новичков
Круто, хорошо что я эту конструкцию, почти никогда не использую.
1
accept
4825 / 3246 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
23.06.2011, 10:45 #14
Цитата Сообщение от asics
И я не говорю что флаги это г**но, но приравнивать break к goto - Вы уж извините.
читай профессиональные книги с профессиональным кодом
они прививают хороший стиль (отступы, выделение блоков, запись циклов, объявлений и так далее)

Цитата Сообщение от asics
А может и небыть
программы могут меняться, можно вообще забыть, что писал полгода назад
1
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
23.06.2011, 10:51 #15
Цитата Сообщение от accept Посмотреть сообщение
читай профессиональные книги с профессиональным кодом
они прививают хороший стиль (отступы, выделение блоков, запись циклов, объявлений и так далее)
спс за инфу, сам бы я не догадался.

Цитата Сообщение от accept Посмотреть сообщение
программы могут меняться, можно вообще забыть, что писал полгода назад
Я не забуду.
2
23.06.2011, 10:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.06.2011, 10:51
Привет! Вот еще темы с ответами:

повторить введенные символы, за исключением десятичных символов - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;string&gt; int _tmain(int argc, _TCHAR* argv) { setlocale(LC_ALL, &quot;Russian&quot;); ...

Функция, в которой повторить алгоритм любой сортировки n раз - C++
Как сделать функцию, которая бы повторяла алгоритм любой сортировки n кол-во раз( n вводится с клавиатуры). Каждя сортировка должна...

Возможность повторить расчет с новыми данными не выходя из программы. - C++
Подскажите пожалуйста, как на С++ будет писаться код, который на Паскале пишется так: program Laba; Label 1; ch :char; 1: ...

Если длина строки меньше заданной, то повторить ввод - C++
есть массив из длины 21 елемент, надо зделать проверку, если длина &gt; заданой повторить ввод. #include &lt;string&gt; #include &lt;iostream&gt; ...


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

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

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