Ouais, alors j´avais déjà essayé qqch de similaire, et il fonctionne jusqu´au scanf. Mais après pas moyen qu´il me réimprime la phrase, je pense qu´il y a un problème avec le %s... Pour information je travaille avec le Dev-C++
En fait je n´arrive rien imprimer après le scanf...
Si tu le faisais en C++, ça irait tout seul avec la classe string:
include < string.h>
include < iostream>
int main()
{
string phrase;
cout < < " Quelle est votre phrase?";
cin > > phrase;
cout < < " Votre phrase est: " < < phrase;
getchar();
return 0;
}
Euh actuellement je ne travaille qu´en C, on verra pour le C++ plus tard... Parce que toi tu ne bosses qu´en C++ ?
C´est bon, j´ai réussi avec:
static char name[100] ="\n\nEntre ta phrase\n";
printf("%s",name);
scanf("\n%s",name);
printf("\nTa phrase %s",name);
Merci de votre aide ![]()
Je cherche des tuto et des cours sur le C++ pour le debutant de base. Un cours ou tout est expliqué tres clairement etc . ..
J´ai cherché sur la plupart des cours de developpez.com et j´ai rien trouvé en ce qui concerne l´apprentissage depuis 0.
donc, si vous connaissez des sites . ..
merci
Salut, je te propose de télecharger le cour de Christian Casteyde, c´est surement le cours français le mieux réalisé, au début il commence avec du C pour pas te noyer dans le cpp et ensuite du cpp, tu va voir c´est un cours très bien fait et très clair
Comme ce monsieur à des problemes en ce moment il a retiré le cours de son site à cause de problemes de droits d´auteurs, alors je l´ai mis sur un ftp pour que tu puisse le telecharger, dedans il y a aussi des exmeples du cours
http://navilinux.free.fr/download/doc/cours_cpp-1.40.5-html.zip
voilà
--log
Voila j´ai un problème en C++, infime mais génant quand même.
Bon je vous balance mon petit programme histoire de faire profiter même si ça sert à rien ^_^
using std::cout;
using std::cin;
int main()
{
unsigned short int entier;
unsigned short int quit;
cout < < " Entrez un entier ( entre 0 et 65535) : " ;
cin > > entier;
cout < < std::endl;
int i = 0;
int total = 0;
while(i < entier)
{
i++;
cout < < i;
if ( i < entier)
cout < < " + " ;
else
cout < < " = " ;
total = i + total;
}
cout < < total < < std::endl;
return 0;
}
Le truc c´est que lorsque je compile mon programme et que je l´execute en cliquant sur le . exe, mon programme tourne mais dès qu´il arrive à la fin du code, le programme quitte brutalement sans que je puisse lire le résultat.
J´ai essayé de plusieurs façons, j´ai essayé de mettre un :
unsigned short int quit;
cin > > quit;
A la fin pour empcher de quitter mais ça faisait pas très esthétique.
Il me semble qu´il existe une fonction du nom de getchar() , je l´ai placé en fin de mon code mais ça marche toujours pas.
Donc si vous pouvez m´aider un peu ce serait cool ![]()
Euh salut, je me souviens plus de cette saleté de C++ mais tu es sûr qu´il faut pas mettre un #include<iostream.h> ? parceque il manque le . h enfin bon, oui en C il existe une fonction du nom de getchar, qui est en fait la même chose que la fonction getc() ou plus précisément getc(stdin), en effet elle lit chaque caractère du flux ( je te rapelle stdin pour le flux d´entrée standard, stdout pour la sortie et stderr pour les putains d´erreurs) c´est le flux de sortie standard, bon alors je disais la fonction lit chaque caractère du flux, pour le convertir en entier, pour cela ( en C en tout cas) tu dois inclure stdio.h,
ensuite tu as juste a choisir ce que tu veux, stdin pour récuperer un char venant de l´utilisateur.
Pour getchar c´est pareil ! ( enfin d´après moi) tu dois utiliser stdio.h ( en C hein ? le cpp moi je connais pas) getchar va faire le meme truc que getc( stdin ) c´est a dire attendre qu´une touche soit pressée pour lire le flux, et le convertir donc pour que dans ton cas, ça bloque ton programme tu fais
main()
{
" programme"
. ..
getchar();
return 0;
}
et là ton programme feras ce qu´il doit faire et attendra l´appui d´une touche pour ensuite effectuer la fonction suivante donc sortir du programme
Tout ça c´est bien beau mais c´est du C, et pas du Cpp, donc tu as la théorie, maintenant faut chercher la pratique toi-même parceque je doute que ce cher langage te laisse la possibilité d´employer des libs C comme ça, m´enfin tu vois ça
Bon, fini ( :
--log
En c++ il existe un stdio.h apparament car il ne me renvoie aucune erreur lorsque je l´inclue.
Mais j´ai beau mettre getchar(); avant le return 0;
PS : #include < iostream>
le . h n´est pas necessaire ici, si la lib n´est pas pris en compte à cause du . h je pense que je ne pourrais pas utiliser les std::cout et autres std::cin non ?
Les fonctions ne sont peut être plus les même
le problème c´est que je ne sais pas où cherché pour trouver la bonne commande.
Mais j´ai beau mettre getchar(); avant le return 0; ça ne marche toujours pas
![]()
En C++, les . h pour les headers de la stl sont facultatifs.
Pour les headers hérité du C, on rajoute un c devant le nom :
( mais ca n´est pas supporté par tous les compilateurs )
Sinon pour résoudre ton problème, il suffit d´inclure stdlib et d´ajouter :
system("pause");
avant la fin du programme.
Ah excellent ça marche !
Merci, voila un super bon truc à me souvenir par la suite ^_^
thx encore ! ![]()
interessant pour mettre les libs C là, mais bon à mort le Cpp quand meme...
--log
vive le CPP !
argh un mutant Stroustrupien ! abattez-le !
--log
![]()
![]()
Qu´ouïje ? !?
" à mort le Cpp quand meme" ? !?
Et pourquoi donc gollum ? Je te croyais d´un temps partisant ?
Serais ce contraire au demo spirit ? ![]()
Hmm je ne sais pas, ce qui est sûr aussi c´est que j´ai en de sombre moment été tenté par l´obscurité et le chemin de la décadance programmationesque ( neologisme powaa), ce qui est sur aussi c´est que j´ai sût résister aux hordes de l´armée sombre des cout, cin et compagnie. Mais la force m´est revenue et je me bat aujourd´hui contre l´0bscurantysm maléfique des troupes Stroustrupiennes, Oui jadis tu fûs mon maître et mon arme, mais aujourd´hui c´est toi, chevalier de l´ombre qui a passé la ligne infranchissable de la déraison et du mal, et malgré toute l´éducation que tu m´as donné étant apprenti, je ne puis laisser une occasion de laisser le mal suprême envahir le coeur des jeunes recrues, Moi Aujourd´hui je dois emprunter le chemin du froid et de la désolation pour que le bien triomphe et repousser les forces du mal en dehors du monde civilisé. Dussé-je devrais-je combattre un à un tout les opposants à la liberté et la droiture à la seule force de mon épée içi présente ( brandit son cure-dent), monsieur vous vous conduisîtes avec honneur et allégeance envers votre royaume maléfique, mais le temps est venue de rendre compte de votre infamie devant les juges supremes de l´univers, les playmobil magistrat !
Pour saint Kernighan et saint Ritchie ! Tayauuuuuuut !
--log le chevalier au cure-dent de la droiture
![]()