Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Oleg34
1 / 1 / 1
Регистрация: 22.12.2010
Сообщений: 128
#1

Вернуться в определенное место программы - C++

21.01.2015, 13:38. Просмотров 1671. Ответов 5
Метки нет (Все метки)

Здравствуйте! Есть ли возможность в С++ выполнить возврат к определенному месту в коде. Например у меня есть набор команд (что то вроде CLI). Это команды -help, -add, -update, -del. При наборе определенной команды, например -help, у меня выводится текст с перечнем команд и курсор встает на новую строку и я мог бы опять набирать любую команду. Для ввода логин-пароль я сделал цикл do-while с тремя попытками. А, как организовать ввод команд? Пытался через goto, но это не работает.
C++ (Qt)
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
    /* имею возможность редактировать поля в загруженной таблице */
 
        printf("\n\nВыберите нужную Вам команду!\r\n");
        printf("\nВызвать помощь можно командой -help\r\n");
        char help[] = "-help";
        char add[] = "-add";
        char update[] = "-update";
        char delet[] = "-delet";
        char com[8];
 
        scanf("%s", com);
 
        if ((strcmp(add, com) == 0)) { /* добавить сотрудника */
            printf("\n\nВы можете добавить нового сотрудника\r\n");
                                 /*мой блок команд для работы с БД*/
            printf("\n\nВы хотите закончить нажмите Y\nВыбрать другое N\n");
            char close[] = "Y";
            char other[] = "N";
            scanf("%s", _a);
            if ((strcmp(_a, close) == 0)) {
                exit(0);
            }
            if (strcmp(_a, other) == 0) {
                        /*В этом месте хотелось бы вернуться в начало!!!*/
            }
        }
 
        if ((strcmp(update, com) == 0)) { /* изменить запись */
            printf("\n\nВы можете изменить запись\r\n");
                                /*мой блок команд для работы с БД*/
                    printf("\n\nВы хотите закончить нажмите Y\nВыбрать другое N\n");
            char close[] = "Y";
            char other[] = "N";
            scanf("%s", _a);
            if ((strcmp(_a, close) == 0)) {
                exit(0);
            }
            if (strcmp(_a, other) == 0) {
                        /*В этом месте хотелось бы вернуться в начало!!!*/
            }
 
        }
 
        if ((strcmp(delet, com) == 0)) { /* удалить запись */
            printf("\n\nВы можете удалить запись\r\n");
                                 /*мой блок команд для работы с БД*/
            printf("\n\nВы хотите закончить нажмите Y\nВыбрать другое N\n");
            char close[] = "Y";
            char other[] = "N";
            scanf("%s", _a);
            if ((strcmp(_a, close) == 0)) {
                exit(0);
            }
            if (strcmp(_a, other) == 0) {
                        /*В этом месте хотелось бы вернуться в начало!!!*/
            }
 
        }
        if ((strcmp(help, com) == 0)) { /* вызов справки */
            printf(_help);
            printf("\n\nВведите Enter для продолжения\r\n");
      
            printf("\n\nили если ВЫ хотите закончить работу с таблицей то нажмите Y\n");
            char close[] = "Y";
            char other[] = "Enter";
            scanf("%s", _a);
            if ((strcmp(_a, close) == 0)) {
                exit(0);
            }
            if (strcmp(_a, other) == 0) {
                        /*В этом месте хотелось бы вернуться в начало!!!*/}}

http://www.cyberforum.ru/cpp-beginners/thread621597.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2015, 13:38
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вернуться в определенное место программы (C++):

Запись информации в определенное место файла
Добрый вечер форумчане! Необходим ваш совет. Нужно реализовать возможность...

В определенное место строки вставить значение переменной
Друзья объясните такую штуку. На PHP это выглядит так.. $stroka =...

Подскажите функции, которые вставляют подстроку в определенное место файла
Помогите пожалуйста, необходимо подключится к файл на диске с исходным кодом на...

Не могу вернуться к тексту программы
Программа вобщем-то работает, но после выполнения компилятор (Borland C++ ) не...

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

5
castaway
Эксперт С++
4926 / 3033 / 453
Регистрация: 10.11.2010
Сообщений: 11,089
Записей в блоге: 10
Завершенные тесты: 1
21.01.2015, 14:04 #2
Оберни всё это в бесконечный цикл for ( ; ; ), там где надо вернуться в начало - continue;, там где надо выйти из цикла - break;
0
MrGluck
Модератор
Эксперт CЭксперт С++
7980 / 4861 / 1422
Регистрация: 29.11.2010
Сообщений: 13,235
21.01.2015, 14:58 #3
И не забудьте про
C++
1
2
3
#define ever (;;)
for ever
{}
2
Oleg34
1 / 1 / 1
Регистрация: 22.12.2010
Сообщений: 128
21.01.2015, 17:48  [ТС] #4
Ни разу не делал. Простой пример в виде кода если не трудно, пожалуйста))!
0
castaway
Эксперт С++
4926 / 3033 / 453
Регистрация: 10.11.2010
Сообщений: 11,089
Записей в блоге: 10
Завершенные тесты: 1
21.01.2015, 18:14 #5
Лучший ответ Сообщение было отмечено BRcr как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
for ( ; ; ) {
    // начало
    if ( ... ) continue; // перейти в начало
    ...
    if ( ... ) break; // перейти в конец
    ...
    if ( ... ) continue; // перейти в начало
    ...
    if ( ... ) break; // перейти в конец
}
// конец
0
Oleg34
1 / 1 / 1
Регистрация: 22.12.2010
Сообщений: 128
22.01.2015, 18:07  [ТС] #6
Спасибо!!!
0
22.01.2015, 18:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2015, 18:07
Привет! Вот еще темы с решениями:

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

Записать на место отрицательных элементов матрицы нули ,а на место положительных единицу
Дана квадратная матрица A. Записать на место отрицательных элементов матрицы...

Записать на место отрицательных элементов матрицы нули, а на место положительных – единицы
Дана квадратная матрица A. Записать на место отрицательных элементов матрицы...

Записать на место отрицательных элементов матрицы нули, а на место положительных – единицы
Помогите решить,в с++!!!D(10,10) Записать на место отрицательных элементов ...


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

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

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