Тема: Проблема з використанням маски для символьного типу
Суть задачі в тому, що є два дроби, які описуються в структурному типі. І потім в залежності від знаку з ними треба зробити відповідні математичні дії, а результат подати у вигляді третього дробу того ж структурного типу. Я знаю, як це зробити, але я загруз на введенні символу дії. Підкажіть в чому проблема. Може треба якийсь інший модуль підключити? Чи я не правильно тип char використовую?
Весь код:
#include <cstdlib>
#include <iostream>
using namespace std;
struct TDrib
{
int a;
unsigned int b;
unsigned int c;
} X1, X2, X3;
void read_TDrib (TDrib &k)
{
printf("Input a="); scanf("%d",&k.a);
printf("Input b="); scanf("%d",&k.b);
printf("Input c="); scanf("%d",&k.c);
}
void write_TDrib (TDrib const &k)
{
printf("%d %d/%d,\n",k.a,k.b,k.c);
}
int main ()
{
TDrib X1, X2, X3;
printf("First fraction:\n");
read_TDrib(X1);
write_TDrib(X1);
printf("Second fraction:\n");
read_TDrib(X2);
write_TDrib(X2);
char op;
printf("Input operation:"); scanf("%c",&op);
system("PAUSE");
return EXIT_SUCCESS;
}
Конкретно момент, який не виконується.
char op;
printf("Input operation:"); scanf("%c",&op);