Calculatrice

abdelali62 Messages postés 21 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 6 novembre 2008 - 26 août 2008 à 11:00
abdelali62 Messages postés 21 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 6 novembre 2008 - 26 août 2008 à 14:35
BONJOUR en faite je suis un débutant en programmation en C et je veux que quelqu'un me corrige ce petit programme s'il vous plais

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

int main(int argc, char *argv[])
{
    int a,b;
    float r;
    char op;
    char s,so,m;
    printf("\t Ce programme c'est qu'une petite calculatrice avec 4 operateur\n");
                            printf("\t\t\t MENU\n");
                            printf("Soustratction------->so\n");
                            printf("somme---------------->s\n");
                            printf("multplication-------->m\n");
    printf("Entrez le premier variable:\n");
           scanf("%d",&a);
    printf("Entrez le deuxieme variable:\n"); 
           scanf("%d",&b);
    printf("saisie l'operateur:\n");  
           scanf("%c",&op);
           switch(op)
           {
           case 1:if(op==s)
                 r=a+b;
           printf("la resultat est :%f",r);
           break;
           case 2:if(op==so)
                    r=a-b;
           printf("la resultat est :%f",r);
           break;
           case 3:if(op==m)
                   r=a*b;
           printf("la resultat est :%f",r);
           break;
           default:
           printf("Votre operateur et incorrecte");
           break;
           }
  system("PAUSE");   
  return 0;
}

24 réponses

gamemonde Messages postés 336 Date d'inscription samedi 9 août 2003 Statut Membre Dernière intervention 9 juillet 2011 2
26 août 2008 à 11:27
case 1:if(op==s)

non c'est
case 's':
meme chose pour les autres case
0
abdelali62 Messages postés 21 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 6 novembre 2008
26 août 2008 à 11:48
 le problème c'est que qu'on je veux insérer l'operateur le compilateur va directement vers printf("votre  operateur ...............
0
cs_neone Messages postés 96 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 7 mars 2011
26 août 2008 à 11:56
bonjour,
normal . enfin ton opérateur c "s" ou "so" ou "m" ??. ben c pas une variable char qu'il te fuat mai char * ou char[]. enfin pour quoi pas faire que "+" ou "-" ou "*"  pour les op ça marchera vite fé. boncourage
0
abdelali62 Messages postés 21 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 6 novembre 2008
26 août 2008 à 12:24
TU VX DIRE COMME CA

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

int main(int argc, char *argv[])
{
    int a,b;
    float r;
    char op;

    printf("\t Ce programme c'est qu'une petite calculatrice avec 4 operateur\n");
                            printf("\t\t\t MENU\n");
                            printf("Soustratction-------->-\n");
                            printf("somme---------------->+\n");
                            printf("multplication-------->*\n");
    printf("Entrez le premier variable:\n");
           scanf("%d",&a);
    printf("Entrez le deuxieme variable:\n"); 
           scanf("%d",&b);
    printf("saisie l'operateur:\n");  
           scanf("%c",&op);
           switch(op)
           {
           case '+':if(op==+)
                 r=a+b;
           printf("la resultat est :%f",r);
           break;
           case '-':if(op==-)
                    r=a-b;
           printf("la resultat est :%f",r);
           break;
           case '*':if(op==*)
                   r=a*b;
           printf("la resultat est :%f",r);
           break;
           default:
           printf("Votre operateur et incorrecte");
           break;
           }
  system("PAUSE");   
  return 0;
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
abdelali62 Messages postés 21 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 6 novembre 2008
26 août 2008 à 12:26
EST SI JE MET LES CASE SAUF LES CONDITION CA VA MARCHE OU PAS
0
cs_neone Messages postés 96 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 7 mars 2011
26 août 2008 à 13:07
case "+" est suffisant pas la peine de rajouter if(op=="+") ça doit marcher
0
abdelali62 Messages postés 21 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 6 novembre 2008
26 août 2008 à 13:12
TU PX ESSAYE LE PROGRAMME STP CA NE VX  PAS MARCHE CHE PO PT ETREE C EST L'EDITEUR LE PROBLÈME CA PX ETRE OU PAS
0
cs_neone Messages postés 96 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 7 mars 2011
26 août 2008 à 13:15
ok je vais le faire lol.
2 min
0
abdelali62 Messages postés 21 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 6 novembre 2008
26 août 2008 à 13:17
MERCI C'EST GENTIL DE TA PART
0
cs_neone Messages postés 96 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 7 mars 2011
26 août 2008 à 13:33
voila c testé et certifié lol. ça marche avec des modifications. le probleme vient du scanf("%c",&op) ça gére mal les char. g charger avec un tableau  et g fé scanf("%s",op)  op tableau de deux char. le switch porte sur op[0] vu qu'on a qu'un char. voila
#include

<stdio.h>#include

<stdlib.h>int

main(
int argc, _TCHAR* argv[]){

int a,b;

int r;

char op[2];printf(

"\t Ce programme c'est qu'une petite calculatrice avec 4 operateur\n");printf(

"\t\t\t MENU\n");printf(

"Soustratction------->+\n");printf(

"somme---------------->-\n");printf(

"multplication-------->*\n");printf(

"Entrez le premier variable:\n");scanf(

"%d",&a);printf(

"Entrez le deuxieme variable:\n"); scanf(

"%d",&b);printf(

"saisie l'operateur:\n"); scanf(

"%s",op);printf(

" a %s b= %d %s %d \n",op,a,op,b);

switch(op[0]){

case
'+':r=a+b;

printf(

"la resultat est :%d \n",r);

break;

case
'-':r=a-b;

printf(

"la resultat est :%d \n",r);

break;

case
'*':r=a*b;

printf(

"la resultat est :%d \n",r);

break;

default:printf(
"faite un bon choix d'opérateur");

break;}

system(

"PAUSE");

return 0;}
0
cs_neone Messages postés 96 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 7 mars 2011
26 août 2008 à 13:33
dis moi kan c bon.
boncourage
0
abdelali62 Messages postés 21 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 6 novembre 2008
26 août 2008 à 13:37
merci ca bien marche che pas quoi mais franchement c'est tros sympa
0
abdelali62 Messages postés 21 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 6 novembre 2008
26 août 2008 à 13:44
TU PX ME DIRE POUR TA MIS OP[2] ET OP[0]
A LA PLACE DE OP C EST QUOI LA DIFFÉRENCE ENTRE EUX
0
cs_neone Messages postés 96 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 7 mars 2011
26 août 2008 à 13:49
lol.
pourquoi c pas trop sympa lol.
ben le char est mal géré par scanf avec c++ c mieu car on a cin>>  qui fait tout. donc g choisi un tableau parce que c le truk k'il gére le mieux. aprés c 'un tableau de deux char. donc il pren ton opérateur et il le met dans le tableau. ben supposon ke c + . ben il met + dans op[0] et op[1] il met rien dedans. si c t  "so"  s sera mise dans op[0] et o dans op[1]. ta compris. déolé si je t vexé avec mon programme lol.
0
abdelali62 Messages postés 21 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 6 novembre 2008
26 août 2008 à 13:51
c'est pas grave
0
cs_neone Messages postés 96 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 7 mars 2011
26 août 2008 à 13:55
ok j'arréte de perdre mon temps sur ce forum. t'aide les gens et tu passe pour un con. allé boncourage. g du boulo a faire.
0
abdelali62 Messages postés 21 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 6 novembre 2008
26 août 2008 à 13:58
bain bon chance et bon continuation et merci pour tous
0
cs_neone Messages postés 96 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 7 mars 2011
26 août 2008 à 14:01
t arabe ?? vous étes des ingras . pkoi je t vexé
merci quand meme
0
abdelali62 Messages postés 21 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 6 novembre 2008
26 août 2008 à 14:04
QU'EST CE QUE TU VX DIRE PAR CA DE TOUTE FACON DERIEN
0
cs_neone Messages postés 96 Date d'inscription mercredi 23 novembre 2005 Statut Membre Dernière intervention 7 mars 2011
26 août 2008 à 14:09
ya qu'un marocain qui peut parler comme ça boncourage. va courir comme garouge peut etre tora de l'avenir. mais coté programmation c raté mon fils.
0
Rejoignez-nous