• C

Bills

User enters dollar amount as float
output should be the highest number of bills and coins (TWENTIES, TENS, FIVES, ONES, quarters, dimes, nickels, pennies). Any help is appreciated.

#include <stdio.h>

void main()
{
      unsigned TWENTIES, TENS, FIVES, ONES, quarters, dimes, nickels, pennies;
      float amount_user;

      printf("Enter Dollar amount between $0.00 and $100.00:");
      scanf("%d", &amount_user);
      amount_user=amount_user*100;
      printf("%d, amount_user\n");

      while (amount_user !=0)
      {
            if(amount_user>=2000)
            {
                  amount_user=amount_user/2000;
                  
            }
            else if(amount_user>=1000)
            {
                  amount_user-=1000;
                  TENS++;
            }
            else if(amount_user>=500)
            {
            amount_user-=500;
            FIVES++;
            }
            else if(amount_user>=100)
            {
            amount_user-=100;
            ONES++;
            }
            else if(amount_user>=25)
            {
            amount_user-=25;
            quarters++;
            }
            else if(amount_user>=10)
            {
            amount_user-=10;
            dimes++;
            }
            else if(amount_user>=05)
            {
            amount_user-=5;
            nickels++;
            }
            else if(amount_user>=1)
            {
            amount_user-=1;
            pennies++;
            }
            else
            {
                  break;
            }
      }
      printf("There are %d TWENTIES\n", TWENTIES);
      printf("There are %d TENS\n", TENS);
      printf("There are %d FIVES\n", FIVES);
      printf("There are %d ONES\n", ONES);
      printf("There are %d quarters\n", quarters);
      printf("There are %d dimes\n", dimes);
      printf("There are %d nickels\n", nickels);
      printf("There are %d pennies\n", pennies);
}






catalyst19002800Asked:
Who is Participating?
 
julio011597Connect With a Mentor Commented:
I guess you mean "the best efficient" way to distribute the amount among bills and coins.

--//--
#include <stdlib.h>
#include <stdio.h>

int main(void)
{
  unsigned int TWENTIES, TENS, FIVES, ONES, quarters, dimes, nickels, pennies;
  unsigned int amount_user;

  while(1)  {
    float tmp_amount;

    printf("Enter amount between $0.00 and $100.00: ");
    scanf("%f", &tmp_amount);
    if(tmp_amount >=0 && tmp_amount <= 100) {
      amount_user = (unsigned int)(tmp_amount * 100);
      break;
    }
  }

  TWENTIES = TENS = FIVES = ONES =
    quarters = dimes = nickels = pennies = 0;

  while(amount_user >= 2000) {
    amount_user -= 2000;
    TWENTIES++;
  }

  while(amount_user >= 1000) {
    amount_user -= 1000;
    TENS++;
  }

  while(amount_user >= 500) {
    amount_user -= 500;
    FIVES++;
  }

  while(amount_user >= 100) {
    amount_user -= 100;
    ONES++;
  }

  while(amount_user >= 25) {
    amount_user -= 25;
    quarters++;
  }

  while(amount_user >= 10) {
    amount_user -= 10;
    dimes++;
  }

  while(amount_user >= 5) {
    amount_user -= 5;
    nickels++;
  }

  while(amount_user >= 1) {
    amount_user -= 1;
    pennies++;
  }

  printf("There are %d TWENTIES\n", TWENTIES);
  printf("There are %d TENS\n", TENS);
  printf("There are %d FIVES\n", FIVES);
  printf("There are %d ONES\n", ONES);
  printf("There are %d quarters\n", quarters);
  printf("There are %d dimes\n", dimes);
  printf("There are %d nickels\n", nickels);
  printf("There are %d pennies\n", pennies);

  return EXIT_SUCCESS;
}
--//--

HTH, julio
0
 
q2guoCommented:
catalyst19002800 what you mean by "the highest number of bills and coins".

0
 
rsjettyCommented:
Your objective can be achieved in about 10 lines of C code, using a simple "for' loop
for more details , get back to me.
-rsjetty
0
Improve Your Query Performance Tuning

In this FREE six-day email course, you'll learn from Janis Griffin, Database Performance Evangelist. She'll teach 12 steps that you can use to optimize your queries as much as possible and see measurable results in your work. Get started today!

 
rsjettyCommented:
Your objective can be achieved in about 10 lines of C code, using a simple "for' loop
for more details , get back to me.
-rsjetty
0
 
catalyst19002800Author Commented:
This was mostly correct but some of the answers were wrong and that was fixed. One too little peenies. Anyway, I played around with the last While(---) and got it fixed. Thanks for your help.
0
 
julio011597Commented:
Would you mind telling what was wrong, and what has been your fix?
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.