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 :

[Débutant] Afficher 3 variables à partir d'un fichier ?


Sujet :

C++

Vue hybride

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 112
    Par défaut [Débutant] Afficher 3 variables à partir d'un fichier ?
    Bonjour tout le monde,



    Je suis quelqu'un qui cherche à comprendre la logique du langage c++. Je ne l'ai toujours pas saisi alors que cela fait très longtemps que je galère à comprendre.


    Je me suis référé à plusieurs occasions aux documentations disponiblent sur ce site, je me rends compte évidemment que c'est le résultat d'un travail énormissime de la part de ceux qui les ont rédigées, (FAQ, tuto, dico).

    Mais malgré tout ce luxe à portée de souris, j'y comprends rien à ces docs, je dois avoir un cerveau monté à l'envers vu que visiblement tous les autres débutants les comprennent instantanément.



    Alors j'essaie une autre approche, en utilisant l'interactivité du forum.

    En attendant quelqu'un libre pour répondre à mon "problème", en sachant que mon niveau de c++ s'arrête à l'affichage d'un mot en invite de commande msdos.



    - Je cherche à lire trois floats qui se suivent, se trouvant dans un fichier pour les afficher dans des champs chacuns séparés.

    Je connais la positions de ses floats.


    Est-ce un code facile à réaliser, quelle bibliothèque faut-t-il utiliser, etc ?

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 13
    Par défaut
    Bonjour,

    Non, ce n'est pas un code difficile à écrire, il faut juste te lancer !
    Tu trouveras dans la fac des exemples de manipulation de fichiers. Essaie de coder quelque chose et si ca ne marche pas, on t'aidera à debugger.

    Bon courage !

  3. #3
    r0d
    r0d est actuellement connecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 288
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par violette327
    Tu trouveras dans la fac des exemples de manipulation de fichiers. Essaie de coder quelque chose et si ca ne marche pas, on t'aidera à debugger.
    Nikolas n'est peut-être pas étudiant. Il n'a peut être pas accés à la fac...

    Plus sérieusement, la première chose à faire dans cette situation consiste à trouver un tutoriel basique utilisable sur l'IDE que tu utilises. Un IDE est un programme qui permet de programmer (visual c++, dev-c++, windev, etc...)

    Hope it helps.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 112
    Par défaut
    Citation Envoyé par r0d
    Nikolas n'est peut-être pas étudiant. Il n'a peut être pas accés à la fac...
    Tu crois pas si bien dire, j'ai arrêté très tôt les études (pas le choix), je n'ai pas connu de cours d'initiation à la programmation, non plus.


    Comme EDI, j'utilise Dev-C++, il a l'air pas mal, même s'il ne dispose malheureusement pas d'outil pour créer une interface graphique.

    J'ai essayé plusieurs tutoriels et un mot sur trois m'est inconnu dans ceux pour les débutants, alors j'ai essayé les tutos pour les niveaux superieurs (des fois que...) mais c'est évidemment pire, je m'en sortirais peut-être mieux s'ils étaient écrit en chinois.

    Pour que j'en viennes au forum, c'est que j'ai déjà bien insisté avec les docs !


    Si c'est pas long à faire, j'aurais souhaité que quelqu'un me montre le code et il me suffirait de l'analyser, je connais ma façon d'apprendre les choses et je sais que c'est celle qui a toujours le mieux marchée avec moi, l'exemple, mais si ça prend trop de temps à coder, alors je ne voudrais pas que ça ralentisse quelqu'un de doué.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 13
    Par défaut
    Si c'est pas long à faire, j'aurais souhaité que quelqu'un me montre le code et il me suffirait de l'analyser,
    Et bien comme je le disais tout à l'heure, dans la faQ (http://c.developpez.com/faq/cpp/?page=fichiers), il y a des exemples de code dont tu peux t'inspirer.

    Par exemple, pour lire ton fichier ligne par ligne :
    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 <string>
    #include <fstream>
    #include <iostream>
     
    int main()
    {
        // le constructeur de ifstream permet d'ouvrir un fichier en lecture
        std::ifstream fichier( "fichier.txt" );
     
        if ( fichier ) // ce test échoue si le fichier n'est pas ouvert
        {
            std::string ligne; // variable contenant chaque ligne lue
     
            // cette boucle s'arrête dès qu'une erreur de lecture survient
            while ( std::getline( fichier, ligne ) )
            {
                // afficher la ligne à l'écran
                std::cout << ligne << std::endl;
            }
        }
    }
    Essaie de voir si tu arrives deja à faire marcher ça...

    Sinon, pour lire des float, tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    float f;
    fichier >> f;
    cout << f << endl;

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 112
    Par défaut
    Citation Envoyé par violette327
    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 <string>
    #include <fstream>
    #include <iostream>
     
    int main()
    {
        // le constructeur de ifstream permet d'ouvrir un fichier en lecture
        std::ifstream fichier( "fichier.txt" );
     
        if ( fichier ) // ce test échoue si le fichier n'est pas ouvert
        {
            std::string ligne; // variable contenant chaque ligne lue
     
            // cette boucle s'arrête dès qu'une erreur de lecture survient
            while ( std::getline( fichier, ligne ) )
            {
                // afficher la ligne à l'écran
                std::cout << ligne << std::endl;
            }
        }
    }
    Comment fait-t-on pour compiler ce code sans erreur ?

  7. #7
    r0d
    r0d est actuellement connecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 288
    Billets dans le blog
    2
    Par défaut
    Ok.

    Alors, je veux bien te donner un coup de pouce, mais j'ai besoin de savoir plus précisément ce que tu souhaites faire.

    Donc, je te propose de procéder ainsi:
    1/ Dis-moi précisément ce que tu souhaite développer.
    -> Sur quelle plateforme développes-tu (windows, linux...)
    -> Souhaites-tu que ton programme soit protable (qu'il puisse être exécuté sur plusieurs plateformes) ?

    Et lorsque tu dis:
    Je cherche à lire trois floats qui se suivent, se trouvant dans un fichier pour les afficher dans des champs chacuns séparés.
    C'est trop vague:
    -> 3 floats qui se suivent dans un fichier ne me parait pas une bonne idée. Car pour un flottant, on ne sait pas combien de chiffres on va avoir avant et aprés la virgule. Il faut, à mon avis, qu'ils soient séparés, d'une façon ou d'une autre.
    -> Le fichier est de quel type (txt, xml, ...) ?
    -> "afficher dans un champ", donc tu va avoir desoin d'une interface graphique. Il n'y a pas de bibliothèque de gestion d'interface graphique par défaut en c++, tu va donc devoir en choisir une (ce qui signifie également l'installer et apprendre à l'utiliser).

    2/ Je te propose de séparer ton problème en sous-problèmes, afin de préocéder par étapes:

    a) implémenter un "hello word" (programme qui affiche "hello word")
    b) implémenter la classe qui va stocker tes données.
    c) implémenter une classe qui va lire ton fichier et les stocker dans la classe implémentée en b)
    d) implémenter la classe qui va afficher les données stockée dans la classe implémentée en b)

    Aller, au travail

    PS: pour la fac, c'était un mauvais jeu de mot avec FAQ... désolé

    [edit]Grillé par violette [/edit]

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 112
    Par défaut
    Alors déjà merci beaucoup de te pencher sur mon problème et de me parler avec des mots simples !



    Quand je dis des flottants à la suite, je veux dire les uns après les autres dans le fichier.



    3 flottants dans le fichier qui donneraient :

    • Adresse 0 : 3F441B7D
    • Adresse 4 : 00000080
    • Adresse 8 : 3F5DB3D7


    Le fichier en hexa ressemble alors à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    3F441B7D000000803F5DB3D7


    Et à l'affichage dans une interface graphique Windows, avoir :

    • Variable A [0,76604444]
    • Variable B [0]
    • Variable C [0,86602540]

    (L'inter crochet représentant un champ dans mon exemple.)



    La plateforme : C'est ce qui m'attire le plus dans le C++ ; sa portabilité alors je souhaite apprendre à programmer le plus portable possible, même si les deux plateformes que je vise en priorité sont Windows et Linux.


    Le type de fichier : Un type inventé.


    Bibliothèque d'interface graphique : En effet, il faut que j'en trouve une que j'arrive à installer, je suis intervenu dans un sujet qui en parle justement. Mais je suis toujours aussi perdu, l'installation est très compliquée parmis ceux qui sont proposés, c'est effrayant, donc j'ai pas pu encore en arriver au stade de domptage du logiciel.



    Euh, "implémenter" c'est comme "construire" si j'ai bien compris, donc coder une partie.


    Alors,

    a) Le "Hello word!" est la seule chose que j'arrive à faire.

    b, c et d) J'ai compris que la moitié du rôle de la classe, je suis incapable d'en reconnaître une dans un code, quand elle commence et quand elle termine.



    Ps : J'avais compris la blague, malheureusement il m'arrive moi aussi de faire ce genre de blague.

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/05/2008, 09h29
  2. [Débutante] Extraire des données à partir d'un fichier html avec xsl
    Par sab_etudianteBTS dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 11/03/2008, 09h10
  3. utiliser xslt pour afficher du texte à partir d'un fichier xml
    Par med_ellouze dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 23/08/2007, 14h52
  4. Réponses: 5
    Dernier message: 08/08/2007, 16h44
  5. Réponses: 4
    Dernier message: 19/03/2006, 15h20

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