Erreur calculatrice à base de switch

Résolu
Messages postés
5
Date d'inscription
mardi 8 août 2006
Statut
Membre
Dernière intervention
11 décembre 2006
-
Messages postés
5
Date d'inscription
mardi 8 août 2006
Statut
Membre
Dernière intervention
11 décembre 2006
-
Bonjour,

La compilation de mon code me renvoie deux erreurs dont je n'arrive pas a determiner la cause.
Pourriez-vous m'aider?

Merci d'avance.

///////////////////////////////////////////////////////////////////////////////////

#include <stdio.h>

int main()

{
   
float A1,A2,A0;
char operation;

A1=0;
A2=0;
A0=0;

    puts("Tapes ton opération a deux termes uniquement\n");
    scanf("%lf%c%lf", &A1, &operation, &A2);

    switch (operation)

        {
            case'+': A0 = A1 + A2;

                printf("%lf%c%lf=%lf", A1, operation, A2, A0);
                break;

            case'-': A0 = A1 - A2;
           
                printf("%lf%c%lf=%lf", A1, operation, A2, A0);
                break;
           
            case'*': A0 = A1 * A2;
               
                printf("%lf%c%lf=%lf", A1, operation, A2, A0);
                break;

            case'/': A0 = A1 / A2;
                printf("%lf%c%lf=%lf", A1, operation, A2, A0);
                break;
               
            default: puts"Erreur";

        }

    return 0;
}

//////////////////////////////////////////////////////////////////////////////////////////////////

Voila les erreurs retournées :

error C2143: syntax error : missing ';' before 'string'
warning C4550: expression evaluates to a function which is missing an argument list

3 réponses

Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
22 août 2010
10
puts"Erreur";

puts est une fonction, faut mettre puts("Erreur");

_____________________________________
Un éditeur de ressources gratuit pour Windows
Messages postés
5
Date d'inscription
mardi 8 août 2006
Statut
Membre
Dernière intervention
11 décembre 2006

Mince encore une erreur de débutant (ou d'inatention d'ailleurs).

Par contre a présent le programme ne donne absolument le resultat voulu :

1+1 me renvoie par exemple

1.875000+0.000000=1.875000  ????

Je soupconne une erreur dans mes modificateurs ou dans mes types?
Messages postés
5
Date d'inscription
mardi 8 août 2006
Statut
Membre
Dernière intervention
11 décembre 2006

Reflexion faite effectivement il faut que je declare mes variables de calcul A0 A1 et A2 en tant que long double et non float.

Merci vecchio56