Partage
  • Partager sur Facebook
  • Partager sur Twitter

Variables non déclarées

    30 janvier 2019 à 18:53:10

    Bonsoir, je tiens tout d'abord à dire que je débute, et je sais que mon erreur est toute bête, mais je ne sais pas comment la régler. C'est tout simple : à chaque fois que je lance mon programme, dont le code est ci-dessous :

    #include <iostream>
    
    using namespace std;
    
    int calcul(){
      resultat = metres / pointureUser;
      cout << "Pour arriver a votre destination, vous devrez faire " << resultat << " pas !" << endl;
    }
    
    int erreurpointure(){
      cout << "Votre pointure est incorrecte." << endl;
      return 1;
    }
    
    int main(){
      int pointure40(0.257);
      int pointure41(0.264);
      int pointure42(0.270);
      int pointure43(0.277);
      int pointure44(0.284);
      int pointure45(0.290);
    
      int erreurpointure();
      int calcul();
    
      int metres, pointure, resultat, pointureUser;
    
      cout << "Quelle est la distance que vous souhaitez parcourir (en metres) ? ";
      cin >> metres;
      cout << "Quelle est votre pointure (40/41/42/43/44/45) ? ";
      cin >> pointure;
    
      if (pointure == '40'){
        pointureUser = pointure40;
        calcul();
      }
    
      if (pointure == '41'){
        pointureUser = pointure41;
        calcul();
      }
    
      if (pointure == '42'){
        pointureUser = pointure42;
        calcul();
      }
    
      if (pointure == '43'){
        pointureUser = pointure43;
        calcul();
      }
    
      if (pointure == '44'){
        pointureUser = pointure44;
        calcul();
      }
    
      if (pointure == '45'){
        pointureUser = pointure45;
        calcul();
      }
    
      resultat = metres / pointureUser;
      cout << "Pour arriver a votre destination, vous devrez faire " << resultat << " pas !" << endl;
    
      if (pointure <= '39'){
        erreurpointure();
      }
    
      if (pointure >= '46'){
        erreurpointure();
      }
    
      return 0;
    }
    

    mon compilateur (gcc) m'indique ces erreurs :

    C:\Users\Maxime\Desktop\Perso\C++\atom\feetdistance\main.cpp: In function 'int calcul()':
    C:\Users\Maxime\Desktop\Perso\C++\atom\feetdistance\main.cpp:6:3: error: 'resultat' was not declared in this scope
       resultat = metres / pointureUser;
       ^~~~~~~~
    
    C:\Users\Maxime\Desktop\Perso\C++\atom\feetdistance\main.cpp:6:14: error: 'metres' was not declared in this scope
       resultat = metres / pointureUser;
                  ^~~~~~
    
    C:\Users\Maxime\Desktop\Perso\C++\atom\feetdistance\main.cpp:6:23: error: 'pointureUser' was not declared in this scope
       resultat = metres / pointureUser;
                           ^~~~~~~~~~~~
    
    

    Je sais qu'il faut que je déclare les variables resultat, metres, et pointureUser, mais je ne sais pas où le faire (dans la fonction calcul, main, ou en dehors ?). Merci de m'aider :)


    • Partager sur Facebook
    • Partager sur Twitter

    J'adore manger des beeftecks bien grillés sur les côtés

      30 janvier 2019 à 19:14:40

      >mais je ne sais pas où

      Là où vous en avez besoin. ;)

      A l'arrache, en simplifiant un peu le bidule, mais on peut faire encore largement mieux :

      #include <iostream>
       
      using namespace std;
       
      double calcul(int metres, double pointureUser){
        double resultat = metres / pointureUser;
        cout << "Pour arriver a votre destination, vous devrez faire " << resultat << " pas !" << endl;
        return resultat;
      }
       
      void afficheErreurPointure(){
        cout << "Votre pointure est incorrecte." << endl;
      }
       
      int main(){
        double pointure40(0.257);
        double pointure41(0.264);
        double pointure42(0.270);
        double pointure43(0.277);
        double pointure44(0.284);
        double pointure45(0.290);
       
        int metres, pointure, resultat, pointureUser;
       
        cout << "Quelle est la distance que vous souhaitez parcourir (en metres) ? ";
        cin >> metres;
        cout << "Quelle est votre pointure (40/41/42/43/44/45) ? ";
        cin >> pointure;
       
        if (pointure == 40){
          pointureUser = pointure40;
        }
       
        if (pointure == 41){
          pointureUser = pointure41;
        }
       
        if (pointure == 42){
          pointureUser = pointure42;
        }
       
        if (pointure == 43){
          pointureUser = pointure43;
        }
       
        if (pointure == 44){
          pointureUser = pointure44;
        }
      
        if (pointure == 45){
          pointureUser = pointure45;
        }
       
        resultat = calcul(metres,pointureUser);
        cout << "Pour arriver a votre destination, vous devrez faire " << resultat << " pas !" << endl;
       
        if (pointure <= 39){
          afficheErreurPointure();
        }
       
        if (pointure >= 46){
          afficheErreurPointure();
        }
       
        return 0;
      }



      • Partager sur Facebook
      • Partager sur Twitter
      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
        30 janvier 2019 à 19:23:11

        int pointure40(0.257);

        Ce code pose encore problème.

        Tu suis quel cours ?

        Pour le moment, il n'y a rien de correct dans ton code. Ok, tu débutes. Mais c'est étrange que tu sois déjà au chapitre sur les fonctions ou les conditions alors que tu as encore des problèmes avec les types et les variables. Sois tu vas trop vite dans ton cours, sois tu suis un très mauvais cours.

        • Partager sur Facebook
        • Partager sur Twitter

        Variables non déclarées

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown