This is what happens if i use %c, it looks like it doesn't follow the if-else if mechanics.
Seams after the do while loop is finished it just skips first scanf, does the else if part and then the 2nd scanf works resulting in:
Welcome to Ironman receipt calculator
Receipt1:
====================
(0)to close
ItemPrice: 10.25
ItemPrice: 10.25
ItemPrice: 0
--------------------
Total cost: 20.50$
Open new receipt? y/n Invalid input, try again!
Open new receipt? y/n y
Receipt2:
====================
(0)to close
ItemPrice:
Yes, this is exactly the expected output if you're using scanf("%c", &choice);. As mentioned earlier in this thread, your intention was most likely to use scanf(" %c", &choice);.
If your textbook doesn't explain what the space character does in scanf, it probably misses on a lot of other C basics.
Indeed, it worked after i tried out what you guyz said i should do. In previous post i was just replying to freddie's question.
By the way IronmanCro, I just tried your program with %c instead of %s
and far as I could tell it worked normally.
That doesn't really mean it wasn't acting up for you though.
What was it doing that was abnormal with %c (if you are still following your thread)?
ok after every "printf" use the centence "fflush(stdout);"
example
---------------------------------------
#include <stdio.h>
int main (){
itn a;
printf ("put something"); fflush(stdout);
scanf("%d",&a);
printf ("you type %d\n",a) fflush(stdout);
return 0}
--------------------------------------
the problem is only in the eclipse, if you run your program in the windows terminal worcs fine