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 :

Fonctions et procédures


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 147
    Par défaut Fonctions et procédures
    Bonjour,

    Je dois écrire une fonction qui calcule la différence et le quotient d’un entier et d’un réel mais je ne sais pas du tout comment m'y prendre. Que dois-je faire ?

    Sachant que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //Données: int e, float x
    //Résultats : float dif, float q
    //PE : >
    void diff quot (int e, float x, float* dif,float* q) ;
    //PS : ( *dif=e-x) and (*q= e/q)
    Le programme doit donner ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Donner un entier : 5
    Donner un r´eel : 2.32
    La difference entre 5 et 2.32 est 2.68 et le quotient 2.1552

  2. #2
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par défaut
    Salut,
    Que n'as tu pas compris ?
    Poste nous le code que tu a essaye de faire. On pourra te guider.
    Cependant comme je te l'ai dis hier. Regarde un tuto. Les cours pour debutant explique cela dans les premiers chapitres.

    Cordialement,
    NeoKript

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 147
    Par défaut
    Ok, pa de souci.
    Actuellement, je suis en train de bosser sur le réseau mais je poste ça d'ici 30mn.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 147
    Par défaut
    Voici mon script. Pouvez-vous me dire s'il y a des erreurs ou non svp.

    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
     
    #include <stdio.h>
     
    /* Calcule la différence et le quotient d'un entier et d'un réel */
    void calculer (int e, float x, float* dif,float* q)
    {
        /* Saisie des différentes valeurs */
        printf("Entrez un entier : ");
        scanf("%d", &e);
        printf("Entrez un réel : ");
        scanf("%f", &x);
     
        /* Traitement des valeurs */
        *dif = e-x;
        *q=e/q;
     
        /* Affichage des résultats */
        printf("La différence entre %d\n et %f\n est ", dif);
        printf("Le quotient entre %d\n et %f\n est ", q);
    }

  5. #5
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 634
    Par défaut
    Salut, c'est pas tout a fait juste,
    tu ne teste pas tes programmes ? car l'affichage doit être des plus bizare !

    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
    #include <stdio.h>
     
    /* Calcule la différence et le quotient d'un entier et d'un réel */
    void calculer (int e, float x, float* dif,float* q)
    {
        /* Saisie des différentes valeurs */
        printf("Entrez un entier : ");
        scanf("%d", &e);
        printf("Entrez un réel : ");
        scanf("%f", &x);
     
        /* Traitement des valeurs */
        *dif = e-x;
        *q=e/x;
     
        /* Affichage des résultats */
        printf("La différence entre %d et %f est %f\n", e, x, *dif);
        printf("Le quotient entre %d et %f est %f\n", e, x, *q);
    }
    Je ne suis pas sure que tu ai compris comment fonctionne printf et ce que signifie '\n'.

    - '\n' est un retour chariot (un saut de ligne en fait)
    quant a printf a chaque que tu précises %i %d %c %s %f etc ... il faut rajouter a la fonction un parametre de meme type.
    %d => un entier
    %c => un char ... etc
    ainsi si tu a 3 % quelque chose, printf aura 4 paramètres.... sauf %% qui correspond au "vrai" caractère pourcentage ! regarde du cote des va arg si cela t'intéresse.

    De plus q est une adresse mémoire, pour afficher ca valeur, il faut dereferencer le pointeur a l'aide de l'opérateur *
    q = adresse mémoire
    *q = valeur contenu a l'adresse mémoire de q...

  6. #6
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 084
    Par défaut
    Citation Envoyé par Lenou Voir le message
    Voici mon script. Pouvez-vous me dire s'il y a des erreurs ou non svp.

    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
     
    #include <stdio.h>
     
    /* Calcule la différence et le quotient d'un entier et d'un réel */
    void calculer (int e, float x, float* dif,float* q)
    {
        /* Saisie des différentes valeurs */
        printf("Entrez un entier : ");
        scanf("%d", &e);
        printf("Entrez un réel : ");
        scanf("%f", &x);
     
        /* Traitement des valeurs */
        *dif = e-x;
        *q=e/q;
     
        /* Affichage des résultats */
        printf("La différence entre %d\n et %f\n est ", dif);
        printf("Le quotient entre %d\n et %f\n est ", q);
    }

    Cette fonction est des plus bizarre !

    Je me joins a NeoKript pour les remarque precedente.

    De plus, tu passe des argument par copie (e et x), mais .... tu les saisie dans la fonction ???? C'est totalement inutile ! Autant les déclarer dans la fonction !

    *q=e/q;
    Hein ??? Que cherche tu as faire ?? diviser e par une adresse ??? (celle de q)

  7. #7
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Petite erreur de frappe sans doute (qui aurait dû être signalée par un avertissement du compilateur) :

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 147
    Par défaut
    Citation Envoyé par SofEvans Voir le message
    De plus, tu passe des argument par copie (e et x), mais .... tu les saisie dans la fonction ???? C'est totalement inutile ! Autant les déclarer dans la fonction !

    Hein ??? Que cherche tu as faire ?? diviser e par une adresse ??? (celle de q)
    C'est une erreur de ma part, je dois diviser e par x (un entier par un réel) mais ai-je le ddroit de l'écrire comme je l'ai fat ???

    Sinon, faut que je fasse un main pour tester la fonction. Mon prog est-il bon ou pas jusqu'à présent? Comment corriger les différentes erreurs ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Diff entre Fonctions et Procédures Stockées
    Par say dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 28/02/2007, 12h19
  2. Diff entre Fonctions et Procédures Stockées
    Par say dans le forum Langage SQL
    Réponses: 6
    Dernier message: 28/02/2007, 12h17
  3. Modéliser une routine (fonction ou procédure)
    Par koala01 dans le forum C++
    Réponses: 26
    Dernier message: 20/12/2006, 02h32
  4. Fonction ou procédure avec paramètres optionnels ?
    Par [Silk] dans le forum Langage
    Réponses: 3
    Dernier message: 05/05/2006, 13h55
  5. Réponses: 11
    Dernier message: 20/12/2005, 18h40

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