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 :

Problème avec le while ( pour débutant ;p )


Sujet :

C++

  1. #1
    Lwq
    Lwq est déconnecté
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 6
    Points : 6
    Points
    6
    Par défaut [Résolu] Problème avec le while ( pour débutant ;p )
    Bonjour a tous, merci de lire ce que j'ecris.
    Voila sans plus tarder mon problème.
    On m'a demandé d'ecrire un programme ( dans le cadre d'un projet scolaire ) qui doit normalement lorsque j'inscrit le caractere $ arreter la phrase.
    Voici le code source ( fraichement tapé ^^ ):

    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
    27
    28
    29
    30
    31
    32
    33
    34
    #include <iostream>
    #include <string>
    using namespace std;
     
    int main(){
    	char cText;  //Variable cText ( caractère du texte )
    	string Text; // Chaine Text ( la phrase tapée )
     
    	// Message demandant a l'utilisateur l'entré des données.
    cout << "Veuillez taper votre phrase :"<< endl;
     
    while(cText != '$') {
     
              // Saisie de la phrase.
    	cin.get(cText);
     
    	     // Si le caractère entré est une virgule alors espace apres.
    	if (cText=','){
     	   cText=', ';}
     
    		// Si le caractère entré est un point alors espace apres.  
        if (cText='.'){
     	   cText='. ';}
     
     	   // Fabrication de la phrase a partir des caractères.
    Text=Text+cText;
     
    }
      		// Affichage du résultat		  
    cout << endl << "La phrase que vous venez d'entre est :" << endl << Text << endl;
     
    system("PAUSE");
    return 0;
    }
    En fait mon problème a lieu avec le caractère $ dans le while, j'ai essayer de le mettre entre guillement ou de prendre un autre caractère mais rien n'y fais il ne veux pas arreter la saisie.
    ( J'utilise Dev C++ pour crée mes codes ).
    Donc voila un peu d'aide me serait grandement utile Merci d'avance.
    Désolé pour la mise en page mais chez moi c'est mieux structuré :/

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    1°)
    2°) cText n'est pas initialisé. Je pense que tu devrais plutôt faire un do {} while(); ou mettre dans la chaîne, juste après le get, un if(cText == '$') break;

    3°) cText=', ' ne marche pas. Tu dois t'arranger pour ajouter la virgule et l'espace à ta chaîne, sans essayer bêtement de regrouper deux caractères sur un seul.

    4°) normalement, il n'y a aucun problème pour le '$'.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Lwq
    Lwq est déconnecté
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Merci
    Merci ca marche ^^. Je peux passer a l'etape suivante .
    Voici le code modifier et qui semble marcher ^^ ( si y a quelqu'un qui a le meme truc que moi ^^ ).
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    #include <iostream>
    #include <string>
    using namespace std;
     
    int main(){
    	char cText;  //Variable cText ( caractère du texte )
    	string Text; // Chaine Text ( la phrase tapé )
     
    	// Message demandant a l'utilisateur l'entré des données.
    cout << "Veuillez taper votre phrase :"<< endl;
     
    while (cText !='$'){
     
              // Saisie de la phrase.
    	cin.get(cText);
    	Text=Text+cText;
     
    	     // Si le caractère entré est une virgule alors espace apres.
    	if (cText==','){
     	   Text=Text+" ";}
     
    		// Si le caractère entré est un point alors espace apres.  
        if (cText=='.'){
     	   Text=Text+" ";}
     
     
     
     	   // Fabrication de la phrase a partir des caractères.
     
     
    }
      		// Affichage du résultat		  
    cout << endl << "La phrase que vous venez d'entre est :" << endl << Text << endl;
     
    system("PAUSE");
    return 0;
    }
    Merci à toi médinoc.

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 08/07/2006, 11h12
  2. [MySQL] problème avec 2 requetes pour 1 même tableau
    Par guy2004 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 03/11/2005, 12h50
  3. problèmes avec "include file" pour une page asp
    Par chipsense dans le forum ASP
    Réponses: 1
    Dernier message: 02/09/2005, 15h22
  4. [tomcat] [jsp] Problème avec driver OCI pour oracle
    Par nanardcompanie dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 01/07/2004, 09h54
  5. Problème avec Do while rs.EOF
    Par lauraned dans le forum ASP
    Réponses: 12
    Dernier message: 21/05/2004, 12h00

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