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 :

Limiter caractères dans une string.


Sujet :

C++

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 19
    Points : 12
    Points
    12
    Par défaut Limiter caractères dans une string.
    Bonjour,
    Je dois coder un programme assez long, et l'unes des directives est que je dois limiter le nombre de caractères saisi à 4 minimum et 12 maximum. J'ai trouvé un moyen pour y arrivé mais mon prof me demande de faire une méthode incluant (int max et int min). En fait ma méthode dois obligatoirement ressembler à ça :

    Nom de la méthode : saisirChaineDeBits
    Paramètre :
    Entier min // longueur minimale
    Entier max // longueur maximale
    Type de résultat retourné : chaîne de caractère correspondant à une chaine de bits valide
    But : Saisir et valider une chaine de bits. En cas de chaine non valide, la méthode affiche un message approprié et redemande à l'utilisateur d'entrer une nouvelle chaine.
    ENTÊTE : string saisirChaineDeBits ( int min, int max )
    Et voici le code que j'ai fait :

    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
    25
    26
    #include <iostream>#include <cstring>
     
     
    using namespace std;
     
     
    int main()
    {
        char a[20];
        int b;
        cout << "Tapez une chaine : "; cin >> a;
        b = strlen(a);
        if (strlen(a)>20)
        {
          cout<<"c'est trop grand";
        }
        else if (strlen(a)<4)
        {
            cout<<"c'est trop petit";
        }
        else
    cout << "Taille de la chaine = " << b << endl;
     
     
        return 0;
    }
    Je n'ai pas compris à quoi vont servir les variables.
    Merci

  2. #2
    Membre émérite Avatar de Astraya
    Homme Profil pro
    Consommateur de café
    Inscrit en
    Mai 2007
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 047
    Points : 2 251
    Points
    2 251
    Par défaut
    Bonjour,

    Je n'ai pas compris à quoi vont servir les variables
    Les deux variables serviront à dire la taille minimum et maximum voulu.
    Ce qui veut dire que ton devrait plus ressembler à ceci

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Dans ton cas précis, tu as un intervalle de [4-12], mais qu'arrive-t-il si l'on souhaite avoir un autre intervalle que celui-ci ? Par exemple [8-20] ? Vas-tu recopier ce que tu as fais en changeant simplement les lignes où apparaissent ces limites ? Ou préfèreras-tu plutôt n'avoir à changer que l'appel à la fonction proposée par ton enseignant comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    string str1 = saisirChaineDeBits (4, 12); 
    string str2 = saisirChaineDeBits (8, 20);
    ?
    À noter qu'en C++, on utilise la classe std::string, et on jette aux oubliettes les tableaux de char.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    Bonjour Winjerome,
    je crois qu'il serait plus rapide de mettre plusieurs fonctions que de changer à chaque fois mon intervalle.
    Donc dans le premier cas j'aurai un code de ce style ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int min=4,max=20;
    string str1 = saisirChaineDeBits (int min, int max);
    Merci

  5. #5
    Invité
    Invité(e)
    Par défaut
    Plus exactement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int min=4,max=20;
    string str1 = saisirChaineDeBits (int min, int max);
    oui

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 19
    Points : 12
    Points
    12
    Par défaut
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Vérification des caractères dans une string
    Par julielanglois dans le forum Général VBA
    Réponses: 2
    Dernier message: 01/06/2009, 19h48
  2. Réponses: 9
    Dernier message: 02/12/2007, 20h54
  3. mettre des caractères dans une string
    Par will2taz dans le forum VB.NET
    Réponses: 13
    Dernier message: 13/11/2007, 17h11
  4. [RegEx] Remplacer des caractères dans une string
    Par jexl dans le forum Langage
    Réponses: 2
    Dernier message: 15/03/2007, 22h26
  5. limite Caractère dans une cellule Excel 2000
    Par Vetchostar dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/03/2007, 14h36

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