Comment se fait-il que mon code n'imprime pas le int
appelé coins
? Je ne vois aucune erreur lors de l'exécution du système de débogage.Mon code n'imprime pas la variable appelée pièces
#include <cs50.h>
#include <stdio.h>
int main(void)
{ // getting the user validation
printf("please enter a amount of change \n");
int change = get_int();
int coins = 0;
if (change > 0 && change <= 0 && change != 0)
printf("Change: %i\n", change);
if (change > 0)
{
printf("Change: %i\n", change);
}
if (change < 0)
{
printf("please enter a positve number \n");
}
if (change == 0)
{
printf("Coins: 0 \n");
}
//were it counts the amount of coins
float changef = (int)change;
float qaurter = 0.25;
float dime = 0.10;
float nickel = 0.05;
float penny = 0.01;
while (changef/qaurter)
{
coins++;
return changef - qaurter;
}
while (changef/dime)
{
coins++;
return changef - dime;
}
while (changef/nickel)
{
coins++;
return changef - nickel;
}
while (changef/penny)
{
coins++;
return changef - penny;
}
printf("Coins: %i\n",coins);
}
Dans 'if (changez> && change <= 0 && change! = 0) 'les deux premières conditions ne peuvent pas être toutes les deux vraies. –
S'il vous plaît apprendre à formater votre code, et le poster formaté. C'est énervant de lire du code non formaté. Utilisez '%' qui est l'opérateur du module. A côté, que voulez-vous dire par "n'est pas l'impression?" Lorsque vous traitez avec des devises, vous ne devriez pas utiliser 'float' et' doubles', cela conduirait à des résultats erronés à long terme. – Pablo
Veuillez lire [Est-ce que le calcul à virgule flottante est cassé?] (Https://stackoverflow.com/questions/588004/is-floating-point-math-broken) Il y a * beaucoup de * questions "de changement" ici. Il est rarement satisfaisant d'utiliser des types à virgule flottante. –