Хотя я не до конца понял ваш вопрос, версия вашей программы на C ++ будет выглядеть примерно так (при условии, что hasil
должно быть result
):
#include <iostream>
int main() {
int a,b,i;
std::string result;
std::cin >> a >> b;
for (i=1; i<=10; i++) {
std::cout << "5" << std::endl;
std::cin >> result;
if (result == "congratulation") break;
}
return 0;
}
Обратите внимание, что std::endl
эквивалентно '\n' << std::flush
и, следовательно, оба помещают конец строки и вызывают .flush()
в потоке (что является вашим fflush
эквивалентом).
На самом деле, чтобы получить реальный эквивалент вашего scanf
вызова(и не нажимайте ввод между a и b), вам нужно сделать что-то вроде:
#include <sstream>
...
std::string line;
std::cin >> line;
std::istringstream str(line);
str >> a >> b;