begin process at 2012 05 30 00:44:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Maths

 > 

Operation de base (+,-,*,/) fonction en C comment faire ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Operation de base (+,-,*,/) fonction en C comment faire ?

mercredi 31 octobre 2007 à 16:43:27 | Operation de base (+,-,*,/) fonction en C comment faire ?

telecomakram

Bonjour;

je cherche à écrire une fonction en C qui permet de faire des opérations de base soient : multiplication, division, addition et soustraction. L'utilisation des parenthèses n'est pas possible.

. Les opérandes et opérateurs sont demandés les uns à la suite des autres, . Le résultat est calculé au fur et à mesure

. Seul le résultat final est affiché

. On doit alors alterner la saisie d'un opérande, puis d'un opérateur, puis d'un opérande, puis d'un opérateur, etc.
. L'affichage du résultat est effectué après la saisie de l'opérateur "="

Exemple: 1¬+¬2¬*¬4¬=@ Resultat = 12

(¬ représente un espace, @ un retour charriot)

mon probleme c que il faut ecrire cette fonction sans utilisation des tableaux ou des pointeur je sais pas comme faire

j'ai écrit cette fonction mais s'a marche pas .
*------------------------------*
void base (void)

{
  char opt;
  float nbr,res;
  int i;
  res=0;
  i=1;

  while(opt!='=')
               {
       printf ("     Tapez nombre %d :",i);
          scanf ("%f",&nbr);
  
  printf ("\Opération(+,-,*,/,=):");
  scanf ("%s",&opt);            
  i++;
               
  if(opt=='+')
res=res+nbr;  

  if(opt=='-')
  res=res-nbr;

  if(opt=='*')
   res=res*nbr;

  if(opt=='/')
    res=res/nbr;

         }
         printf("Résultat=%.2f\n",res);
         }
  
*----------------------------------------------------*


Si qlq'un à une autre méthode je le remerci infinement
merci++++++++++++++++++





mercredi 31 octobre 2007 à 17:35:09 | Re : Operation de base (+,-,*,/) fonction en C comment faire ?

DeAtHCrAsH

Salut,
Je ferais plutot scanf ("%c",&opt);  au lieu de scanf ("%s",&opt); 
%s = une chaine de charactère
%c = 1 charactère           

Shell
mercredi 31 octobre 2007 à 18:33:16 | Re : Operation de base (+,-,*,/) fonction en C comment faire ?

SAKingdom

Membre Club
getchar au lieu de scanf("%c", ...)

C++ (@++)

mercredi 31 octobre 2007 à 22:27:18 | Re : Operation de base (+,-,*,/) fonction en C comment faire ?

gamemonde

Membre Club
pense a verifier quil ne divise pas par zero sinon le programme va planté

si tu dois utilisés plein de if et faire else if serais trop gros utilise un switch

switch(cCarEntre)
{
    case '+':
....
break;
...

}
jeudi 1 novembre 2007 à 09:45:03 | Re : Operation de base (+,-,*,/) fonction en C comment faire ?

juju12

tu fais les opérations dans le mauvais sens :
demande d'abord une valeur initiale puis dans ta boucle prends à chaque fois d'abord l'opérateur, ensuite l'opérande.
jeudi 1 novembre 2007 à 10:18:42 | Re : Operation de base (+,-,*,/) fonction en C comment faire ?

gamemonde

Membre Club
   printf ("     Tapez nombre %d :",i);
          scanf ("%f",&nbr);
  
  printf ("\Opération(+,-,*,/,=):");

cest bien ce qu'il fait

jeudi 1 novembre 2007 à 16:57:40 | Re : Operation de base (+,-,*,/) fonction en C comment faire ?

juju12

Réponse acceptée !
T'as lu ce que j'ai écrit ?
D'abord prendre une valeur initiale HORS de la boucle
puis ensuite la séquence opérateur-opérande.

Parce que pour l'instant avec son exemple 1¬+¬2¬*¬4¬=@ Resultat = 12 on obtient:
res=0;
entrée 1,+
res=res+1=1;
entrée 2,*
res=res*2=2;
entrée 4,=
res=2;
et voilà c'est loupé.

tandis que dans le sens que j'ai mentionné :
entrée init. 1
res=1;
entrée +,2
res=res+2=3
entrée *,4
res=res*4=12
entrée = donc jump sortie

et le résultat attendu...


jeudi 1 novembre 2007 à 17:01:05 | Re : Operation de base (+,-,*,/) fonction en C comment faire ?

telecomakram

Merci pour tout vos réponses et à toi juju12.
bye


Cette discussion est classée dans : fonction, base, opt, res, nbr


Répondre à ce message

Sujets en rapport avec ce message

déconnexion ou erreur de programmation ? [ par majong ] Bonjour, lorsque j'effectue ces deux requetes, le log me dit que la première est ok mais la 2° à échoué (requete echou 2).J'appelle la même requete po Methode de calcul de Horner (recursive) AIDEZ MOI [ par tareknaj ] Bonjour mes amis, j'ai a faire une fonction qui resolue la methode de Horner pour calculer un polynome. Le probleme est que j'ai la fonction iterative gestion de base sqlite et affichage des donnés avec qt c++ [ par rokihaj ] salut tout le monde, je cherche dans plusieurs forum et tutoriels pour trouver une solution a mon problème mais je n'arrive pas .en effet, je développ extraire miniatures vista - visual C++ - classe abstraite - appel d'une fonction membre non static [ par michelscofield ] /*Bonjour à tous,J'ai quelques problèmes sur ce petit programme console pour vista, nottament au niveau de Programmation objet...Programme en console Réseau de neurone à base de fonction radiale [ par AMIR03 ] Salut à tou Je cherche une fonction equivalente à foreach() ? [ par pyr0123 ] Bonjour,En PHP il existe une fonction foreach($tableau) tres pratique.exemple :$arr = array(1, 2, 3, 4);foreach ($arr as &$value){&n Fonction récursive simple en C ANSI [ par pedu ] Bonjour à tous,je suis un jeune développeur et j'aimerai avoir un exemplesur l'utilisation d'une fonction récursive simple en Langage Cint facto(int);


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,711 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales