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 :

Affiche Texte vertical


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Directeur de projet
    Inscrit en
    Avril 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 7
    Par défaut Affiche Texte vertical
    Bonjour,

    Je voudrais savoir comment afficher une ligne de texte entré par l’utilisateur, et la renvoyée en caractère afin qu'elle s'affiche verticalement. Merci de votre aide

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 49
    Par défaut
    En insérant un \n entre chaque caractères ça devrait le faire.

  3. #3
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Avec les algorithmes, les flux et une chaîne de caractère :
    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
    #include <algorithm>
    #include <iterator>
    #include <iostream>
    #include <string>
     
    int main()
    {
       std::string line;
       std::getline(std::cin,line);
       std::copy(
          line.begin()
          ,line.end()
          ,std::ostream_iterator<char>(std::cout,"\n")
       );
     
       return 0;
    }

  4. #4
    Nouveau membre du Club
    Femme Profil pro
    Directeur de projet
    Inscrit en
    Avril 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 7
    Par défaut
    Salut,

    Merci à vous deux.

    3DArchi : Ton code marche et je t'en suis très reconnaissant mais je pensais que ça serait beaucoup plus simple

    J'ai réussi à le faire en C avec le conseil de adc15 :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include <stdio.h>
     
    int main()
    {
       char caractere;
       while (caractere != '\n')
       {
          scanf("%c", &caractere);
          printf("%c\n", caractere);
       }
       return 0;
    }
    Donc en C++, j'ai fait ceci :



    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
    #include <iostream>
     
    using namespace std;
     
     
    int main()
    {
       char caractere;
       while (caractere != 'endl')
       {
          cin >> caractere;
          cout << caractere << endl;
       }
     
       return 0;
    }

    Problème : pas d'espace entre chaque mot et le programme continu infiniment...

    Voila, merci

  5. #5
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Ben, ma solution est simple puisqu'elle se base uniquement sur la STL C++

    'endl' n'est pas un caractère. Tout au plus aurais-tu pu écrire '\n' :
    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
    #include <iostream>
     
    using namespace std;
     
     
    int main()
    {
       char caractere(0);
       while (caractere != '\n')
       {
          cin >> caractere;
          cout << caractere << endl;
       }
     
       return 0;
    }
    Mais, bon, je pense que cela ne va pas complètement te convenir. Je te laisse essayer de comprendre comment cin>> fonctionne pour voir pourquoi cette solution n'est que partiellement satisfaisante.

  6. #6
    Nouveau membre du Club
    Femme Profil pro
    Directeur de projet
    Inscrit en
    Avril 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 7
    Par défaut
    Salut,

    Je vois bien que ceci ne marche que partiellement, mais je trouve pas la solution pour y remédier

  7. #7
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    En utilisant la première proposition de 3DArchi, qui tient en 3 lignes de code, ne demande pas d'écrire explicitement de boucle, et gère bien les espaces ?

    Ou, moins bien, en replaçant la ligne adéquate par : cin >> noskipws >> caractere;
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  8. #8
    Nouveau membre du Club
    Femme Profil pro
    Directeur de projet
    Inscrit en
    Avril 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 7
    Par défaut
    Salut JolyLoic,

    merci de ton aide, ça marche
    Je ne connaissais pas noskipws, comme quoi...

    @+

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

Discussions similaires

  1. Afficher texte vertical
    Par LeGilou dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 13/12/2012, 17h02
  2. [JTabbedPane] afficher texte étiquette bas en haut.
    Par spoutyoyo dans le forum Agents de placement/Fenêtres
    Réponses: 11
    Dernier message: 07/07/2009, 17h46
  3. [JButton] Afficher texte en survolant bouton.
    Par Galima dans le forum Composants
    Réponses: 2
    Dernier message: 04/06/2004, 22h21
  4. Canvas et Texte vertical
    Par ulysse66x dans le forum Composants VCL
    Réponses: 8
    Dernier message: 01/02/2004, 16h46
  5. afficher texte avec retour chariot aprèq requète sql
    Par frenchy371 dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/01/2004, 17h33

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