Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Question de noob avec char :D [ Archives / Au secours ] (Bricomix)

mercredi 14 janvier 2004 à 20:13:56 | Question de noob avec char :D

Bricomix

Salut à tous,

Voilà, je suis noob en C++, j'ai lu un book et j'ai tappé le code suivant :


#include <iostream>
using namespace std;

int main() {
char rebegin[1] = "";
int age = 0;

cout << "Cool ! C'est ma premiere application C++ !!\\nJe suis un boss non ? (LOL)\\n\\n";

do {
cout << "Quel est ton age ? ";
cin >> age;
cout << "\\n\\n";

if (age >= 18 && age < 150) {
cout << "Bravo ! tu es majeur, tu as plus de 18 ans :D";
} else if (age > 0 && age < 18) {
cout << "Tu n'es pas majeur ! Ce programme n'est pas pour toi petit minus... :D";
} else {
cout << "Tu te fous de moi ! Tu ne peux pas avoir " << age << " an(s) !!";
}

cout << "\\n\\nOn recommence (O / N) ? ";
cin >> rebegin;

cout << "\\n\\n";
} while (rebegin=="o"||rebegin=="O");

return 0;
}


Voilà le problème : je veux que si l'utilisateur appuie sur la touche O à la fin, les questions recommencent. Seulement, je peux entrer n'importe quoi, ça ne marche pas, le programme se quitte. D'ailleurs, si au passage vous pouviez me réexpliquer le char je serai heureux :D

Merci d'avance de votre aide !

Bricomix

mercredi 14 janvier 2004 à 20:17:58 | Re : Question de noob avec char :D

ymca2003

pour comparer des chaînes de caractères (entre""), c'est strcmp.


mercredi 14 janvier 2004 à 20:19:33 | Re : Question de noob avec char :D

djl


char rebegin[1] = ""; ==> ca ve dir que rebegin est un pointeur mais c'est inutile pour un tableau a une case
fait plutot :
char rebegin; et la ca marchera

sinon avec char rebegin[1]
tu devrai faire
while (*rebegin=="o"|| *rebegin=="O");

mercredi 14 janvier 2004 à 20:27:40 | Re : Question de noob avec char :D

ymca2003


ça serait pas plutôt :

while (*rebegin=='o'|| *rebegin=='O');

mercredi 14 janvier 2004 à 20:32:25 | Re : Question de noob avec char :D

djl


ah, j'avais pas percuter que ca faisait une difference... je croyais que c'etait plus une histoire de convention

mercredi 14 janvier 2004 à 20:34:34 | Re : Question de noob avec char :D

vecchio56

Administrateur CodeS-SourceS
par convention un char et un char* ne représentent pas la meme chose


mercredi 14 janvier 2004 à 21:06:32 | Re : Question de noob avec char :D

Bricomix

Merci beaucoup à vous. J'ai remplacé char rebegin[1]="" par char rebegin et (rebegin=="o"||rebegin=="O") par (rebegin=='o'||rebegin=='O'). Mais voilà, il y a un hic : si j'entre une lettre à l'age, la question "Voulez-vous recommencer" est posé, mais on peut pas répondre, le programme est directement terminé...

Encore merci à vous

Bricomix

mercredi 14 janvier 2004 à 21:19:16 | Re : Question de noob avec char :D

djl


parce que cin attend un int et tu lui file un char, celui reste alors coincer dan le tampon jusqu'a la saisie d'un char

avant "Voulez-vous recommencer", vide le tampon
while(cin.get()!='\\n');

jeudi 15 janvier 2004 à 18:54:32 | Re : Question de noob avec char :D

Bricomix

Merci, mais en faites ça marche pas (je dois être vraiment nul ) Voilà le code :


#include <iostream>
#include <string>
using namespace std;

int main() {
char rebegin;
int age = 0;

cout << "Cool ! C'est ma premiere application C++ !!\\nJe suis un boss non ? (LOL)\\n\\n";

do {
cout << "Quel est ton age ? ";
cin >> age;
cout << "\\n\\n";

if (age >= 18 && age < 150) {
cout << "Bravo ! tu es majeur, tu as plus de 18 ans :D";
} else if (age > 0 && age < 18) {
cout << "Tu n'es pas majeur ! Ce programme n'est pas pour toi petit minus... :D";
} else {
cout << "Tu te fous de moi ! Tu ne peux pas avoir " << age << " an(s) !!";
}

cout << "\\n\\nOn recommence (O / N) ? ";

while (cin.get()!='\\n');
cin >> rebegin;
cout << "\\n\\n";
} while (rebegin=='o'||rebegin=='O');

return 0;
}


Maintenant si je mets une lettre, le while part dans une boucle infinie ! Si je remplaces la ligne par while (cin.get()!='\\n') cout << cin.get() << endl alors j'ai plein de -1 qui s'affiche à l'infini...

Je vous remercie encore de bien vouloir aider le noob que je suis (ben oui je faisais du VB c'est bien mais j'avais envie de passer à quelque chose de plus puissant ;) )...

Bricomix

jeudi 15 janvier 2004 à 18:58:37 | Re : Question de noob avec char :D

djl


quel compilo? et quel os?

sinon essay ca
while (cin.get()!=0); c'est mieux


1 2

Cette discussion est classé dans : code, age, char, noob, rebegin


Répondre à ce message

Sujets en rapport avec ce message

Autre question sur les pointeurs [ par Darkneon ] Salut,J'ai le code suivant.#include char strA[27] = "abcdefghijklmnopqrstuvwxyz";int main(void){ char *pA; "désallocation" inopinée [ par vecchio56 ] J'ai touvé un truc bizarre avec Visual C++ 6: le code suivant plante:#include void f(char* a){ a = new char[100]; // alloue de la Pb de variable (enfin je croi) [ par Xilofeon ] Regardé ce code :#define PIDVALIDE "6.0.2800.1106"...<b Char et caractère NULL [ par Arecibo ] Lorsque je déclare : char Texte[16];est ce que je déclare :- une variable de type char de 16 caractères PLUS le caractère NULLou- une vari conversion char-->hexadécimal [ par ivdz ] Bonjour,Est-ce que quelqu'un sait convertir un char en sa valeur hexadécimal ?Voici ce que j'ai essayé :char mot[]="255";int hexa;sscanf(mot Liberation de la mémoire [ par Xentor609 ] Salut,Voici le code qui me pose un pitit probleme:char* fonction(){char* buf=new char[MAX_BUF];//traitement du bufreturn buf;}void MyFunc()< Erreur DeviceIoControl ??? pk acces refusé ? [ par akk ] Bonjour,Voila lorsque j'execute ce code :(on passe le nom du lecteur en parametre exemple : main C)#include #include <iostre Pointeur et liberation de memoire [ par Darkneon ] Salut, J'avais un probleme apres que je liberais de la memoire allouer a un pointeur, le message "Null pointer assignment" m'apparaisait toujours. Le ouvrir un fichier avec devcpp [ par anek971 ] lut tout le monde,Bon j'ai fait un petit programme tout bete juste pour pouvoir ecrire une donné sur une personne ,dans le but d'agrementer ca plustar assembleur dans du code c [ par guillaume80 ] bjour a tous,dans un code c récupéré, j'ai pris le code pr le compiler sauf qu'il y a eu des soucis, il m'en reste un, c'est le suivant :char *ecran =


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.