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

Langage C++ Discussion :

tableau plus fonction


Sujet :

Langage C++

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 9
    Par défaut tableau plus fonction
    Bonjour, je débute dans la programmation, et j'ai un petit soucis. J'ai créé une fonction char générant un mot aléatoirement venant d'un .txt. Ce mot doit etre envoyé dans une autre fonction void. Je fais donc un return a la fin de la fonction char. Seulement il n'accepte pas le return. il me dit:
    in fonction 'char wordcomputer () ':
    error: invalid conversion from 'char*' to 'char'

    Je ne comprend pas ce message d'erreur ni ce que je dois faire pour y remédier.

    ( les 2 librairies utilisées sont fstream; iostream)

    J'espère que j'ai été assez clair.
    Merci de votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    En C et en C++, char est le type de base pour stocker un caractère. Si tu veux renvoyer un mot il faut passer par ce que l'on appelle un chaîne de caractères. En C, elles sont le plus souvent représenté par des tableau de caractères( char[] ) ou par des pointeurs sur la premiere case d'un tableau (char*). Cependant ces représentation sont assez basique et ne peuvent pas être manipulé comme les types de base (int, float, char, ....). En C++, la librairie standard fournit une classe, std::string, qui s'utilise comme les types de base.
    Donc, pour revenir à ton problème, tu retiens qu"en C++ :
    • char = 1 caractère
    • std::string = un mot, un phrase, un texte, une ensemble de caractères

    A partir de là tu peux en déduire le type de retour de ta fonction...

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 9
    Par défaut
    Merci de ta réponse. En écrivant, le message je me disais bien que char ne renvoyait qu'un seul caractère et non un mot entier.

    Le problème est que je n'ai pas le droit d'utiliser la librairie string. J'ai seulement le droit à iostream, ctime, cstdlib et fstream.

  4. #4
    Membre confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2010
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2010
    Messages : 80
    Par défaut
    Salut,

    et du coup t'as compris le problème dans ton code ou pas?

    ça ressemble à un oubli d'étoile ou de & qq part.

    zou

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 9
    Par défaut
    Non, je n'ai pas trouvé. Je vous met la fonction pour ce ca vous soit plus clair. Désolé, je ne maitrise pas l'ajout d'image.

    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
    char wordComputer ()
    {
        srand(time(NULL));
        int random,random1,random2; 
        int nombre(0); 
        random1=(rand());  
        random2=(rand());
        random=((random1*random2)%361075); // pour avoir un nombre aléatoire assez grand, 361075 étant le nombre de mot dans le .txt
        char chaine[255];
     
        ifstream entree("dico.txt");
        entree >> chaine;
     
        while (nombre!=random)
        {
            entree >> chaine;
            nombre++;
        }
        cout <<"le mot choisi est : " <<chaine << endl; // juste pour tester si le choix aléatoire marche bien.
        entree.close(); 
        return chaine;
    }

  6. #6
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 9
    Par défaut
    up

  7. #7
    Invité
    Invité(e)
    Par défaut
    Dans ton cas il faut gérer las chaines de caractère "à la C", c'est à dire soit une chaine de tailles fixe, soit des allocations/réallocations/déallocations gérées à la main. Vu qu'une chaine de taille fixe semble te suffire, il faut la déclarer là où tu vas l'utiliser, puis l'envoyer à ta fonction wordComputer() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    void wordComputer(char chaineARemplir[255]);
     
    //.......................
     
    char chaine[255];
    wordComputer(chaine);
    // tu peux utiliser chaine ici

Discussions similaires

  1. [8086] Un tableau de fonctions
    Par disturbedID dans le forum x86 16-bits
    Réponses: 12
    Dernier message: 21/04/2006, 21h14
  2. Réponses: 8
    Dernier message: 10/03/2006, 17h28
  3. [mise à jour tableau en fonction du button radio]
    Par Lady_jade dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 30/12/2005, 11h41
  4. un tableau plus large que la fenêtre.
    Par maniaco_jazz dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 04/12/2005, 23h25
  5. tableau et fonction en c++
    Par flobx dans le forum C++
    Réponses: 5
    Dernier message: 13/11/2005, 15h12

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