2014-10-11 3 views
0

Я работаю над программой смены счетчика, и я застрял, я искал здесь и еще 2 форума по кодированию, google и youtube, но еще не нашел ответа ... мой программа отстойная, и я новичок в c/C++ ... Моя книга txt еще не создана, поэтому я стараюсь читать каждую вещь, на которую я могу получить свои руки, пока она не станет здесьсменный счетчик c программа не отображает правильный вывод

Это то, быть в окне консоли:

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!!\n\n"); 
printf("Please enter the total amount of purchase: $"); 
scanf("%d", &purchasePrice); 
printf("%d\n", purchasePrice); 
printf("Please enter amount of money tendered: $"); 
scanf("%d", &amountTendered); 
printf("%d\n", amountTendered); 

//do change calculations here 
amountOfChange = (amountTendered - purchasePrice); 
printf("Your change is: $%d\n", 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: %d\n", numberOfTwenties); 
printf("Tens: %d\n", numberOfTens); 
printf("Fives: %d\n", numberOfFives); 
printf("Ones: %d\n", numberOfOnes); 
printf("Quarters: %d\n", numberOfQuarters); 
printf("Dimes: %d\n", numberOfDimes); 
printf("Nickels: %d\n", numberOfNickels); 
printf("Pennies: %d\n", numberOfPennies); 

printf("---------------------------------------------\n"); 
printf("Thank you for using the Change Counter!"); 

getchar(); 
return EXIT_SUCCESS; 
} 

Проблема в том, что моя программа не работает, она показывает изменение после подсказки, но не разбивку деноминаций. Мне посчастливилось использовать «%», чтобы уменьшить сумму изменения, но я не нашел никаких примеров , Я не знаю, что еще сказать ... кроме того, я новичок, и этот пост поможет многим людям ...

ответ

1

Ваша программа имеет неопределенное поведение: вы должны использовать %Lf в качестве модификатора printf для печати long double (такой же вопрос с использованием scanf)

+0

cplusplus.com имеет хороший стол для различных модификаторов: http://www.cplusplus.com/reference/cstdio/printf/ – kay

+0

@Kay Я рекомендую [PRINTF человек страница] (http://linux.die.net/man/3/printf). cplusplus.com иногда нахмурился. –

+0

@remyabel, die.net плохо отформатирован и расширен с рекламой. – kay

Смежные вопросы