07. Operations Between Numbers - Conditional Statements Advanced - Exercise
Здравейте колеги, имам въпрос относно тази задача, в Judge получавам 70/100 точки и знам къде е грешката в самата задача и съответно и откъде идва липсата на тези 30 точки. Опитвах единствено с if - else не съм пробвал със switch както беше направена задачата от урока, но я направих по същич начин с if-else конструкция и пак не става. Грешката идва при деленето с два Int-а, при което добавям 1.0 за да може да има и double число и пак ми изкарва краен резултат int. Ako може някой да прегледа задачата и да ми каже къде и как да поправя грешката или грешките ще съм много благодарен. Хубав ден на всички. :)
#include <iostream>
using namespace std;
int main()
{
int number1, number2;
char symbol;
cin >> number1 >> number2 >> symbol;
int sum, diff, mult, div, percent;
if(symbol == '+'){
sum = number1 + number2;
if(sum % 2 == 0){
cout << number1 << " " << symbol << " " << number2 << " = " << sum << " - even" <<endl;
} else if(sum % 2 != 0)
cout << number1 << " " << symbol << " " << number2 << " = " << sum << " - odd" <<endl;
} else if(symbol == '-'){
diff = number1 - number2;
if(diff % 2 == 0){
cout << number1 << " " << symbol << " " << number2 << " = " << diff << " - even" <<endl;
} else if(diff % 2 != 0)
cout << number1 << " " << symbol << " " << number2 << " = " << diff << " - odd" <<endl;
} else if(symbol == '*'){
mult = number1 * number2;
if(mult % 2 == 0){
cout << number1 << " " << symbol << " " << number2 << " = " << mult << " - even" <<endl;
} else if(mult % 2 != 0)
cout << number1 << " " << symbol << " " << number2 << " = " << mult << " - odd" <<endl;
} else if(symbol == '/'){
if(number2 == 0){
cout << "Cannot divide " << number1 << " by zero" << endl;
} else if(number2 != 0){
div = number1 / number2 * 1.0;
cout.setf(ios::fixed);
cout.precision(2);
cout << number1 << " " << symbol << " " << number2 << " = " << div << endl;
}
} else if(symbol == '%'){
if(number2 == 0){
cout << "Cannot divide " << number1 << " by zero" << endl;
} else if(number2 != 0){
percent = number1 % number2;
cout << number1 << " " << symbol << " " << number2 << " = " << percent << endl;
}
}
}