C++ Вопрос Как сделать переключение в цикле?

Пользователь
Статус
Оффлайн
Регистрация
13 Мар 2018
Сообщения
306
Реакции[?]
52
Поинты[?]
1K
Код:
Код:
        if (NewChange <= 10)
        {
            //1
            keybd_event(0x32, VkKeyScan(0x32), NULL, NULL);
            Sleep(20);
            keybd_event(0x32, VkKeyScan(0x32), KEYEVENTF_KEYUP, NULL);

            mouse_event(MOUSEEVENTF_RIGHTDOWN, NULL, NULL, 0, 0);
            Sleep(20);
            mouse_event(MOUSEEVENTF_RIGHTUP, NULL, NULL, 0, 0);

            keybd_event(0x31, VkKeyScan(0x31), NULL, NULL);
            Sleep(20);
            keybd_event(0x31, VkKeyScan(0x31), KEYEVENTF_KEYUP, NULL);

            Sleep(20);

            //2

            keybd_event(0x33, VkKeyScan(0x33), NULL, NULL);
            Sleep(20);
            keybd_event(0x33, VkKeyScan(0x33), KEYEVENTF_KEYUP, NULL);

            mouse_event(MOUSEEVENTF_RIGHTDOWN, NULL, NULL, 0, 0);
            Sleep(20);
            mouse_event(MOUSEEVENTF_RIGHTUP, NULL, NULL, 0, 0);

            keybd_event(0x31, VkKeyScan(0x31), NULL, NULL);
            Sleep(20);
            keybd_event(0x31, VkKeyScan(0x31), KEYEVENTF_KEYUP, NULL);

            Sleep(20);

            //3

            keybd_event(0x34, VkKeyScan(0x34), NULL, NULL);
            Sleep(20);
            keybd_event(0x34, VkKeyScan(0x34), KEYEVENTF_KEYUP, NULL);

            mouse_event(MOUSEEVENTF_RIGHTDOWN, NULL, NULL, 0, 0);
            Sleep(20);
            mouse_event(MOUSEEVENTF_RIGHTUP, NULL, NULL, 0, 0);

            keybd_event(0x31, VkKeyScan(0x31), NULL, NULL);
            Sleep(20);
            keybd_event(0x31, VkKeyScan(0x31), KEYEVENTF_KEYUP, NULL);

            Sleep(20);
        }

Мне нужно сделать так, чтобы если NewChange <= 10, то выполнялся первый код , если потом также NewChange <= 10 использовался второй и так по кругу. Как сделать реализацию? Заранее спасибо.
 
Легенда форума
Статус
Онлайн
Регистрация
10 Дек 2018
Сообщения
4,381
Реакции[?]
2,284
Поинты[?]
189K
Мне нужно сделать так, чтобы если NewChange <= 10, то выполнялся первый код , если потом также NewChange <= 10 использовался второй и так по кругу. Как сделать реализацию? Заранее спасибо.
Полную реализацию покажи.
Если я правильно помню, тебе достаточно будет добавить break; в конец этого кода.
 
Пользователь
Статус
Оффлайн
Регистрация
13 Мар 2018
Сообщения
306
Реакции[?]
52
Поинты[?]
1K
Полную реализацию покажи.
Если я правильно помню, тебе достаточно будет добавить break; в конец этого кода.
это полная реализация , мне нужно что бы он свапался с ними по очереди и так по кругу 1643038115478.png
 
Легенда форума
Статус
Онлайн
Регистрация
10 Дек 2018
Сообщения
4,381
Реакции[?]
2,284
Поинты[?]
189K
это полная реализация , мне нужно что бы он свапался с ними по очереди и так по кругу Посмотреть вложение 189432
Просто ещё одну проверку добавляй после выполнения такого "блока"...
C++:
 if (NewChange <= 10)
        {
            //1
            keybd_event(0x32, VkKeyScan(0x32), NULL, NULL);
            Sleep(20);
            keybd_event(0x32, VkKeyScan(0x32), KEYEVENTF_KEYUP, NULL);

            mouse_event(MOUSEEVENTF_RIGHTDOWN, NULL, NULL, 0, 0);
            Sleep(20);
            mouse_event(MOUSEEVENTF_RIGHTUP, NULL, NULL, 0, 0);

            keybd_event(0x31, VkKeyScan(0x31), NULL, NULL);
            Sleep(20);
            keybd_event(0x31, VkKeyScan(0x31), KEYEVENTF_KEYUP, NULL);

              if ( !(NewChange <= 10) )
                 return;
    
            Sleep(20);

            //2

            keybd_event(0x33, VkKeyScan(0x33), NULL, NULL);
            Sleep(20);
            keybd_event(0x33, VkKeyScan(0x33), KEYEVENTF_KEYUP, NULL);

            mouse_event(MOUSEEVENTF_RIGHTDOWN, NULL, NULL, 0, 0);
            Sleep(20);
            mouse_event(MOUSEEVENTF_RIGHTUP, NULL, NULL, 0, 0);

            keybd_event(0x31, VkKeyScan(0x31), NULL, NULL);
            Sleep(20);
            keybd_event(0x31, VkKeyScan(0x31), KEYEVENTF_KEYUP, NULL);

              if ( !(NewChange <= 10) )
                 return;
    
            Sleep(20);

            //3

            keybd_event(0x34, VkKeyScan(0x34), NULL, NULL);
            Sleep(20);
            keybd_event(0x34, VkKeyScan(0x34), KEYEVENTF_KEYUP, NULL);

            mouse_event(MOUSEEVENTF_RIGHTDOWN, NULL, NULL, 0, 0);
            Sleep(20);
            mouse_event(MOUSEEVENTF_RIGHTUP, NULL, NULL, 0, 0);

            keybd_event(0x31, VkKeyScan(0x31), NULL, NULL);
            Sleep(20);
            keybd_event(0x31, VkKeyScan(0x31), KEYEVENTF_KEYUP, NULL);

            Sleep(20);
        }
 
Пользователь
Статус
Оффлайн
Регистрация
13 Мар 2018
Сообщения
306
Реакции[?]
52
Поинты[?]
1K
Просто ещё одну проверку добавляй после выполнения такого "блока"...
C++:
 if (NewChange <= 10)
        {
            //1
            keybd_event(0x32, VkKeyScan(0x32), NULL, NULL);
            Sleep(20);
            keybd_event(0x32, VkKeyScan(0x32), KEYEVENTF_KEYUP, NULL);

            mouse_event(MOUSEEVENTF_RIGHTDOWN, NULL, NULL, 0, 0);
            Sleep(20);
            mouse_event(MOUSEEVENTF_RIGHTUP, NULL, NULL, 0, 0);

            keybd_event(0x31, VkKeyScan(0x31), NULL, NULL);
            Sleep(20);
            keybd_event(0x31, VkKeyScan(0x31), KEYEVENTF_KEYUP, NULL);

              if ( !(NewChange <= 10) )
                 return;
   
            Sleep(20);

            //2

            keybd_event(0x33, VkKeyScan(0x33), NULL, NULL);
            Sleep(20);
            keybd_event(0x33, VkKeyScan(0x33), KEYEVENTF_KEYUP, NULL);

            mouse_event(MOUSEEVENTF_RIGHTDOWN, NULL, NULL, 0, 0);
            Sleep(20);
            mouse_event(MOUSEEVENTF_RIGHTUP, NULL, NULL, 0, 0);

            keybd_event(0x31, VkKeyScan(0x31), NULL, NULL);
            Sleep(20);
            keybd_event(0x31, VkKeyScan(0x31), KEYEVENTF_KEYUP, NULL);

              if ( !(NewChange <= 10) )
                 return;
   
            Sleep(20);

            //3

            keybd_event(0x34, VkKeyScan(0x34), NULL, NULL);
            Sleep(20);
            keybd_event(0x34, VkKeyScan(0x34), KEYEVENTF_KEYUP, NULL);

            mouse_event(MOUSEEVENTF_RIGHTDOWN, NULL, NULL, 0, 0);
            Sleep(20);
            mouse_event(MOUSEEVENTF_RIGHTUP, NULL, NULL, 0, 0);

            keybd_event(0x31, VkKeyScan(0x31), NULL, NULL);
            Sleep(20);
            keybd_event(0x31, VkKeyScan(0x31), KEYEVENTF_KEYUP, NULL);

            Sleep(20);
        }
спасибо!
 
Участник
Статус
Оффлайн
Регистрация
26 Июн 2020
Сообщения
1,114
Реакции[?]
210
Поинты[?]
8K
Просто ещё одну проверку добавляй после выполнения такого "блока"...
C++:
 if (NewChange <= 10)
        {
            //1
            keybd_event(0x32, VkKeyScan(0x32), NULL, NULL);
            Sleep(20);
            keybd_event(0x32, VkKeyScan(0x32), KEYEVENTF_KEYUP, NULL);

            mouse_event(MOUSEEVENTF_RIGHTDOWN, NULL, NULL, 0, 0);
            Sleep(20);
            mouse_event(MOUSEEVENTF_RIGHTUP, NULL, NULL, 0, 0);

            keybd_event(0x31, VkKeyScan(0x31), NULL, NULL);
            Sleep(20);
            keybd_event(0x31, VkKeyScan(0x31), KEYEVENTF_KEYUP, NULL);

              if ( !(NewChange <= 10) )
                 return;
  
            Sleep(20);

            //2

            keybd_event(0x33, VkKeyScan(0x33), NULL, NULL);
            Sleep(20);
            keybd_event(0x33, VkKeyScan(0x33), KEYEVENTF_KEYUP, NULL);

            mouse_event(MOUSEEVENTF_RIGHTDOWN, NULL, NULL, 0, 0);
            Sleep(20);
            mouse_event(MOUSEEVENTF_RIGHTUP, NULL, NULL, 0, 0);

            keybd_event(0x31, VkKeyScan(0x31), NULL, NULL);
            Sleep(20);
            keybd_event(0x31, VkKeyScan(0x31), KEYEVENTF_KEYUP, NULL);

              if ( !(NewChange <= 10) )
                 return;
  
            Sleep(20);

            //3

            keybd_event(0x34, VkKeyScan(0x34), NULL, NULL);
            Sleep(20);
            keybd_event(0x34, VkKeyScan(0x34), KEYEVENTF_KEYUP, NULL);

            mouse_event(MOUSEEVENTF_RIGHTDOWN, NULL, NULL, 0, 0);
            Sleep(20);
            mouse_event(MOUSEEVENTF_RIGHTUP, NULL, NULL, 0, 0);

            keybd_event(0x31, VkKeyScan(0x31), NULL, NULL);
            Sleep(20);
            keybd_event(0x31, VkKeyScan(0x31), KEYEVENTF_KEYUP, NULL);

            Sleep(20);
        }
Мне казалось он про оператор switch... Странно задачу дали
 
Участник
Статус
Оффлайн
Регистрация
26 Июн 2020
Сообщения
1,114
Реакции[?]
210
Поинты[?]
8K
как в данном случае мне указать свитч?

C++:
    if (NewChange <= 10)
    {
        for (int i = 0; i <= 3/*сколько этапов в switch*/; i++)
        {
            switch (i)
            {
                case 1:
                    std::cout << "do 1\n";
                    break;

                case 2:
                    std::cout << "do 2\n";
                    break;

                case 3:
                    std::cout << "do 3\n";
                    break;
            }
        }
    }
Вообще хз что ты именно ввиду имел под
мне нужно что бы он свапался с ними по очереди и так по кругу
 
Пользователь
Статус
Оффлайн
Регистрация
13 Мар 2018
Сообщения
306
Реакции[?]
52
Поинты[?]
1K
C++:
    if (NewChange <= 10)
    {
        for (int i = 0; i <= 3/*сколько этапов в switch*/; i++)
        {
            switch (i)
            {
                case 1:
                    std::cout << "do 1\n";
                    break;

                case 2:
                    std::cout << "do 2\n";
                    break;

                case 3:
                    std::cout << "do 3\n";
                    break;
            }
        }
    }
Вообще хз что ты именно ввиду имел под
спс
 
Сверху Снизу