begin process at 2010 02 10 02:00:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Question de noob avec char :D


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Question de noob avec char :D

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ée 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...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales