Простейший код, но работает не так, как хотелось бы. Уже убил полчаса на поиски истины.
Если я ввожу одну букву(кроме q), весь цикл повторяется дважды, не спрашивая меня ни о чём. Если две, то цикл while повторяется трижды, не запрашивая меня нажать ENTER. С cin.get, cin.getline та же история. cin не предлагать, т.к. он ждёт, пока не введёшь что-нибудь перед нажатием ENTER.
#include <iostream>
#include <stdio.h>
#include "dice.h"
using std::cout;
using std::endl;
using std::cin;
int main(int argc, char *argv[]) {
Dice dice[3];
char c;
while(true){
cout << "Press ENTER to throw " << Dice::numOfDices << " dices (q for exiting): ";
if((c=getchar()) == 'q'){
break;
}else{
for(unsigned int i=0; i< Dice::numOfDices; i++) {
dice[i].throwNow();
cout << "Dice#" << i+1 << " has " << dice[i].getCurrentNumber() << endl;
}
}
}
return 0;
}
/*
Press ENTER to throw 3 dices (q for exiting): :)
Dice#1 has 4
Dice#2 has 3
Dice#3 has 3
Press ENTER to throw 3 dices (q for exiting): Dice#1 has 5
Dice#2 has 1
Dice#3 has 4
Press ENTER to throw 3 dices (q for exiting): Dice#1 has 4
Dice#2 has 3
Dice#3 has 2
Press ENTER to throw 3 dices (q for exiting):
*/
Ответ на:
комментарий
от Selecter

Ответ на:
комментарий
от voiD

Ответ на:
комментарий
от anonymous

Ответ на:
комментарий
от Selecter

Ответ на:
комментарий
от Selecter
Ответ на:
комментарий
от Selecter
Ответ на:
комментарий
от Selecter

Ответ на:
комментарий
от anonymous

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум График(gnuplot) закрывается без ожидания c cin (c++ ) (2015)
- Форум Что не так с кодом? (2011)
- Форум Код C++ для Линукс. Ожидание нажатия клавиши Enter (2018)
- Форум C++ iostream::failbit (2005)
- Форум C++/exceptions - деление на ноль не ловиццо, почему? (2006)
- Форум не пойму что за ошибка. (2015)
- Форум ввод/вывод вектора указателей (2013)
- Форум Сравнение строки с шаблоном посимвольно и вернуть результат (2017)
- Форум C++: перенос программы в Astra Linux (2022)
- Форум C++ простая программа (2014)