Au secours.....probleme en C++

storm_1986 Messages postés 1 Date d'inscription dimanche 17 décembre 2006 Statut Membre Dernière intervention 17 décembre 2006 - 17 déc. 2006 à 21:52
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 - 18 déc. 2006 à 10:02
Voila le programme que je viens de creer, mais il y a un probleme avec le 'cin.getline(name, 20)' en bas. Je n'arrive pas a saisir les entree avec cette fonction.





#include








#include



<string>

using






namespace
std;


int



main(){


char
n2;

int
n, i;cout<<


"Entrez un nombre naturel (0-5) : "
;cin>>n2;

cout<<endl;


switch
(n2){


case



'0'
:


case



'1'
: cout<<

"C'est 0 ou 1"
<<endl;

break
;


case



'2'
: cout<<

"C'est n'importe quoi!\07\07\07\07\07"
<<endl;

break
;


// note : if the 'break' statements are omitted, all 'cases' following the matching 'case' value


// including the 'default case' are executed.












case



'5'
: cout<<

"C'est 5"
<<endl;

break
;


case



'3'
:

case



'4'
: cout<<

"J'en ai marre de moi-meme !!!"
<<endl;


default
: cout<<

"Valeur incorrecte"
<<endl;}


char
name[21];

int
nbr1, nbr2, z;

nbr1=0; nbr2=0;

cout<<


"\nEntrez ton nom (moins de 21 caracteres): "
; cin.getline(name, 20,


'\n'
);

// with 'cin>>name', if u enter "ler a", only "ler" will be taken into account; think of another way

cout<<endl;




// solution : use 'cin.getline()', but crash with 'switch'









for
(z=0; z<=20; z++){

nbr1=nbr1+1;


// 'nbr1=nbr1+1;' sert a rien






// tres maladroit ici; on aurait pu faire {if (name[i]='a') nbr2=nbr2+1;}






if
(name[z]!=

'a'
)

continue
;nbr2=nbr2+1;

}

cout<<


"there are "
<<strlen(name)<<

" letters in your name"
<<endl;


if
(nbr2==0) cout<<

"\nThere's no 'a' in your name"
<<endl;


else
cout<<

"We found "
<<nbr2<<

" 'a' in your name"
<<endl;


return
0;}






yao

1 réponse

cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
18 déc. 2006 à 10:02
Qu'est que tu endends par "Je n'arrive pas a saisir les entree avec cette fonction."?
Si c'est que quand tu tape bob+entree tu recupere bob, il faut que rajoute \n a la fin de chaine
++
0
Rejoignez-nous