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

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

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

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

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

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

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

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

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

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kravam
быдлокодер
1693 / 880 / 44
Регистрация: 04.06.2008
Сообщений: 5,438
23.06.2011, 19:32     Как повторить программу #31
Мы, одинокие стареющие мужчины, делаем так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h> 
#include <conio.h> 
int main () {
 char per= 'y';;
 while (per== 'y'|| per== 'Y') {
  printf ("prodolzhit?\n");
  do {
   per= getch ();
  }
  while (per!= 'y'&&per!= 'Y'&&per!= 'N'&&per!= 'n');
 }
 return 0;
}
easybudda
Эксперт CЭксперт С++
9465 / 5478 / 927
Регистрация: 25.07.2009
Сообщений: 10,502
23.06.2011, 22:38     Как повторить программу #32
Цитата Сообщение от lqazxsazl Посмотреть сообщение
путаю еще...
ну тогда постарайтесь запомнить:
char (character) - символьный тип данных, собственно для хранения символов в основном и используется.
int (integer) - целочисленный тип данных. Подходит для хранения индекса в массиве, календарного числа, месяца или года, количества учащихся в классе (был, помню, старый мультик, там у ученика в задаче 1 1/2 землекопа получилось), etc...
float (floating point) - вещественный тип "обычной" точности. Служит для хранения десятичных дробей. Примечателен тем, что совершенно непредсказуемо порой округляет хранимые значения. Использовать можно разве, что при серьёзной необходимости экономить память, пусть даже в ущерб точности.
double (double precision floating point) - вещественный тип "двойной" точности. Тот самый тип данных, который в большинстве случаев нужно использовать для хранения вещественных чисел.
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
24.06.2011, 02:09     Как повторить программу #33
Цитата Сообщение от easybudda
эта штука считывает введённую букву и пропускает символ '\n
эта штука реагирует на два пробела, как на ввод буквы, потому что спецификатор %c отличается от %s
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
24.06.2011, 02:34     Как повторить программу #34
Цитата Сообщение от accept Посмотреть сообщение
while (1) - стиль новичков
а что
C
1
for(;;)
тру?
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
24.06.2011, 03:12     Как повторить программу #35
это точно такие же break
одно дело, когда ты ставишь бесконечный цикл, когда без этого не обойтись, а другое - когда ты ставишь бесконечные циклы, расчитывая на break'и, потому что так проще по логике, и типа "не надо продумывать качественное условие выхода"

нужен один вход и один выход, тогда любые внутренние изменения цикла не затрагивают его ход
чего не скажешь про break'и, которые чуть что, надо сразу переписывать, или вообще переставлять местами, причём все
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
24.06.2011, 06:08     Как повторить программу #36
Цитата Сообщение от accept Посмотреть сообщение
которые чуть что, надо сразу переписывать, или вообще переставлять местами, причём все
о_0 С какого перепугу?
Разумеется, гораздо удобнее напихать в цикле кучу ифов, проверяющих на каждой итерации цикла необходимость выполнения кода, находящегося после изменения флага завершения. Ну и что, что цикл потенциально бесконечный и лишний (даже один) иф приравнивается к бесконечной потери времени... Кому какое дело, ведь break так внезапно код прерывает, что даже деструкторы от удивления не вызываются, глобальное потепление начинается и пингвины подняться не могут...
xAtom
914 / 739 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
24.06.2011, 10:08     Как повторить программу #37
break - это jmp из выхода за условие цикла кто-то думает что когда цикл прервётся ниже его код выпониться это особенно новички так break на ASM кидает за цикл метку. Два цикла ни чем друг от друга не отличаются.

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
    while(1) {
            
        printf("input word: ");
        char buff[32];
        scanf("%s", buff);
        if(! stricmp(buff, "exit"))
            break;
 
        printf("\tprint: %s\n", buff);
 
    }
 
    // здесь goto
 
    while(1) {
 
                      printf("input word: ");
        char buff[32];
        scanf("%s", buff);
        if(! stricmp(buff, "exit"))
            goto  jmp;
            
        printf("\tprint: %s\n", buff);
 
    }
jmp:   ;
easybudda
Эксперт CЭксперт С++
9465 / 5478 / 927
Регистрация: 25.07.2009
Сообщений: 10,502
24.06.2011, 14:02     Как повторить программу #38
Цитата Сообщение от accept Посмотреть сообщение
эта штука реагирует на два пробела, как на ввод буквы
Ну хорошо. Конструкция
C
1
scanf("%c%*c", &ch);
читает из потока ввода два символа (вернее пытается прочитать). Первый прочитанный присваивает переданной переменной, а второй просто отбрасывает. В качестве учебного примера (учитывая уровень ТС) вполне достаточно. Но. Если мы решим почувствовать себя кулхацкерами, или кем-то вроде, и захотим взломать этот код, то начинать, конечно, нужно с добавления кучи пробелов после буквы 'y'...


xAtom, я думаю, основная идея в том, чтобы внутри тела цикла небыло заморочек по поводу им (циклом) управления, кроме, разумеется, случаев аварийного завершения. Кстати, в принципе согласен. Тело цикла - одна история, а сколько раз и при каких условиях это тело должно отработать - совсем другая...
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
25.06.2011, 05:38     Как повторить программу #39
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C
1
scanf("\t%c%*c", &ch);
easybudda
Эксперт CЭксперт С++
9465 / 5478 / 927
Регистрация: 25.07.2009
Сообщений: 10,502
25.06.2011, 09:58     Как повторить программу #40
C
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
 
int main(void){
    char ch;
    
    while ( scanf("\t%c%*c", &ch) == 1 )
        printf("%#x\n", (unsigned)ch);
    
    return 0;
}
тот же
Как повторить программу
только в профиль...
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
26.06.2011, 07:44     Как повторить программу #41
вместо "A" введи " A" или просто на enter жмёшь
Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
26.06.2011, 22:47     Как повторить программу #42
Цитата Сообщение от Mиxaил Посмотреть сообщение
если можно поставить контроль событий (bool переменную), и плавно по ней выйти?!
Что-что, bool в с++ работает не самым лучшим образом и это признано так что заменять break булевкой переменной не есть гуд.
grizlik78
Эксперт С++
1908 / 1440 / 110
Регистрация: 29.05.2011
Сообщений: 2,995
26.06.2011, 22:49     Как повторить программу #43
Цитата Сообщение от Gepar Посмотреть сообщение
Что-что, bool в с++ работает не самым лучшим образом и это признано так что заменять break булевкой переменной не есть гуд.
Кем признано? Где?
easybudda
Эксперт CЭксперт С++
9465 / 5478 / 927
Регистрация: 25.07.2009
Сообщений: 10,502
26.06.2011, 22:49     Как повторить программу #44
Цитата Сообщение от Gepar Посмотреть сообщение
bool в с++ работает не самым лучшим образом
Вот с этого момента поподробнее... А в чём проблема?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.06.2011, 23:40     Как повторить программу
Еще ссылки по теме:

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

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

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

[C/C++]Компилятор g++.Странности с true и false.Кто нибудь может прокомментировать/повторить это у себя? - C++
Заметил такую странность: Это проходит компиляцию bool *b = false; А это нет bool *b = true; error: cannot convert ‘bool’ to...

Повторить исходный текст в файлах дважды, причем вторая копия должна содержать символы в обратном порядке - C++
Добрый вечер, суть задания заключается в следующем: указывается каталог, проверяется на наличие тхт файлов,а дальше удвоить текст в...


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

Или воспользуйтесь поиском по форуму:
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
26.06.2011, 23:40     Как повторить программу #45
речь наверно о си, хотяяя.. его же там нет
Yandex
Объявления
26.06.2011, 23:40     Как повторить программу
Ответ Создать тему
Опции темы

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