• 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?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

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

0
julio011597Commented:
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

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
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
Powerful Yet Easy-to-Use Network Monitoring

Identify excessive bandwidth utilization or unexpected application traffic with SolarWinds Bandwidth Analyzer Pack.

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
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
C

From novice to tech pro — start learning today.