Problem here
All submissions for this problem are available.
Problem
Pooja would like to withdraw X USfromanATM.ThecashmachinewillonlyacceptthetransactionifXisamultipleof5,andPooja′saccountbalancehasenoughcashtoperformthewithdrawaltransaction(includingbankcharges).Foreachsuccessfulwithdrawalthebankcharges0.50 US. Calculate Pooja’s account balance after an attempted transaction.
Input
Positive integer 0 < X <= 2000 – the amount of cash which Pooja wishes to withdraw.
Nonnegative number 0<= Y <= 2000 with two digits of precision – Pooja’s initial account balance.
Output
Output the account balance after the attempted transaction, given as a number with two digits of precision. If there is not enough money in the account to complete the transaction, output the current bank balance.
Example – Successful Transaction
Input:
30 120.00
Output:
89.50
Example – Incorrect Withdrawal Amount (not multiple of 5)
Input:
42 120.00
Output:
120.00
Example – Insufficient Funds
Input:
300 120.00
Output:
120.00
Solution
if….else…
#include <iostream>
#include <iomanip>
#include <math.h>
using namespace std;
int main(){
double n, m;
while(cin >> n >> m){
double ans, c;
if(n+0.5 <= m){
c = fmod(n, 5);
if(c == 0){
ans = m - n - 0.5;
cout << fixed << setprecision(2) << ans << endl;
}else{
cout << fixed << setprecision(2) << m << endl;
}
}else{
cout << fixed << setprecision(2) << m << endl;
}
}
return 0;
}