erreur dans le if ???

erreur dans le if ??? - C - Programmation

Marsh Posté le 12-11-2006 à 15:02:29    

bonjour à tous,
 
je viens de créer un programme qui appel une fonction mais le problème c'est que mon if (op="+" ) ne ve pas fonctionner, alors est-ce-que quelqu'un aurait une idée svp ??
 
using namespace std;
#include <iostream>
 
 
void f1(float a,float b,char op);
 
main ()
{
     float c,d;
     char yz;
     
     cout<<"Saisir deux reels : ";
     cin>>c;
     cin>>d;
     
     cout<<"Choisissez votre operateur : ";
     cin>>yz;
     
     cout<<"Le resultat : ";
     f1(c,d,yz);
     
 
system("PAUSE" );      
}
 
void f1(float a,float b,char op)
{
      float result;
       
      if (op=="+" )
      {result=a+b;
      cout<<result;
      }
}
 
       

Reply

Marsh Posté le 12-11-2006 à 15:02:29   

Reply

Marsh Posté le 12-11-2006 à 15:53:57    

if (op == '+') ira beaucoup mieux.
PS : ici c'est le forum C pas le C++ :non:


Message édité par Trap D le 12-11-2006 à 15:54:58
Reply

Marsh Posté le 12-11-2006 à 15:55:37    

TU ES UN DIEU, je te remercie pour l'info.
 
++

Reply

Marsh Posté le 12-11-2006 à 16:05:10    

raylcool a écrit :

TU ES UN DIEU, je te remercie pour l'info.
 
++


 
 :D

Reply

Marsh Posté le 12-11-2006 à 16:49:46    

raylcool a écrit :

TU ES UN DIEU, je te remercie pour l'info.
 
++


 
C'est C ici, pas C++ on a dit  :whistle:


Message édité par YURI'S le 12-11-2006 à 16:50:23

---------------
Préparez-vous aux épreuves du bac en révisant des annales du bac corrigées ! Plein de sujets des baccalauréats séries S, ES, L et STG, session 2012, 2011, 20010 ...
Reply

Marsh Posté le 12-11-2006 à 18:51:42    

raylcool a écrit :

TU ES UN DIEU, je te remercie pour l'info.
 
++

http://nseo.com/remember/img/dieu.gif

Reply

Marsh Posté le 12-11-2006 à 19:06:04    


 [:roxelay]


Message édité par Emmanuel Delahaye le 12-11-2006 à 19:07:07

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 13-11-2006 à 15:10:15    

raylcool a écrit :

...
je viens de créer un programme qui appel une fonction mais le problème c'est que mon if (op="+" ) ne ve pas fonctionner, alors est-ce-que quelqu'un aurait une idée svp ??
...


 
En C il vaut mieux prendre l'habitude d'inverser les opérateurs comme ceci:


if ( "+" = op) ...


Dans ce cas ça ne passera jamais à la compilation.

Reply

Marsh Posté le 13-11-2006 à 15:27:57    

avander a écrit :

En C il vaut mieux prendre l'habitude d'inverser les opérateurs comme ceci:


if ( "+" = op) ...



 [:arrakys]  
opérandes...
 
Et puis l'exemple est plus que douteux...

if ( NULL = p) ...


mais ça ne fonctionne que si l'un des opérandes est une expression constante.
 
La meilleure parade, c'est encore de ne pas utiliser ==, mais !=.

if (p != NULL) ...


jamais de problèmes avec ça en 19 ans de C ...


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 13-11-2006 à 19:50:42    

raylcool a écrit :

mais le problème c'est que mon if (op="+" ) ne ve pas fonctionner


Tiens... la nouvelle saison des newbies est arrivée... [:ddr555]


if (p) ...

:sol:  :sol:  :sol:

Message cité 1 fois
Message édité par Sve@r le 13-11-2006 à 19:54:04

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 13-11-2006 à 19:50:42   

Reply

Marsh Posté le 13-11-2006 à 20:49:21    

Sve@r a écrit :


if (p) ...

:sol:  :sol:  :sol:


G33k code detected...


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 13-11-2006 à 20:50:31    

Attention quand même à la définition de NULL, ce n'est pas garanti être égal à 0 je crois.

Reply

Marsh Posté le 13-11-2006 à 20:54:21    

Trap D a écrit :

Attention quand même à la définition de NULL, ce n'est pas garanti être égal à 0 je crois.


NULL est garanti de se comporter comme 0 dans un contexte pointeur. (Ici, p est un pointeur, donc tout va bien...)
 
Par contre, ceci n'est évidemment pas portable :  

  printf ("%p\n", NULL);


alors que cela est correct :  

  printf ("%p\n", (void *) NULL);


Message édité par Emmanuel Delahaye le 13-11-2006 à 20:58:50

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed