c++ 如何一定時間內忽略重復的答案

本帖最後由 ccw2 於 2015-9-7 17:11 編輯

因為在下新手一名,請多多指教

之前寫的忽略重復的答案的code,感謝各位幫助
http://www.hkepc.com/forum/viewt ... &extra=page%3D2

今次想係一定時間內不重復的code,
例如output為1111112222112(1秒)1212121212111(2秒)
想1同2為出一個function後,一定時間(如5秒)內不作出反應,最後1次出現1或2後的5秒後如出現1同2要作出反應
直到下一次不同的output(數字)出現後才做令一個function
如3出現要立刻作出反應

請問大家應如何寫?
感謝
  1. int number =7;
  2. ..
  3. while(1)
  4. if (output < 6){                                               
  5. int value3 = (output != number);
  6. if (value3 == 1) {
  7. switch (output)
  8. {                                                                                
  9. case 0:
  10. number = 0;
  11. cout << "number = 0 ";
  12. break;
  13. case 1:
  14. number = 1;
  15. cout << "number = 1 ";
  16. break;
  17. case 2:
  18. number = 2;
  19. cout << "number = 2 ";
  20. break;
  21. case 3:
  22. number = 3;
  23. cout << "number = 3 ";
  24. break;
  25. case 4:
  26. number = 4;
  27. cout << "number = 4 ";
  28. break;
  29. case 5:
  30. number = 5;
  31. cout << "number = 5 ";
  32. break;
  33.                                                                         }
  34.                                                                 }
  35.                                                         }
複製代碼

可以整多兩個VAR, 一個用嚟做TIMER, 一個用嚟做BOOL, 以防合符條件後會不斷OUTPUT, 當佢CAST咗TIMER做INT後再%5係0, SET BOOL isDivisibleBy5做1, 再喺LINE 6度加多個條件: value3 == 1 && isDivisibleBy5 == 1
最後係switch (output)前加返isDivisibleBy5 = 0

有錯勿插

TOP

可以整多兩個VAR, 一個用嚟做TIMER, 一個用嚟做BOOL, 以防合符條件後會不斷OUTPUT, 當佢CAST咗TIMER做INT後 ...
wongfung 發表於 2015-9-7 13:40

Sorry,請問可否寫少少code或例子,
因為唔太識寫

TOP