Pooja would like to withdraw X \$US from an ATM. The cash machine will only accept the transaction if X is a multiple of 5, and Pooja’s account balance has enough cash to perform the withdrawal transaction (including bank charges). For each successful withdrawal the bank charges 0.50 \$US. Calculate Pooja’s account balance after an attempted transaction.
#include <stdio.h>

int main(void)
{
int x;
float y,z;

``````scanf("%d",&x);
scanf("%f",&y);
``````

if(x%5==0)
{
if(x<y)
{
if(0<x&&x<=2000&&0<y&&y<=2000)
{

``````          z=y-x-0.5;
printf("%.2f",z);
}

}
if(x==y)
printf("%.2f",y);

if(x>y)
printf("%.2f",y);
``````

}
if(x%5!=0)
printf("%.2f",y);

``````return 0;
``````

}

I am not understanding why you have taken the third if condition since there is no condition specified in the question also for the last if i will recommend to use else instead of if .

There are certain problems with the conditionals. Here, you have added the condition for the amount to be withdrawn to be a multiple of 5 as well as be less than the balance.

But what is the balance is less than the amount to be withdrawn? In you code, you have written like this:-

``````    if(x>y)
printf("%.2f",y);
``````

But the transaction would stand unsuccessful, so it should print a message of being unsuccessful.

It would be much better, if you post an input and an expected output case.