|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : mars 2011 Messages : 43 ![]() |
Salut les copains!
Je suis en train de lire pas mal de tutoriels sur le C++ et j'essaie de créer de petites applications simples pour vérifier que j'ai bien tout compris. Apparemment j'ai pas tout compris... ^^ J'ai voulu écrire un programme qui demande à l'utilisateur d'écrire quelque chose, qui lise ce que l'utilisateur a écrit, et puis qui dise "vous avez écrit XXX". Voici mon code en l'état actuel: Code :
Warning: unknown conversion type character 'a' in format À l'exécution, le programme produit le résultat suivant: Ecrivez quelque chose s'il-vous-plait... a (ça c'est ce que j'ai écrit) Vous avec ecrit : -0x1.9bf0b0p+808[100] Process returned 0 <0x0> execution time : 2.794 s Press any key to continue. Voilà. D'après mes connaissances actuelles, j'aurais tendance à dire que le "a" que j'ai écrit a été mal interprété (disons interprété "dans une autre langue"), ou qu'il n'a pas été renvoyé comme je m'y attendais. Le contenu renvoyé a un peu l'air d'une adresse, ou d'un truc du genre... Merci de m'expliquer ce qui n'allait pas. |
||
|
|
00
|
|
|
#2 |
![]() ![]() Cyrille Network programmer Inscription : juin 2010 Messages : 1 570 ![]() |
Bonjour,
si tu es en C++ oublie immédiatement les scanf et printf qui sont du C et passe à du std::cout et std::cin. Sinon, les crochets dans le formatage, tu as vu ça où ? Jamais entendu parler pour ma part. Pour limiter à 100 caractères, on fera %100s Et printf ne s'utilise pas comme ça pour formater une variable. |
|
|
20
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 43 ![]() |
Ok... ^^
Je reviens après avoir recommencé en vrai C++ =D |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 43 ![]() |
Salut, merci!
Les strings j'ai un peu essayé, mais ça marchait pas trop. Bon, en même temps c'est peut-être les printf scanf qui faisaient merder mon programme... Je reviens si j'ai de nouveaux problèmes =D |
|
|
00
|
|
|
#6 | ||
|
Invité de passage
![]() Inscription : mars 2011 Messages : 43 ![]() |
Ah ben ça aura pas été long! ^^
Je voudrais écrire un truc du genre: Code :
Quelqu'un sait-il pourquoi j'ai ce genre de problème? |
||
|
|
00
|
|
|
#7 | |||
![]() ![]() ![]() |
Citation:
"%10[abc]" = 10 caractères a, b ou c "%[^\n]" = lire jusqu'au premier retour à la ligne. @Armulis : Essaye avec : Code :
__________________
Recherche devs C++ motivés et sérieux pour Last Dungeon. Chaîne Youtube : Vidéos Ma page DVP : http://neckara.developpez.com/ |
|||
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 43 ![]() |
Merci Neckara, mais "#include <string>" et "using namespace std;" sont déjà au début de mon programme.
|
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 43 ![]() |
C'est tout bon j'ai trouvé!
Maintenant je cherche comment faire une petite temporisation (pour que le programme ne balance pas toujours tout ce qu'il a à dire en un instant sur la console. |
|
|
00
|
|
|
#10 |
|
Membre du Club
![]() Étudiant Inscription : janvier 2013 Messages : 58 ![]() |
#include <unistd.h>
sleep(10); |
|
|
00
|
|
|
#11 | |
![]() ![]() Cyrille Network programmer Inscription : juin 2010 Messages : 1 570 ![]() |
Citation:
|
|
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 43 ![]() |
Merci Kripteks.
Je demande juste un truc, puisque j'ai été averti à ce propos: sleep ne risque pas de surcharger mon processeur, si? Et la valeur à introduire correspond-elle à des millisecondes? |
|
|
00
|
|
|
#13 |
|
Membre expérimenté
![]() Étudiant Inscription : février 2012 Messages : 247 ![]() |
sleep venant de unistd.h fait une attente passive du nombre de secondes donné.
(En C++11 on peut utiliser la solution (standard) de #include <chrono> avec std::this_thread::sleep_for(std::chrono::seconds(s)); ou std::this_thread::sleep_for(std::chrono::milliseconds(ms)); par exemple.) |
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 43 ![]() |
Ok, ok... ^^
Y'a ce qu'il me fallait, mais j'avoue ne pas avoir tout compris sur la fin =D Je vais sûrement y venir en progressant, alors je garde ça au chaud, merci! |
|
|
00
|
|
|
#15 |
|
Membre expérimenté
![]() Étudiant Inscription : février 2012 Messages : 247 ![]() |
Il y a pas grand chose à comprendre
Il s'agit juste d'un appel de fonction sleep_for qui prend en paramètre une durée std::chrono::seconds(le_nombre_de_secondes_que_tu_veux_attendre). (Il faut activer C++11 pour pouvoir l'utiliser.) |
|
|
00
|
|
|
#16 | ||
|
Invité de passage
![]() Inscription : mars 2011 Messages : 43 ![]() |
Mmh... sleep ne fonctionne pas, apparemment.
J'ai mal compris? Voici ce que j'ai écrit: Code :
|
||
|
|
00
|
|
|
#17 |
![]() ![]() Cyrille Network programmer Inscription : juin 2010 Messages : 1 570 ![]() |
Si tu es sous windows, il faut utiliser Sleep de windows.h
Sous Unix il s'agira de usleep de unistd.h |
|
|
00
|
|
|
#18 | |||
|
Membre éprouvé
![]() Étudiant Inscription : juin 2012 Messages : 274 ![]() |
Citation:
Mais de toute façon pour quelqu'un qui commence le C++, autant prendre de bonnes habitudes et utiliser des fonctions standards (et portable) là où c'est possible. Code :
|
|||
|
|
00
|
|
|
#19 |
|
Membre Expert
![]() ![]() Inscription : novembre 2004 Messages : 2 073 ![]() |
Pas sous Visual C++ 2010, malheureusement... :/
__________________
VDS "The C++ Standard Library" (Josuttis) -> 30 € |
|
|
00
|
|
|
#20 |
|
Membre éprouvé
![]() Étudiant Inscription : juin 2012 Messages : 274 ![]() |
Ni sous gcc 4.6, mais par "partout" j'entendais "tout compilo qui à des notions de c++11", comme tu t'en doutais je pense.
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com