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 :

Fonction "addition" et résultat fixe


Sujet :

C++

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 7
    Points : 2
    Points
    2
    Par défaut [Résolu] Fonction "addition" et résultat fixe
    Bonjour, je suis nouveau sur ce forum. Je me suis mis au C++, pour mieux comprendre les bases de la programmation. Mon but final est de me débrouiller avec les langages de scripts des logiciels 3d, et en particulier le MEL ( Maya Embedded Language ) de Maya.

    J'ai créé une programme simple, selon un tutorial de cplusplus.com, qui consiste dans la fonction main, à demander à l'utilisateur de taper un chiffre, puis, une fonction "addition" se charge d'additioner 5 à ce chiffre. Le problème, c'est que quel que soit le chiffre que je rentre, le résultat affiché est 15 ! Et nul part je n'ai assigné la valeur 15 à aucune variable que ce soit.

    voici le code :



    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 <iostream.h>
     
    int addition (int a, int k)
    {
     int b;
     b = a+k;
     return (b);
    }
     
    int main ()
    {
        int c;
        int e;
        c = addition (e,5);
        cout << "Tapez un chiffre\n\n";
        cin >> e;
        cout << "\n\n Le résultat est " << c;
        return 0;
    }
    Si quelqu'un pouvait m'expliquer ce qui cloche dans ce programme, ce serait gentil, merci.

  2. #2
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Essaie de mettre ton appel à la fonction addition après avoir récupéré la valeur de e ...

    Pour l'instant, tu appelle "addition" avec une valeur d'un des paramètres qui est indéfinie.

    Bonne continuation
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Ca marche merci bien.

    A propos, ce 15, il sort d'où ?

  4. #4
    Membre habitué
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Points : 164
    Points
    164
    Par défaut
    TU dit que ca marche ? donc tu na pplus de "15" a la sortie ?
    Si tu veut juste savoir pourquoi tu avais "15" avant, c'est juste car ta variable "e" n'était pas determiner au moment de l'apel de la fonction ... sa valeur sera donc indeterminer .
    Pense donc a initialiser tes varaible quand tu le peut a une valeur par défaut .

    ex :

    int e = 0 ;

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    d'accord. Merci

  6. #6
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    remplacer

    par



    même si ça marche, ce n'est pas standard. et ça peut ne pas compiler suivant l'outil que tu utilises.

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    ah bon ? Merci. C'était marqué sur les tutos de cplusplus.com. D'ailleurs ne vaut mieux t-il pas remplacer iostream par un header plus récent ? (mon compilateur me dit qu'il est archaïque)

  8. #8
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Oui, remplacer iostream.h par iostream.

    http://c.developpez.com/faq/cpp/?pag...le#SL_iostream

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    ah merci

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    #include <iostream> plante à la compilation : il me dit 'cout undeclared' et 'cin undeclared. Faut que je laisse l'extension *.h alors ?

    Je suis sur Dev C++

  11. #11
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #include <iostream>
    using namespace std;
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #include <iostream>
    using std::cin;
    using std::cout;
    using std::endl;

  12. #12
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    T'es pas allé bien loin dans la lecture du lien de la FAQ.

    Citation Envoyé par La FAQ C++
    Voilà pourquoi il faut remplacer toute inclusion de <iostream.h>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #include <iostream.h>
     
    cout << "coucou" << endl;
    par <iostream> et une utilisation du namespace std
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    #include <iostream>
    using namespace std;
     
    cout << "coucou" << endl;
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #include <iostream>
     
    std::cout << "coucou" << std::endl;
    ou encore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #include <iostream>
    using std::cout;
    using std::endl;
     
    cout << "coucou" << endl;
    C'est pas pour vous embêter qu'on écrit des FAQs et qu'on vous renvoie dessus

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    désolé

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

Discussions similaires

  1. Fonction Replace pour quote
    Par piero53 dans le forum ASP.NET
    Réponses: 7
    Dernier message: 17/11/2009, 01h19

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