更改计数器c程序不显示正确的输出

  • 本文关键字:输出 显示 计数器 程序 c
  • 更新时间 :
  • 英文 :


我正在开发一个更改计数器程序,我被卡住了,我已经搜索了这里和其他2个编码论坛,谷歌和youtube,但还没有找到答案。。。我的程序很糟糕,我对c/c++是个新手。。。我的txt书还没有到,所以我正在努力阅读我能拿到的每一本书,直到它到达

这就是控制台窗口中的输出:

Welcome to Change Counter by Jo Mama!!
Please enter the total amount of purchase: $52.173
$52.173
Please enter amount of money tendered: $60
$60.00
Your change is: $7.83
-------------------------------------------
Twenties : 0
Tens : 0
Fives : 1
Ones : 2
Quarters : 3
Dimes : 0
Nickels : 1
Pennies : 3
-------------------------------------------
Thank you for using Change Counter!

这是我迄今为止所拥有的。。。

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main(void)
{
// define variables here
long double numberOfTwenties = 0;
long double numberOfTens = 0;
long double numberOfFives = 0;
long double numberOfOnes = 0;
long double numberOfQuarters = 0;
long double numberOfDimes = 0;
long double numberOfNickels = 0;
long double numberOfPennies = 0;
double purchasePrice = 0;
double amountTendered = 0;
double amountOfChange = 0;
double amountOfChangeCents = 0;
// start program here
printf("Welcome to the change counter by Josh Manion!!nn");
printf("Please enter the total amount of purchase: $");
scanf("%d", &purchasePrice);
printf("%dn", purchasePrice);
printf("Please enter amount of money tendered: $");
scanf("%d", &amountTendered);
printf("%dn", amountTendered);
//do change calculations here
amountOfChange = (amountTendered - purchasePrice);
printf("Your change is: $%dn", amountOfChange);
numberOfTwenties = amountOfChange / 20;
//amountOfChange = numberOfTwenties %= amountOfChange;
numberOfTens = (amountOfChange / 10);
numberOfFives = (amountOfChange / 5);
numberOfOnes = (amountOfChange / 1);
numberOfQuarters = (amountOfChange * 0.25);
// print change calculations here

printf("---------------------------------------------n");
//display denominations of change here
printf("Twenties: %dn", numberOfTwenties);
printf("Tens: %dn", numberOfTens);
printf("Fives: %dn", numberOfFives);
printf("Ones: %dn", numberOfOnes);
printf("Quarters: %dn", numberOfQuarters);
printf("Dimes: %dn", numberOfDimes);
printf("Nickels: %dn", numberOfNickels);
printf("Pennies: %dn", numberOfPennies);
printf("---------------------------------------------n");
printf("Thank you for using the Change Counter!");
getchar();
return EXIT_SUCCESS;
}

问题是我的程序不起作用,它显示提示后的零钱,但没有显示面额的明细,我倾向于使用"%"来降低零钱金额,但我没有找到任何例子。我不知道还能说什么。。。此外,我是新来的,这个帖子会帮助很多人。。。

您的程序有未定义的行为:您必须使用%Lf作为printf修饰符来打印long double(与您使用scanf的问题相同)

最新更新