Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Calculatrice C en mode console [ Algorithme / Maths ] (ptiniko)

mercredi 23 avril 2008 à 22:34:26 | Calculatrice C en mode console

ptiniko

Bonjour ou bonsoir, c'est selon.

Voilà, je suis, comme qui dirait, débutant dans l'apprentissage du C/C++. Et j'ai un problème (nan sans blague?).
En fait, voilà mon code (j'ai pas précisé il s'agit d'une caltos en mode console):

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


int main(int argc, char *argv[])
{
    long ChoixMenu=0;
   
    printf ("--CALCULATRICE--\n\n");
    printf ("1. Addition\n");
    printf ("2. Soustraction\n");
    printf ("3. Multiplication\n");
    printf ("4. Division\n\n");
    printf ("Veuillez selectionner votre choix: \n");
    scanf ("%ld", &ChoixMenu);
   
    printf ("\n");
   
    double Nombre1=0;
    double Nombre2=0;
    long Resultat=0;
   
    switch (ChoixMenu)
    {case 1:
          printf ("Veuillez entrer le premier nombre: \n");
          scanf ("%lf", &Nombre1);
          printf ("Veuillez entrer le deuxieme nombre: \n");
          scanf ("%lf", &Nombre2);
          Resultat = Nombre1 + Nombre2;
          printf ("Le resultat est donc: \n%lf + %lf = %ld \n", Nombre1, Nombre2, Resultat);
          break;
    case 2:
         printf ("Veuillez entrer le premier nombre: \n");
          scanf ("%lf", &Nombre1);
          printf ("Veuillez entrer le deuxieme nombre: \n");
          scanf ("%lf", &Nombre2);
          Resultat = Nombre1 - Nombre2;
          printf ("Le resultat est donc: \n%lf - %lf = %ld \n", Nombre1, Nombre2, Resultat);
          break;
    case 3:
         printf ("Veuillez entrer le premier nombre: \n");
          scanf ("%lf", &Nombre1);
          printf ("Veuillez entrer le deuxieme nombre: \n");
          scanf ("%lf", &Nombre2);
          Resultat = Nombre1 * Nombre2;
          printf ("Le resultat est donc: \n%lf * %lf = %ld \n", Nombre1, Nombre2, Resultat);
          break;
    case 4:
          printf ("Veuillez entrer le premier nombre: (format 0.00)\n");
          scanf ("%lf", &Nombre1);
          printf ("Veuillez entrer le deuxieme nombre: (format O.OO)\n");
          scanf ("%lf", &Nombre2);
          Resultat = Nombre1 / Nombre2;
          printf ("Le resultat est donc: \n%lf / %lf = %ld \n", Nombre1, Nombre2, Resultat);
          break;
    default:
            printf ("Votre choix n'est pas correct.  \n");
            break;
        
  } 
   
  system("PAUSE"); 
  return 0;
}

Déjà j'ai un souci au niveau de la déclaration de mes nombre1 et nombre2. Là comme vous le voyez, si je les déclare en tant que double ca passe sauf que dans mon résultat il m'affiche un truc du genre 2,00000 * 2,00000 = 4
Si j'essaye de les déclarer en tant que n'importe quoi d'autre, la ca marche pu du tout. Genre je veux 2*2, il m'affiche 0,4867467576784*0,0000000001 = 4,5980
Logique hin?

Enfin voila déjà c'est un premier souci. Ensuite j'aimerai permettre à l'utilisateur de revenir au Menu, sauf qu'on m'a dit que utiliser le goto c'était vraiment pas recommandé du tout. Donc je bloque.

Enfin une fois que j'aurai réussi ca, je pourrais m'attaquer à le faire en interface graphique, et la question que je me pose c'est est ce que mon code la, il va servir pour ca ou pas du tout ?

Merci à tous pour votre aide :)

Niko


jeudi 24 avril 2008 à 09:59:31 | Re : Calculatrice C en mode console

cephalic

Bonjour les doubles sont des nombres a virgules et les long des entiers.
vérifie bien les types de tes printf quand tu affiches si tu as mis 2 et 2 tes variables contiennent 2 et 2 mais tu as du te tromper sur l'affichage.

Pour revenir au menu tu peux mettre ton code dans un while(1)
a la fin de chaque calcul tu reviendras au menu.
Les goto sont deconseillés c'est vrai surtout pour un débutant.

Pour la partie graphique je ne sais pas si ton algo tel quel te servira sa dépend quel librairie graphique tu utilise.
Mais c'est pâs bien compliquer à réécrire

jeudi 24 avril 2008 à 16:11:59 | Re : Calculatrice C en mode console

sheorogath

Membre Club Administrateur CodeS-SourceS
pourquoi lf et pas f dans ton printf ?

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"



Cette discussion est classé dans : printf, resultat, lf, nombre2, nombre1


Répondre à ce message

Sujets en rapport avec ce message

[Débutant ] Créer une calculatrice [ par rockerguitar ] Bonsoir à tous !Je suis nouveau dans le monde de la programmation. J'ai commencé il y a 3 jours. Mon projet est de créer un jeu musical sur la Nintend Code qui ne marche pas [ par darkwhite ] Salut a tous . Je suis debutant en C et j'ai commencé un programme qui converti un nombre binaire de huit chiffres en un nombres decimal le code est prob math [ par chinois57 ] g un prob pour faire les fonction cosinus, sinus,tangante, ansmerci de maider ma source est: #include #include #include main(){float x,y;char z; print problème de point vérgulle? [ par awalle ] voilà mon code! #include #include #include int main() { double v,h,a,b,x; h=(b-a)/6; printf("doner a\n"); pb code probabilité [ par jeanphilippe37 ] bonjour, Je viens de terminer le code pour un programme de probabilité mais je ne peux pas voir les réponses s'afficher à l'écran!!!! c'est assez Printf bizarre [ par x0s ] Bonjour Amis codeurs,J'ai un probleme avec cette petite fonction, je débute en c, merci de m'aider, voici le problème:#include /* Autor bitmap dans une fenetre DOS [ par chinois57 ] je voudrai ajouter une image dans mon programme est ce possible#include #include intmain(){   system ("MODE CON: cols=70 lines=40");   system ("TITLE aide [ par chinois57 ] comment faire fair ce prog dans une fenetre windows application#include #include intmain(){   system ("MODE CON: cols=70 lines=40");   system ("TITL ou est le problème ? [ par baby3378 ] bonjour, Voila j'ai construit un prog qui permet d'avoir le PGCD de 2 nombres, tous se passe bien jusqu'a ce que windows me di que le programme a renc prob de virgule pour disision [ par stefbuet ] oui je sais c tt c** mais j'ai un trou de mémoire, car j'ai arrété le C pendant un pti moment et donc je me souvien plus trop d'un truc :pour faire l'


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.