Calculatrice(langage C)

souzen Messages postés 41 Date d'inscription   Statut Membre -  
 Christophe -
Bonjour,
svp aidez moi a faire ce programme
Ecrire un programme qui fait le travail d'une calcutrice
avec les fonctions et les pointeurs
et merci d'avance
Configuration: Windows XP
Internet Explorer 7.0

12 réponses

Résumé de la discussion

Plusieurs échanges portent sur la réalisation d'une calculatrice en C utilisant les pointeurs et les fonctions, capable d'opérer sur plusieurs opérandes et de respecter la priorité des opérateurs. Des propositions émergent: définir des fonctions simples pour additionner, soustraire, multiplier et diviser, puis les appeler dans un switch, ou stocker les valeurs dans des tableaux et envisager des piles. Certaines contributions évoquent des limites liées à l'usage des pointeurs et à la gestion d'erreurs, notamment la division par zéro et les expressions mal formées, qui compliquent l'implémentation. En dernier lieu, certains évoquent l'extension vers des expressions plus complexes, par exemple l'usage d'un tableau pour stocker les opérandes et de la priorité via une structure pile, sans conclure.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. souzen Messages postés 41 Date d'inscription   Statut Membre 26
     
    voila ce que j'ai fait dans le programme de la calculatrice
    #include<stdio.h>
    #include<conio.h>
    main()
    {
    clrscr();
    char op;
    int a,b;
    printf("Donner l'opérande a:");
    scanf("%d",&a);
    printf("Donner l'opérateur (+,-,*,/,%)");
    scanf("%c",&op);
    printf("Donner l'opérande b:");
    scanf("%d",&b);
    switch(op)
    {
    case'+':printf("%d+%d=%d",a,b,a+b);break;
    case'-':printf("%d-%d=%d",a,b,a-b);break;
    case'*':printf("%d*%d=%d",a,b,a*b);break;
    case'/':if(b)
    printf("%d/%d=%d",a,b,a/b);break;
    else
    printf("Impossible division par 0");break;
    case'%':if(b)
    printf("%d%%%d=%d",a,b,a%b);break;
    else
    printf("Erreur division par 0");break;
    dfault:printf("Opérateur non accepté");
    }
    getch();
    }
    voila ce que j'ai fait
    mais le problème c'est je dois faire la fonction qui fait ce travail pr plus de 2 nombres et la je trouve des difficultés
    29
    1. pyschopathe Messages postés 2053 Statut Membre 137
       
      De quelle forme doit être l'entrée du programme ? Par exemple, est-ce que tu veux faire quelque chose comme :

      "Saisissez le nombre d'opérateurs : "
      "Saisissez l'opérateur 1 : "
      ...
      "Saisissez l'opérande 1 : "
      ...

      ou plutôt :

      "Saisissez le calcul à effectuer : " // ex : 7 + 45 * 5

      Est-ce que tu dois gérer la priorité des opérateurs ?

      Le programme risque d'être assez compliqué...
      0
    2. Macdum
       
      Va sur se site tu pourra mieu comprendre et regarde en bas de la page dans les commentaire il y a ce que tu cherche
      http://www.siteduzero.com/tutoriel-3-13956-les-conditions.html
      1