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

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

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

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

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

Как сделать чтоб если я с клавиатуры в консоли введу "y" программа повторилась а если "n" то завершилась?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.06.2011, 00:02     Как повторить программу
Посмотрите здесь:

C++ [C/C++]Компилятор g++.Странности с true и false.Кто нибудь может прокомментировать/повторить это у себя?
C++ Возможность повторить расчет с новыми данными не выходя из программы.
Препод задал повторить сервис на с++ C++
Если длина строки меньше заданной, то повторить ввод C++
C++ повторить введенные символы, за исключением десятичных символов
Повторить исполнение кода C++
Функция, в которой повторить алгоритм любой сортировки n раз C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
9441 / 5464 / 926
Регистрация: 25.07.2009
Сообщений: 10,485
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' ) );
...
NIch
399 / 310 / 27
Регистрация: 17.03.2010
Сообщений: 1,120
23.06.2011, 00:10     Как повторить программу #3
Либо задай цикл while пока не будет "Y", либо используй goto проверяя ввод "Y" через if.
xAtom
914 / 739 / 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;
 
    }
Mиxaил
531 / 436 / 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 в кодах программ - "не владением ситуацией"! Можно ведь использовать те же самые флаги...

asics
Freelance
Эксперт C++
2844 / 1781 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
23.06.2011, 01:00     Как повторить программу #6
Цитата Сообщение от Mиxaил Посмотреть сообщение
И я считаю, использование break и goto в кодах программ - "не владением ситуацией"!
Ну goto то понятно, но гнать на break - это маразм.
hoot
100 / 21 / 3
Регистрация: 10.11.2010
Сообщений: 193
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;
}
Я новичок, поэтому если ошибаюсь , буду благодарен если обьясните почему нульзя.
Mиxaил
531 / 436 / 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;
}
asics
Freelance
Эксперт C++
2844 / 1781 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
23.06.2011, 01:41     Как повторить программу #9
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Mиxaил Посмотреть сообщение
Никакой не маразм, просто зачем "досрочно" завершать итерацию, если можно поставить контроль событий (bool переменную), и плавно по ней выйти?!
Что за такой термин "плавно" ? А с break он что, через жопу выйдет или как ? И зачем полидть перемнные-флаги, тем самым засоряя код, если логичней будет использовать break ?
silent_1991
23.06.2011, 02:01
  #10

Не по теме:

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

Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
23.06.2011, 07:49     Как повторить программу #11

Не по теме:

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



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

Не по теме:

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

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

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

Цитата Сообщение от accept Посмотреть сообщение
программы могут меняться, можно вообще забыть, что писал полгода назад
Я не забуду.
accept
4819 / 3239 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
23.06.2011, 10:53     Как повторить программу #16
Цитата Сообщение от asics
Я не забуду.
так все говорят, пиши комментарии для себя будущего
pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
23.06.2011, 10:55     Как повторить программу #17
Сообщение было отмечено автором темы, экспертом или модератором как ответ
на этом форуме умеют из мухи слона сделать
asics
Freelance
Эксперт C++
2844 / 1781 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
23.06.2011, 10:58     Как повторить программу #18
Цитата Сообщение от accept Посмотреть сообщение
так все говорят
А я зделаю.
Цитата Сообщение от accept Посмотреть сообщение
пиши комментарии для себя будущего
Поживем - увидим.
lqazxsazl
2 / 2 / 0
Регистрация: 22.06.2011
Сообщений: 42
23.06.2011, 10:58  [ТС]     Как повторить программу #19
Цитата Сообщение от easybudda Посмотреть сообщение
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' ) );
...
Попробовал вот так но программа закрывается в любом случае.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.06.2011, 11:04     Как повторить программу
Еще ссылки по теме:

C++ Как прочитать первую строку из файла а остальной текст повторить несколько раз?
Повторить исходный текст в файлах дважды, причем вторая копия должна содержать символы в обратном порядке C++
C++ Повторить последний минимальный элемент массива
Повторить строку вектора несколько раз C++
C++ Возможно ли как-то перехватить действия процесса и повторить их?

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

Или воспользуйтесь поиском по форуму:
accept
4819 / 3239 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
23.06.2011, 11:04     Как повторить программу #20
эта штука на два перевода строки реагирует, чего не должно быть
считывает любой символ
Yandex
Объявления
23.06.2011, 11:04     Как повторить программу
Ответ Создать тему
Опции темы

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