Bonjour , avant de rigoler ( oui je vous vois déjà venir ) Sachez que j'ai commencé à apprendre aujourd'hui ( avec le livre du sdz en pdf ) et bref je me suis arrêté à la partie sur les structures de contrôle et j'ai fais ça c'est très simple je sais mais c'est déjà quelque chose pour moi étant mon tout premier programme j'aimerais donc vos avis sur le code.
J'aimerais aussi savoir si c'est bon pour un début etc.
Le code : http://pastebin.com/JJxvJFLV
Le programme : https://www.mediafire.com/folder/undefined/
Voilà , merci d'avance !
Le code est beaucoup trop long pour ce que c'est, je te ferais un truc demain.
Coucou GoogleChrome, tu sais qui je suis ?
Ça te dit rien "Happash" ??
KOM T 1 AKEUR OMG
Bref, j'arrête de'm foutre de t'as pauvre gueule de marche mallow défoncé
Au faite, je suis freeman(patate vanille), je sais pas si tu te rappelle de moi
Comme par hasard moi aussi j'apprend le C++, et comme par hasard je suis le même cours que toi
Pour couronné le tout je suis à la même partis que toi, structure de contrôle
Et je trouve le C++ assez compliqué, beaucoup de chose à retenir mais , c'est en forgon qu'on devient forgeron !
Je peux pas vraiment te donner mon avis , étant moi même débutant en C++, mais jtrouve ça cool de te retrouver, ça fait un bay que j'avais pas de nouvelle de toi
En garde le contacte en tout cas
Ya même les MPs pour se faire dey bizous
Blague à part, le premier truc qui me choque dans ton programme c'est la redondance de code (à éviter à tout prix dès que possible en programmation... c'est prompt à tous les malheurs du monde). Tu n'as pas besoin de répéter le code présent entre do { et } while(...);, normalement... c'est même pour ça que cette structure de contrôle est faite.
Gleuh : oh merci
rangerprice : Tu me dis quelque chose mais j'arrive plus à me souvenir
Je me disais bien que j'avais juste à mettre une fois le code entre do et while et supprimer ce qu'il y a au dessus mais j'y au pensé dans mon lit
Fait attention à ton indentation, impose toi des règles de structures, parce que parfois c'est illisible.
regarde aussi les instructions qui se repetent dans ton do while, et demande toi comment tu pourrais faire pour les avoir en un seul exemplaire au lieu de les repeter dans chaque branche de if
puisqu'au final, que ce soit pour la soustraction, la multiplication, division et addition, tu demandes 2 nombres, quelque soit l'operations
puis tes variables, tu les déclares dans tout les cas aussi (sauf cas où pas d'operations) donc autant prendre toutes ces instructions qui se repetent, et les mettre en un seul exemplaire avant tes if, ton code sera déjà bien moins long, et mieux à lire
Bon j'ai édité vite fait je pense que c'est déjà mieux non ? : http://pastebin.com/f5wFCbq4
J'ai fais une autre edit en suivant tes conseils densha
http://pastebin.com/ZV9EUruC
Il est vrais qu'on utilise à chaque fois deux nombres donc j'ai déclaré ma variable plus haut pour ne pas avoir à le refaire à chaque fois !
" while (choix != "addition","soustraction","division","multiplicati
on","rien");
"
=> Haha ça compile ce machin-là ? En C++, ça m'étonnerait...
Btw tu peux en profiter pour indenter ton code, et tu peux même encore factoriser tous tes if qui font tous pratiquement la même chose.
oui ça compile et pire , ça fonctionne
Bon j'ai un petit soucis dans les calculs si on tape autre chose qu'un nombre , ça fait bugger le programme
http://prntscr.com/46sxf0
ça défile à l'infin j'ai " contré " ce problème en ajoutant && resultat == 0); dans mon while mais je voulais que ça relance la condition et là ça se contente de fermer le prpgramme je comprend pas tellement pourquoi
Mon nouveau code : http://pastebin.com/BpzpR2ud
ou alors je sais pas si y'a moyen de bloquer les lettres et de mettre le possibilité d'utiliser que les chiffres.
Excusez moi pour les 40 posts à la suite.
mais je viens d'y penser si je tape un chiffre au premier nombre et que je tape un lettre après ça bugg donc mon truc du resultat == 0); ne sert à rien il faut que j'arrive à "interdire les lettres " et aussi j'ai fais une erreure c'était pas && mais ||.
ce que tu fais là dans ta boucle c'est
http://pastebin.com/UNqJ5rQm
pourquoi ne pas mettre en un seul exemplaire le "entrer deux nombres" présent dans chacune de tes branches et ensuite seulement tu fais l'operation selon le choix, ce sera plus propre
pour la verification de l'entrée de l'utilisateur, tu peux faire une boucle à laquelle tu ne sors pas tant que l'utilisateur n'a pas entré une valeur valide
oula je vois ce que tu veux dire genre on à juste à taper
5-2 et le programme le reconnait !
pareil si on fait 5+3 etc etc !
Je sais trop comment faire mais je vais essayer de me débrouiller !
oui tu peux faire comme ça en prenant en entrée un string puis en analysant caractère par caractère, ou alors en utilisant std::regex mais c'est pas ce que je voulais dire
dans mon post précédent je voulais juste dire qu'au lieu de faire comme ça : http://pastebin.com/UNqJ5rQm
ce serait de faire ça en gros : http://pastebin.com/wjTEq95b
Ah oui j'avais pas compris enfaite
Je fais ça dés que je rentre mais sinon pour le " bugg " vous avez une solution ? Sachant que je peux pas faire une autre boucle si j'ai le malheur de rentrer une saisie incorrect ça fait tout bugger je pense que je devrais passer la variable en string au lieu de la laisser en double.
omg ça me rappele mes debut où j'étais même pas capable de faire une boucle correct
j'ai mis 3 semaines pour comprendre comment ça marche