Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.84/49: Рейтинг темы: голосов - 49, средняя оценка - 4.84
lqazxsazl
2 / 2 / 0
Регистрация: 22.06.2011
Сообщений: 42
1

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

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

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

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

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

Повторить исполнение кода
Разработал такой супер-код, подскажите, как сделать, чтобы после последнего...

Препод задал повторить сервис на с++
Есть интернет сервис - ip-calculator.ru Препод задал повторить его на с++. ...

Повторить строку вектора несколько раз
Ну вот что со мной не так?)) #include <iostream> #include <clocale>...

45
easybudda
Модератор
Эксперт CЭксперт С++
10146 / 6052 / 1521
Регистрация: 25.07.2009
Сообщений: 11,476
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
400 / 311 / 74
Регистрация: 17.03.2010
Сообщений: 1,120
23.06.2011, 00:10 3
Либо задай цикл while пока не будет "Y", либо используй goto проверяя ввод "Y" через if.
0
xAtom
918 / 743 / 299
Регистрация: 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ил
534 / 439 / 162
Регистрация: 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
Эксперт С++
2857 / 1792 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
23.06.2011, 01:00 6
Цитата Сообщение от Mиxaил Посмотреть сообщение
И я считаю, использование break и goto в кодах программ - "не владением ситуацией"!
Ну goto то понятно, но гнать на break - это маразм.
2
hoot
101 / 22 / 7
Регистрация: 10.11.2010
Сообщений: 208
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ил
534 / 439 / 162
Регистрация: 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
Эксперт С++
2857 / 1792 / 355
Регистрация: 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 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
23.06.2011, 07:49 11

Не по теме:

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



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

Не по теме:

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

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

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

Цитата Сообщение от accept Посмотреть сообщение
программы могут меняться, можно вообще забыть, что писал полгода назад
Я не забуду.
2
accept
4833 / 3255 / 455
Регистрация: 10.12.2008
Сообщений: 10,569
23.06.2011, 10:53 16
Цитата Сообщение от asics
Я не забуду.
так все говорят, пиши комментарии для себя будущего
1
pito211
186 / 173 / 18
Регистрация: 22.03.2010
Сообщений: 612
23.06.2011, 10:55 17
Лучший ответ Сообщение было отмечено как решение

Решение

на этом форуме умеют из мухи слона сделать
3
asics
Freelance
Эксперт С++
2857 / 1792 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
23.06.2011, 10:58 18
Цитата Сообщение от accept Посмотреть сообщение
так все говорят
А я зделаю.
Цитата Сообщение от accept Посмотреть сообщение
пиши комментарии для себя будущего
Поживем - увидим.
0
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' ) );
...
Попробовал вот так но программа закрывается в любом случае.
0
accept
4833 / 3255 / 455
Регистрация: 10.12.2008
Сообщений: 10,569
23.06.2011, 11:04 20
эта штука на два перевода строки реагирует, чего не должно быть
считывает любой символ
0
23.06.2011, 11:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.06.2011, 11:04

Повторить последний минимальный элемент массива
Дан одномерный целочисленный массив из N элементов. Повторить (вставить после...

повторить введенные символы, за исключением десятичных символов
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;string&gt; int _tmain(int...

Ввести строку. Повторить дважды первое слово в строке
Помогите написать программу Ввести строку. Повторить дважды первое слово в...


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

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

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