Problème code

Résolu/Fermé
MagicalCaptn Messages postés 2 Date d'inscription samedi 8 août 2015 Statut Membre Dernière intervention 9 août 2015 - Modifié par NHenry le 8/08/2015 à 23:26
VanDog Messages postés 63 Date d'inscription vendredi 17 juillet 2015 Statut Membre Dernière intervention 11 février 2016 - 11 août 2015 à 00:08
Bonjour,

Je débute en C et malgré de nombreuses recherchent je n'ai pas pu trouver de problème dans mon code qui ne marche malheureusement pas, le voici:

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

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

int main ()
{
    int choice = 0;
    double monney, sum;
    
    do
    {
        printf("Quelle conversion souhaitez vous faire ?\n");
        printf("1. Euros --> Francs\n");
        printf("2. Francs --> Euros\n");
        scanf("%d", &choice);
    }while (choice != 0 || choice !=1);
    
    if (choice == 1)
    {
        printf("Quelle somme souhaitez-vous convertir ?\n");
        scanf("%lf", &sum);
        monney = sum * 6.56;
        printf("%f euros vallent %f francs.", sum, monney);
    }
    
    else
    {
        printf("Quelle somme souhaitez-vous convertir ?\n");
        scanf("%lf", &sum);
        monney = sum / 6.56;
        printf("%f francs vallent %f euros.", sum, monney);
    }
    
    return 0;
}


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Merci d'avance.
MagicalCaptn


EDIT: Ajout de la coloration syntaxique.
A voir également:

1 réponse

VanDog Messages postés 63 Date d'inscription vendredi 17 juillet 2015 Statut Membre Dernière intervention 11 février 2016 13
8 août 2015 à 23:00
Bonjour,

Première chose, avant de te répondre; je t'invite à utiliser la balise de code trouvable dans les petits onglets lors de la rédaction; la lecture n'en sera que plus facile pour tout le monde.

Ensuite, j'ai exécuté ton code pour voir ce que signifiait " Ne marche pas ".
Ton problème est-il le suivant : Le programme boucle sans fin sur le menu à deux choix ?

Quoi qu'il en soit pour s'en sortir c'est simple. Tu fais une entrée dans la variable
choice
qui vaut 1 OU 2; mais ton
while
tourne aussi longtemps que cette variable est différente de 1 ou de 2. Dans la mesure où une variable ne contient qu'une seule et unique valeur (enfin un entier ici); ton while est TOUJOURS vrai !
Du coup si
choice
vaut 1 il est différent de 2, s'il vaut 2 il est différent de 1. Ce qu'il te faut, pour valider que choice soit 1 OU 2, c'est qu'il soit "égale à 1 OU égale à 2" ou alors " différent de 1 ET différent de 2", base de la logique ^^
La solution est donc de changer d'opérateur binaire dans ton
while

Ensuite, le programme semble fonctionner :)
0
MagicalCaptn Messages postés 2 Date d'inscription samedi 8 août 2015 Statut Membre Dernière intervention 9 août 2015
9 août 2015 à 19:01
Super merci beaucoup ! J'ai compris mon erreur et cela marche parfaitement !

Bien à toi.
MagicalCaptn
0
VanDog Messages postés 63 Date d'inscription vendredi 17 juillet 2015 Statut Membre Dernière intervention 11 février 2016 13
Modifié par VanDog le 11/08/2015 à 00:08
Aucun problème, si tu rencontres encore des problèmes, n'hésite pas à revenir ou à m'écrire. Bon courage !
Edit: et pense à marquer le sujet résolu ^^
0