Форум программистов, компьютерный форум, киберфорум
Arduino
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 11.02.2020
Сообщений: 3
1

[C++] Программа не выходит из цикла

11.02.2020, 13:50. Показов 2051. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не могу сделать так что-бы выходила программа из цикла.
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
#include <SPI.h>
#include <MFRC522.h>
#include <SoftwareSerial.h>
unsigned long last_time3;
unsigned long last_time;
unsigned long last_time2;
int com;
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);
unsigned long uidDec, uidDecTemp;
SoftwareSerial softSerial(6, 7); // RX, TX
 
 
void setup(){
  SPI.begin();  //  инициализация SPI / Init SPI bus.
  mfrc522.PCD_Init();
  Serial.begin(9600);
  softSerial.begin(9600); 
  pinMode(13, OUTPUT);
  digitalWrite(13, HIGH);
  tone(5, 2500, 150);    
  delay(200);
  tone(5, 2500, 200);    
}
void loop(){
 
  if (softSerial.available()) {
    com = softSerial.read();
    Serial.println(com);
  }
 
  else if (com == 49) {
  for (int i = 0; i < 10; i++) {
      i += --i;
      if (millis() - last_time > 200) {
        last_time = millis();
        if (millis() - last_time2 > 5) {
          last_time2 = millis();       
        digitalWrite(13, HIGH);
        tone(5, 3000, 200);     
        delay(300);
        tone(5, 3000, 200);      
        digitalWrite(13, LOW);
        delay(300);             
         }        
        }          
      
       if ( ! mfrc522.PICC_IsNewCardPresent()) {
            return;
          }
          // Выбор метки
          if ( ! mfrc522.PICC_ReadCardSerial()) {
            return;
          }
          uidDec = 0;
          // Выдача серийного номера метки.
          for (byte i = 0; i < mfrc522.uid.size; i++)
          {
            uidDecTemp = mfrc522.uid.uidByte[i];
            uidDec = uidDec * 256 + uidDecTemp;
          }
          Serial.println("Card UID: ");
          Serial.println(uidDec); // Выводим UID метки в консоль.
          if (uidDec == 1502014861)  break;        
      }    
    }
  }
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.02.2020, 13:50
Ответы с готовыми решениями:

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

Программа не выходит из цикла
Есть программа: using System; using System.Collections.Generic; using System.Linq; using...

Программа не выходит из цикла
Пытаюсь написать программу на С++, которая должна сравнить 3 слова, и если одно из слов полностью...

Программа не выходит из цикла
Доброго дня комрады! По какой-то причине программа не выходит из цикла и из-за этого не рисуется...

Программа не выходит из цикла
Захотелось познакомиться с языком С, начал реализовывать пример из книги Кернигана Ричи. #include...

12
693 / 303 / 99
Регистрация: 04.07.2014
Сообщений: 846
11.02.2020, 13:58 2
Цитата Сообщение от Kombo Посмотреть сообщение
C++
1
2
for (int i = 0; i < 10; i++) {
      i += --i;
Возьми ручку и листок, посмотри что будет получаться.
1
0 / 0 / 0
Регистрация: 11.02.2020
Сообщений: 3
11.02.2020, 14:04  [ТС] 3
Дело не в этом, компилятор спокойно пропускал.Даже сейчас это исправил всё равно не выходит.
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,523
11.02.2020, 20:44 4
Цитата Сообщение от Kombo Посмотреть сообщение
Дело не в этом, компилятор спокойно пропускал.
а чеб ему не пропускать? ошибок то нет
у тебя i всегда равно 0
Цитата Сообщение от Kombo Посмотреть сообщение
Даже сейчас это исправил всё равно не выходит.
покажи как
0
0 / 0 / 0
Регистрация: 11.02.2020
Сообщений: 3
12.02.2020, 08:00  [ТС] 5
Так и нужно что-бы цикл был бесконечный.Мне нужно при определённом условии выходить из него и всё, но break почему-то не срабатывает.
0
управление сложностью
1687 / 1300 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
12.02.2020, 10:55 6
Цитата Сообщение от Kombo Посмотреть сообщение
Так и нужно что-бы цикл был бесконечный.
У вас не самый лучший вариант цикла для этих целей, ознакомьтесь с другими
Цитата Сообщение от Kombo Посмотреть сообщение
но break почему-то не срабатывает
Как вариант - не срабатывает условие

Добавлено через 15 секунд
Цитата Сообщение от Kombo Посмотреть сообщение
Так и нужно что-бы цикл был бесконечный.
У вас не самый лучший вариант цикла для этих целей, ознакомьтесь с другими
Цитата Сообщение от Kombo Посмотреть сообщение
но break почему-то не срабатывает
Как вариант - не срабатывает условие
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,523
12.02.2020, 11:02 7
Лучший ответ Сообщение было отмечено Kombo как решение

Решение

Цитата Сообщение от Kombo Посмотреть сообщение
Так и нужно что-бы цикл был бесконечный.Мне нужно при определённом условии выходить из него и всё,
так бесконечный или выходить?
открой для себя while, do-while
Цитата Сообщение от Kombo Посмотреть сообщение
но break почему-то не срабатывает.
может из-за этого
Цитата Сообщение от Kombo Посмотреть сообщение
C
1
2
3
4
for (int i = 0; i < 10; i++) {
      i += --i;
  ........
   for (byte i = 0; i < mfrc522.uid.size; i++)
вложенный цикл, с той же переменной
Цитата Сообщение от ValeryS Посмотреть сообщение
у тебя i всегда равно 0
уже даже не уверен
0
4393 / 2243 / 252
Регистрация: 28.10.2011
Сообщений: 8,574
Записей в блоге: 6
12.02.2020, 14:30 8
Цитата Сообщение от ValeryS Посмотреть сообщение
открой для себя while, do-while
Так и for подойдет.
C
1
for (;;)
0
управление сложностью
1687 / 1300 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
12.02.2020, 14:43 9
Так и с GoTo можно провернуть, а смысл ?
0
4393 / 2243 / 252
Регистрация: 28.10.2011
Сообщений: 8,574
Записей в блоге: 6
12.02.2020, 14:56 10
Цитата Сообщение от Почтальон Посмотреть сообщение
Так и с GoTo можно провернуть, а смысл ?
У ТС изначально цикл for и прще его подправить чем менять на другой.

Цитата Сообщение от ValeryS Посмотреть сообщение
вложенный цикл, с той же переменной
Си это допускает. Разная область видимости.
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,523
12.02.2020, 17:42 11
Цитата Сообщение от locm Посмотреть сообщение
Разная область видимости.
как бы знаю
а вот как отнесется к этому твой любимый отладчик
Цитата Сообщение от locm Посмотреть сообщение
У ТС изначально цикл for и прще его подправить чем менять на другой.
ТС алгоритм бы поправить
0
4393 / 2243 / 252
Регистрация: 28.10.2011
Сообщений: 8,574
Записей в блоге: 6
12.02.2020, 18:19 12
Цитата Сообщение от ValeryS Посмотреть сообщение
а вот как отнесется к этому твой любимый отладчик
Нормально отнесется.
Миниатюры
[C++] Программа не выходит из цикла  
1
693 / 303 / 99
Регистрация: 04.07.2014
Сообщений: 846
14.02.2020, 13:20 13
Цитата Сообщение от Kombo Посмотреть сообщение
Так и нужно что-бы цикл был бесконечный.Мне нужно при определённом условии выходить из него и всё, но break почему-то не срабатывает.
1. Функция loop() и так вызывается постоянно. Можно считать, что это выглядит как-то так:

C++
1
2
3
4
5
6
7
8
while(true) {
  служебная_функция_1();
  служебная_функция_2();
  служебная_функция_3();
  loop();
  служебная_функция_4();
  служебная_функция_5();
}
2. Нельзя делать бесконечные и долгие циклы в коде loop(), т.к. это не даёт вызывать важные функции системы.
Как следствие, вызов библиотечных функций может дать не тот результат, на который ты надеешся.

3. Воспользуйся автоматным программированием на состояниях.
1
14.02.2020, 13:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.02.2020, 13:20
Помогаю со студенческими работами здесь

Программа выходит из цикла раньше
Здравствуйте. Есть цикл, но программа выходит из него раньше чем выполнится условие zak1 &lt; 0...

Программа не выходит из цикла с меткой mongame
Если ответить &quot;STOP&quot;, то вечный цикл должен остановится и нам скажут &quot;Спасибо за игру!&quot;, го что-то...

Программа не выходит из последнего цикла (Asm + Си)
Здравствуйте, мне надо очень срочно найти ошибку. Программа не выходит из последнего цикла((( ...

Программа не выходит из цикла проверки знака
Здравствуйте!Был написан код,отвечающий за перевод введенного количества секунд в чч:мм:сс.Есть...

Программа выходит из цикла после первой итерации
Здравствуйте. У меня проблемка суть задачи в целом в том, что бы перенести из одного листа на...

Алгоритм Лемпела-Зивы. Программа не выходит из цикла
Данная программа реализует (почти) Алгоритм Лемпела-Зивы #include &lt;vector&gt; #include &lt;string&gt;...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru