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 :

besoin d'aide pr constructeurs


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 6
    Par défaut besoin d'aide pr constructeurs
    bonjour, je suis debutante en C++
    je dois ecrire un programme qui gere les grands entiers, j'ai donc créé une classe Grandentier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    class Grandentier{
    int * tab;   // Tableau dynamique d'entiers
    int lg;  // taille du tableau
    bool negatif; //test si l'entier est negatif
    la classe contient un certain nombre d'opérateurs et fonctions ( ca , ca va!), mais je bloque sur le constructeur qui devrait prendre une chaine de caracteres en arguments je suppose, en effet l'utilisateur devra entrer un grand entier (donc une grande chaine de caractères) je ne sais pas comment gerer ca; stoker les caracteres dans un tableau d'entiers....et garder en plus le signe de l'entier.
    je suis completement perdue...

    merci d'avance.

    freeskieuse

  2. #2
    Membre chevronné Avatar de aziz jim
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 455
    Par défaut
    pourquoi une chaîne de caractères et pas un entier directement?

  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,

    Si, déjà, tu envisageais l'utilisation de la STL (je penses, entre autres, aux std::vector<> pour ton tableau) tu aurais plus facile, de manière général...

    Et, si, en plus, le "grand entier" ne doit etre codé que sous la forme de caractères, tu aurais peut etre intéret à envisager d'utiliser... une chaine de caractères pour maintenir sa valeur...

    Et, justement, la STL fournis une classe, nommée string (std::string) qui est particulièrement efficace pour les chaines de caractères...

    Associée à son pendant stringstream (std::istringstream et std::ostringstream, selon que tu veuilles passer de chaine à "autre chose" ou de "autre chose" à string) la convertion d'une ou vers une chaine de caractères en devient un véritable plaisir...

    Ainsi, tu pourrais, par exemple, envisager un constructeur prenant la forme de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    GrandEntier::GrandEntier(const std::string& val)
    {
        int recup;
        std::istringstream iss(val);
        iss>>recup;
        tonvectordentier.push_back(recup);
        /* ou, si tu veux vraiment utiliser un tableau ... il faut alors
           commencer par allouer au moins le pointeur, et donner une taille par
           défaut(mettons 10) */
        tab=new int[10];
        lg=10;
        tab[0]=recup;
    }
    Ceci dit, un entier codé en 32 bits (ce qui est le cas en général, meme si, selon le compilateur et le système on trouve d'autres implémentation) fournis plus de quatre milliards de nombres possibles(4.294.967.295, pour etre précis), éventuellement répartis entre les nombres négatifs et les nombres positifs, s'il s'agit de nombres signés...

    Alors, s'agit-il de pouvoir gérer des entiers dont la valeur dépasse les 4 milliards et quelques ou de pouvoir gérer plusieurs entier au sein de ta classe, comme le code que tu montre tendrait à le laisser présager
    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

Discussions similaires

  1. Réponses: 7
    Dernier message: 04/01/2013, 16h25
  2. besoin d'aide pour le composant DBComboBox
    Par jane2002 dans le forum Bases de données
    Réponses: 8
    Dernier message: 28/02/2004, 19h01
  3. [TP]besoin d'aide pour commandes inconnues
    Par Upal dans le forum Turbo Pascal
    Réponses: 15
    Dernier message: 03/10/2002, 10h48
  4. Besoin d'aide pour l'I.A. d'un puissance 4
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 17h05

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