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 :

Probème pour programmer en C++


Sujet :

C++

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 95
    Par défaut Probème pour programmer en C++
    Bonjour,
    Je suis en fac de maths et j'ai donc des cours de programmation en c++.
    Je programme donc avec dev-c++ mais pour un programme tout simple fait par ma prof et qui marche quand elle le fait en CM, moi j'ai des messages d'erreus.
    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
     
    #include <iostream.h>
    #include <stdlib.h>
    int main (void)
     
    {
        unsigned int a, b;
        cout<<"Hello"<<endl<<"Donnez moi une valeur de A et B"<<endl<<"a :";
        cin>>a;
        cout<<"b :";
        cin>>b;
     
        cout<<a%b<<endl;
        system("PAUSE");
     
        return 0;
     
    }

    Les messages d'erreur ne m'empêchent pas d'exécuter le programme mais cela m'inquiète un peu.
    Mes 3 messages d'erreur sont :

    1 C:\Dev-Cpp\include\c++\3.4.2\backward\iostream.h:31, from C:\Documents and Settings\jack\Bureau\C++\modulo.cpp In file included from C:/Dev-Cpp/include/c++/3.4.2/backward/iostream.h:31, from C:\Documents and Settings\jack\Bureau\C++\modulo.cpp

    1 C:\Documents and Settings\jack\Bureau\C++\modulo.cpp from C:\Documents and Settings\jack\Bureau\C++\modulo.cpp

    32:2 C:\Dev-Cpp\include\c++\3.4.2\backward\backward_warning.h #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.

    Quelqu'un saurait-il ce que je dois faire pour rétablir le problème ?
    Merci d'avance pour votre aide.

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Avril 2010
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 356
    Par défaut
    D'après ce que je lis, se sont des warning. Toutefois, mieux vaut comprendre ce qui cause cet avertissement. Ici se sont la présence des :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #include <iostream.h>
    #include <stdlib.h>
    Mieux vaut inclure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #include <iostream>
    #include <cstdlib>

  3. #3
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut, et bienvenue sur le forum

    Le message est pourtant explcite...:
    32:2 C:\Dev-Cpp\include\c++\3.4.2\backward\backward_warning.h #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
    Le monsieur te dit que l'utilisation de <iostream.h> est dépréciée, et qu'il est préférable d'utiliser plutôt <iostream>.

    Le fait est que le fichier d'en-tête <iostream.h> a été créé avant la première normalisation du langage, alors que les espaces de noms n'étaient pas encore utilisés.

    Afin d'éviter tout conflit, la normalisation du langage a décidé de placer tout ce qui est fournit d'office par le standard dans l'espace de noms std (pour standard) et, pour garder la compatibilité avec l'existant, de conseiller d'utiliser plutôt les fichiers d'en-tête sans extension.

    De cette manière, tout projet qui incluait <iostream.h> (par exemple) avant la normalisation peut continuer à compiler et à fonctionner, mais l'avertissement signale que, idéalement, il faudrait modifier le code pour prendre en compte le nouveau fichier d'en-tête (<iostream>) et le fait que tout ce qui est fournit par le standard se trouve dans l'espace de noms std.

    Comme certains projets sont particulièrement imposants, cette manière de faire a donné à l'époque la capacité de continuer à maintenir l'existant sans qu'il ne doivent "jouer contre la montre" à devoir réviser l'intégralité du code de manière à sortir la version suivante dans les temps.

    Comme cela fait maintenant plus de dix ans que le changement a été effectué, il est cependant préférable de prendre l'avertissement en compte dans les nouveaux projets

    Sans autres modification que celle qui te permettront d'éviter cet avertissement, ton code devrait donc être modifier afin de ressembler à
    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
     
    #include <iostream>
    // l'inclusion de stdlib.h n'est pas nécessaire: c'est un fichier propre à C
    /* ici, ce n'est pas trop important, mais il faut vraiment réfléchir avant
     * de décider d'utiliser la directive using namespace ;)
     */
    using namespace std;
    int main (void)
     
    {
        unsigned int a, b;
        cout<<"Hello"<<endl<<"Donnez moi une valeur de A et B"<<endl<<"a :";
        cin>>a;
        cout<<"b :";
        cin>>b;
     
        cout<<a%b<<endl;
        system("PAUSE");
     
        return 0;
     
    }
    Ceci dit...

    Contrairement à C, il n'est pas nécessaire d'indiquer explicitement qu'une liste d'arguments est vide en C++.

    Les différentes signatures utilisées en C++ pour la fonction main sont donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    int main()
    //    et 
    int main(int argc, char * argv[])
    L'instruction system, pour utile qu'elle soit, est très peu portable, car elle fait appel à... une application propre au système d'exploitation sur laquelle l'application est lancée.

    Si tu souhaite effectuer une pause de manière portable, tu devrait faire un tour du coté de la FAQ

    Au final, ton code "corrigé" ressemblerait donc à
    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
    #include <iostream>
    #include <iostream> 
    #include <limits> 
    // l'inclusion de stdlib.h n'est pas nécessaire: c'est un fichier propre à C
    /* ici, ce n'est pas trop important, mais il faut vraiment réfléchir avant
     * de décider d'utiliser la directive using namespace ;)
     */
    using namespace std;
    int main ()
     
    {
        unsigned int a, b;
        cout<<"Hello"<<endl<<"Donnez moi une valeur de A et B"<<endl<<"a :";
        cin>>a;
        cout<<"b :";
        cin>>b;
     
        cout<<a%b<<endl;
        cout << "Appuyez sur entrée pour continuer...";
        cin.ignore( numeric_limits<streamsize>::max(), '\n' );
     
        return 0;
     
    }
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  4. #4
    Membre Expert
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Par défaut
    Y a encore de sprofs qui apprenent le C++ (pardon le C--) comme ça ?

  5. #5
    Modérateur
    Avatar de Overcrash
    Homme Profil pro
    Architecte Logiciel et responsable CRM (Salesforce)
    Inscrit en
    Mai 2008
    Messages
    1 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Architecte Logiciel et responsable CRM (Salesforce)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 254
    Par défaut
    Bonjour,

    Sans faire de troll ou autre, je pense que pour apprendre le C++, l'IDE Dev-cpp n'est pas le mieux. En tous cas moi il m'a posé pas mal de soucis.

    tu as Éclipse, code::block ou encore visual studio.
    Sachant que pour visual studio tu peux avoir une licence complète et gratuite si tu es étudiant .
    ---
    Overcrash

    Je ne lis pas les codes qui ne sont pas indentés.
    Merci de les messages utiles en cliquant en bas à droite du message

    Bloqué par le firewall pour accéder au chat ? Essayez avec l'adresse en direct : http://87.98.168.209/

  6. #6
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par Overcrash3181 Voir le message
    Sachant que pour visual studio tu peux avoir une licence complète et gratuite si tu es étudiant .
    Gratuite, je suis d'accord, complète, je ne suis pas d'accord.


    Limitations de la version express :
    1. No resource editor. 2. No MFC support. 3. No ATL support. 4. No Profiler support (by using profiler information, you can determine which sections of your code are working efficiently). 5. Does not support x64 applications. 6. No support for add-ins or macros.
    Ceci dit, cela suffit pour démarrer en programmation et en C++.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  7. #7
    Membre Expert Avatar de Astraya
    Homme Profil pro
    Consommateur de café
    Inscrit en
    Mai 2007
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Consommateur de café
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 048
    Par défaut
    Gratuite, je suis d'accord, complète, je ne suis pas d'accord.
    Je pense qu'il parlait du MSDNAA qui offre des versions pro de Visual Studio.

  8. #8
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par Astraya Voir le message
    Je pense qu'il parlait du MSDNAA qui offre des versions pro de Visual Studio.
    Effectivement, je pensais Visual Studio Express Edition
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  9. #9
    Modérateur
    Avatar de Overcrash
    Homme Profil pro
    Architecte Logiciel et responsable CRM (Salesforce)
    Inscrit en
    Mai 2008
    Messages
    1 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Architecte Logiciel et responsable CRM (Salesforce)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 254
    Par défaut
    Re,

    Je confirme je parlais bien de MSDNAA mais j'avais oublié le nom
    Je suis d'accord aussi pour dire que la version express n'est pas complète. logique en même temps ...
    ---
    Overcrash

    Je ne lis pas les codes qui ne sont pas indentés.
    Merci de les messages utiles en cliquant en bas à droite du message

    Bloqué par le firewall pour accéder au chat ? Essayez avec l'adresse en direct : http://87.98.168.209/

Discussions similaires

  1. Les outils que vous utilisez pour programmer en assembleur
    Par Smortex dans le forum x86 32-bits / 64-bits
    Réponses: 36
    Dernier message: 15/08/2022, 11h28
  2. Réponses: 1
    Dernier message: 26/09/2005, 19h29
  3. Réponses: 3
    Dernier message: 27/08/2003, 21h14
  4. cle pour programme
    Par mumu2001 dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 04/11/2002, 10h34

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