Top.Mail.Ru
Ответы

Товар стоит a руб. b коп. За него заплатили c руб. d коп. Сколько сдачи требуется получить? Необходимо вывести 2 числа

12345678910111213141516171819202122232425
  
#include<iostream> 
#include <cmath> 
using namespace std; 
 
int main(){ 
    int r1,k1,r2,k2,rubley,kopeek; 
    cin>>r1>>k1>>r2>>k2; 
    if (kopeek < 1){ 
    kopeek += 100; 
    rubley --; 
    cout<<"Рублей : "<<rubley <<"Копеек: "<<kopeek; 
    }else if (kopeek > 100){ 
     kopeek -= 100; 
     rubley ++; 
     cout<<"Рублей : "<<(rubley) <<"Копеек: "<<kopeek; 
    }else{ 
     rubley = r2 - r1; 
     kopeek = k2 - k1; 
     
     cout<<"Рублей : "<<rubley <<"Копеек: "<<kopeek; 
    } 
    return 0; 
} 
    

Что делаю не так? Реализовал функцию в else if, задал значения 80,200,90,310 - выдаёт -1 рубль 100 копеек, хотя по сути должен вывести 11 рублей 10 копеек

По дате
По рейтингу
Аватар пользователя
Новичок
12345678910111213141516171819202122232425262728293031323334353637383940414243
 #include <iostream> 
using namespace std; 
long long input(istream& inp, const char* msg) { 
    cout << msg; 
    long long value; 
    inp >> value; 
    inp.ignore(0x1000, '\n'); 
    return value; 
} 
class Money { 
public: 
    Money() : money(0) {} 
    Money(const long long value) : money(value) {} 
private: 
    long long money; 
    friend istream& operator>>(istream& inp, Money& m) { 
        const auto rub = input(inp, "Рублей: "); 
        const auto kop = input(inp, "Копеек: "); 
        m.money = rub * 100LL + kop; 
        return inp; 
    } 
    friend ostream& operator<<(ostream& out, const Money& m) { 
        out << "Рублей: " << m.money / 100LL << '\n'; 
        out << "Копеек: " << m.money % 100LL << '\n'; 
        return out; 
    } 
    friend Money& operator-=(Money& a, const Money& b) { 
        if (a.money < b.money) puts("Недостаточно средств!"); 
        else a.money -= b.money; 
        return a; 
    } 
}; 
int main() { 
    puts("У вас в кошельке:"); 
    Money wallet; 
    cin >> wallet; 
    puts("Стоимость покупки:"); 
    Money purchase; 
    cin >> purchase; 
    wallet -= purchase; 
    puts("Остаток средств:"); 
    cout << wallet; 
}