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![]()
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![]()
En insérant un \n entre chaque caractères ça devrait le faire.
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; }
Ressources proposées par 3DArchi - Les fonctions virtuelles en C++ - Cours et tutoriels C++ - FAQ C++ - Forum C++.
Salut,
Merci à vous deux.
3DArchi : Ton code marche et je t'en suis très reconnaissantmais je pensais que ça serait beaucoup plus simple
J'ai réussi à le faire en C avec le conseil de adc15 :
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 #include <stdio.h> int main() { char caractere; while (caractere != '\n') { scanf("%c", &caractere); printf("%c\n", caractere); } return 0; }
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
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' :
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.
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; }
Ressources proposées par 3DArchi - Les fonctions virtuelles en C++ - Cours et tutoriels C++ - FAQ C++ - Forum C++.
Salut,
Je vois bien que ceci ne marche que partiellement, mais je trouve pas la solution pour y remédier![]()
Partager