Aide pour langage pascal à c

Bonjour, je souhaiterai traduire ce morceau ecrit en pascal, en langage c, merci :)

3. var y:integer;
4.
5. function f(var x:real):real;
6.
7.
8. begin
9.
10. if y=1 then f:=sin(x)-1/2
11.
12. else begin if y=2 then f:=exp(x)-2
13.
14. else begin if y=3 then f:=sqr(x)-2 end; end;
15.
16. end;
17.
18. procedure verif;

j'ai essayé mais ça ne veut pas se compiler correctement !

{

int y;

float f(float x);
{

if(y==1) return'sin(x)-1/2';

else

if (y==2) return 'exp(x)-2'

else {
if (y==3) f=sqr(x)-2
}
}

}
}
void verif;
Configuration: Windows XP
Internet Explorer 7.0

4 réponses

  1. j'ai mit int main()
    est-ce que le return des fonctions est correct ?
    1. Contributeur
      int y;
      float f(float x)
      { if (y==1) return sin(x)-1/2;
       else { if (y==2) return exp(x)-2;
      else{if (y==3) return sqr(x)-2; }}
      }
      // procedure verif; je voi pas trop à quoi ser cette commande en pascal
      void verif();

      ou alors, plus élégamment :
      float f(float x,int y)
      {
      switch(y)
        {
        case 1  : return sin(x)-1/2;
        case 2  : return exp(x)-2;
        case 3  : return x*x-2; // pas de fonction sqr à ma connaissance.
        default : return 0;
        }
      }
      bien entendu, ne pas oublier le include <math.h> pour les fonctions sinus, exponentielle.