IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Affichage d'une fonction f(x)


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2011
    Messages : 90
    Par défaut Affichage d'une fonction f(x)
    Bonjour à tous, voilà j'ai une source qui doit afficher une graphique f(x). Mais le souci, c'est que je n'arrive pas à le compiler.
    voici ma source.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    #include<stdio.h>
    #include<stdlib.h>
    #include<graphics.h>
    #include<math.h>
     
    /*La fonction f(x) à tracer */
    float f(float x)
    {
        return x*sin(x);
    }
    /*Le programme qui trace la fonction*/
    int main()
    {
        /*Les variables*/
        float a,b,min,max,x,y;
        int xmax,ymax,i,j;
     
        /*Saisie des bornes de l'intervalle*/
        printf("Entrez la borne minimale de l'intervalle : \n");
        scanf("%f",&a);
        printf("Entrez la borne maximale de l'intervalle : \n");
        scanf("%f",&b);
     
        /*Saisie des valeurs limites */
        printf("Entrez la valeur limite maximale : \n");
        scanf("%f",&max);
          printf("Entrez la valeur limite minimale : \n");
        scanf("%f",&min);
     
        /*Passer en mode graphique */
        int graphdriver=DETECT,graphmode;
     
        /*Le programme détectera automatiquement le type*/
        /*de carte dont est équipé l'ordinateur*/
        intgraph(&graphdriver,&graphmode,"");
     
        /*Calcul de xmax et ymax*/
        xmax=getmaxx();
        ymax=getmaxy();
     
        /*rectangle autour de l'écran*/
        rectangle(0,0,xmax,ymax);
     
        /*Calcul des points*/
        for(i=0;i<=xmax;i++)
        {
            /*calcul de x*/
            x=(i*(b-a))/xmax+a;
            /*calcul de y fonction de x */
            y=f(x);
     
            /*calcul du j */
            j=((y-min)*(ymax)/(max-min)+ymax;
            if (j<0) {j=0;}
            if ( j>ymax){j=ymax;
     
            /*affiche le point i,j */
            putpixel(i,j,1);
        }
        /*Attendre une touche*/
        getchar();
     
        /*On ferme le mode graphique*/
        closegraph();
    }
    Code::blocks me dit que :
    ||In function ‘main’
    |31|erreur: ‘DETECT’ undeclared (first use in this function)|
    |31|note: each undeclared identifier is reported only once for each function it appears in|
    |53|erreur: expected ‘)’ before ‘;’ token|
    |65|erreur: expected ‘;’ before ‘}’ token|
    |65|erreur: expected declaration or statement at end of input|
    ||=== Build finished: 5 errors, 0 warnings ===|

    Si quelqu'un d'entre vous a une petite idée d'où cela peut venir, je serai tout ouïe. Merci

  2. #2
    Membre émérite Avatar de MythOnirie
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2012
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur décisionnel

    Informations forums :
    Inscription : Juin 2012
    Messages : 376
    Par défaut
    Bonjour,

    Ton dernier if ouvre une accolade mais ne la ferme pas. Cela peut venir de là.

  3. #3
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int graphdriver=DETECT,graphmode;
    Cette écriture me semble louche.

    A quelle bibliothèque correspond cette en-tête ?

  4. #4
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 274
    Par défaut
    Salut ,

    Deja il faut corriger ça, au niveau des parenthèses manquantes et accolades manquantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    j=((y-min)*(ymax)/(max-min))+ymax;
    if (j<0) {j=0;}
    if (j>ymax){j=ymax;}
    De plus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ‘DETECT’ undeclared (first use in this function)
    =>> DETECT ne fait allusion à rien, tu ne l'as pas déclaré comme macro ou variable et les bibliothèques que tu utilises non plus !

    Enfin je dirais que le compilo s'attend à ce que tu renvoie une valeur de fin pour terminer le programme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    erreur: expected declaration or statement at end of input
    Par contre je ne suis pas du tout sur pour le dernier message

    Ca devrait toutefois aller mieux même si je pense qu'il te restera quelques problèmes de compilation

  5. #5
    CGi
    CGi est déconnecté
    Expert confirmé
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    Détails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int graphdriver=DETECT ,graphmode;
    est equivalent à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int graphdriver=DETECT;
    int graphmode;
    Pour ce qui est de DETECT il doit ètre défini dans graphics.h
    qui est le fichier entête d'une lib de Turbo C pour dos.

    @sk8trasher utilises-tu ce compilateur ?
    @as-tu une erreur sur graphics.h
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqué ? (Jacques Rouxel)

  6. #6
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut

    Ce qui me rappelle pourquoi je n'aime pas déclarer plusieurs variables sur la même ligne, a fortiori quand certaines sont initialisées et pas d'autres.

    Ce qui explique pourquoi j'en ai jamais entendu parlé et pourquoi MinGW ne connait pas ce fichier. Dommage, il semble y avoir des trucs intéressants dedans.

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2011
    Messages : 90
    Par défaut
    #include<graphics.h>
    cette bibliothèque je l'ai trouvé ici http://pauillac.inria.fr/~peskine/en...phics-doc.html et installé dans /usr/lib.

    Et là je vais redémarrer le pingouin ne veut plus enregistrer les modification sur le fichier.
    Ils sont bête ces pingouins

  8. #8
    CGi
    CGi est déconnecté
    Expert confirmé
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    Détails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    Par défaut
    Je viens d'aller voir ton lien, il y a un exemple d'utilisation, ça n'a rien à voir avec ton code.
    Le code que tu as posté est un exemple de la bibliothèque de Turbo C
    et pas de celle de ton lien.
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqué ? (Jacques Rouxel)

  9. #9
    Invité de passage
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 1
    Par défaut
    bonjour, à la ligne 35 c'est initgraph et pas intgraph et voyez aussi pour renseigner le chemin d'accès vers les pilotes *BGI de votre carte graphique.

Discussions similaires

  1. Masquer l'affichage d'une fonction de groupe
    Par minimoit dans le forum Langage SQL
    Réponses: 1
    Dernier message: 07/04/2010, 07h01
  2. affichage d'une fonction de transfert dans GUI
    Par mansour006 dans le forum MATLAB
    Réponses: 9
    Dernier message: 26/01/2010, 08h04
  3. Affichage d'une fonction sous datalife engine
    Par head_hunter dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/04/2008, 22h54
  4. Rafraichir affichage pendant une fonction
    Par E.Bzz dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 07/02/2007, 12h01
  5. [PHP-JS] Affichage par une fonction js
    Par Mathieu72 dans le forum Langage
    Réponses: 6
    Dernier message: 20/01/2007, 16h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo