Я делаю программу, в которой пользователь вводит два двоичных числа и символ операции, а затем я печатаю вывод в десятичном виде. Я хочу, чтобы l oop продолжал работать, пока пользователь не введет quit. Как я могу прочитать, если пользователь вводит quit, а не целочисленное значение в scanf? Есть ли способ поймать это?
#include <stdio.h>
#include <string.h>
int toDecimal(int num);
int main(){
// Define variables
int num1, num2, result = 0;
char op;
char run[4] = "go";
// While loop to rerun program until quit is entered
while(strcmp(run, "quit\n") != 0){
// Reads user input
scanf("%i %c %i", run, &num1, &op, &num2);
printf("\nnum1: %i num2: %i op: %c\n", num1, num2, op);
num1 = toDecimal(num1);
num2 = toDecimal(num2);
printf("\nnum1: %i num2: %i op: %c\n", num1, num2, op);
}
printf("\nGoodbye!\n");
return 0;
}
Я считаю, что я могу прочитать все в виде строки, а затем преобразовать в целое число, однако я не знаю, как. Это решение, которое я должен изучить?