Programmation en c++

Discutez d'informatique ici !
missdream
Messages: 9
Enregistré le: 13 Sep 2009, 02:28

programmation en c++

par missdream » 14 Sep 2009, 21:53

:triste:
Bonjour,je sais que c facile pour vous autres mais moi je trouve compliquer aidez moi plzz...
Écrire un programme qui lit et calcule le résultat de l'opération et affiche celui-ci à l'ecran.
+ 5 2.19
Le programme répond:
5+2.19=7.19
Et le programme doit accepter +,-,*,/.
merci d avance



bombastus
Membre Complexe
Messages: 2295
Enregistré le: 29 Nov 2007, 21:35

par bombastus » 15 Sep 2009, 11:33

Salut,

as-tu commencé à coder quelque chose (ou à réfléchir à l'algorithme)?

Dominique Lefebvre
Membre Légendaire
Messages: 8005
Enregistré le: 03 Déc 2005, 12:00

par Dominique Lefebvre » 15 Sep 2009, 12:47

Bonjour,

As-tu écris ton algo en pseudo-code avant de penser à coder?

missdream
Messages: 9
Enregistré le: 13 Sep 2009, 02:28

par missdream » 15 Sep 2009, 13:49

#include
using namespace std;
int main() {
double a;
double b;
double val;


cin>>a>>b;
if (val=a+b)
cout<<"a+b="< else if (val=a-b)
cout<<"a-b="< else if (val=a*b)
cout<<"a*b="< else if (val=a/b)
cout<<"a/b="<
}

missdream
Messages: 9
Enregistré le: 13 Sep 2009, 02:28

par missdream » 15 Sep 2009, 13:49

c ce que je fait mais ca donne pas le resultat que je veux je sais pas ou est mon erreur plzzz :cry:

abcd22
Membre Complexe
Messages: 2426
Enregistré le: 13 Jan 2006, 14:36

par abcd22 » 15 Sep 2009, 14:49

missdream a écrit:
Code: Tout sélectionner
    double val;
    [...]
    if (val=a+b)
        cout<<"a+b="<<val<<endl;
    else if (val=a-b)
        cout<<"a-b="<<val<<endl;
    else if (val=a*b)
        cout<<"a*b="<<val<<endl;
    else if (val=a/b)
        cout<<"a/b="<<val<<endl;

Il y a plusieurs erreurs :
1) Tu as fait des assignations au lieu de tests d'égalité dans tes if (val=a+b au lieu de val == a + b), du coup quand tu lances le programme, l'ordinateur arrive au premier if, calcule a + b, attribue le résultat à val, si tout c'est bien passé le résultat du « test » est OK, donc il exécute la ligne suivante « cout<<"a+b="<<val<<endl; » puis on sort du if et le reste du programme n'est jamais lu.
2) val n'est pas initialisé, comment pourrait-il être égal à quoi que ce soit ?
3) pour connaître l'opération à faire, il faut lire l'opération à faire qu'on a donnée en entrée, là tu lis seulement a et b (et si j'ai bien compris, tu vas te retrouver avec par exemple a == + et b == 2 si tu entres + 2 3).

missdream
Messages: 9
Enregistré le: 13 Sep 2009, 02:28

re

par missdream » 15 Sep 2009, 15:22

ba j'ai pas trop compris la on pourrai m envoyais parce que ca marchait avec (val=)
alors que (val==) marche pas je suis desesperéee :hein:

abcd22
Membre Complexe
Messages: 2426
Enregistré le: 13 Jan 2006, 14:36

par abcd22 » 15 Sep 2009, 15:28

Il faut corriger toutes les erreurs que j'ai dites, pas seulement la première... Ce n'est pas parce que « val= » ne donne pas de message d'erreur que le programme est correct...

missdream
Messages: 9
Enregistré le: 13 Sep 2009, 02:28

par missdream » 15 Sep 2009, 22:34

ah ok fallait me dire mettre char=c :id:
je l'ai trouvé c t debile mais ca arrive merci pareil

buzard
Membre Relatif
Messages: 274
Enregistré le: 22 Mai 2006, 14:29

par buzard » 18 Sep 2009, 09:01

bonjour missdream,

cela dépend de ton niveau en programmation. c'est pourquoi et dans quel cadre (l'école, ta curiosité personnel, ...)

moi ce que je comprend de ton énnoncé c'est que tu doit transformer une expresion en notation préfixé en une exprexion en notation infixé.

cela se fait généralement par la construction puis le parcourt d'un arbre (binaire la plupart du temps)

en gros, je répondrais à ce problème par un algorithme du genre :

1. Tant qu'il y a des lignes
1.1. Lire la ligne courante
1.2. analyser la ligne --> construire l'arbre de l'expression
1.3. parcourir l'arbre --> évaluer l'expression de l'arbre
1.4. parcourir l'arbre --> écriture de l'expression en forme infixe
1.5. afficher les résultats

tu peut optimiser en faisant les étapes 1.3 et 1.4 en un seul parcourt. pour ce genre d'exercice j'utiliserai plutôt le langage caml. qui justement donne une meilleurs vision du problème.

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 5 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite