Programmation de base en C++ ...

Fermé
NovaaH - 12 oct. 2011 à 15:48
 NovaaH - 12 oct. 2011 à 17:02
Bonjour,

Voilà le topo, je débute en programmation ( IUT), et le prof nous a donné à faire un compteur de plateau en C++ :

eeuuujshalfdlll.

Cette "phrase" contient 3 plateaux, par exemple.

Voilà mon code :


#include <iostream>
using namespace std;
int main ()
{
char let1='1',let2='0';
int nbrpla=0;
bool danplat=false;
while(let1!='.')
{
cin>>let1;
if ((let1==let2)&(danplat=false))
{
nbrpla=nbrpla+1;
}
else if (let1==let2)h
{
danplat=true;
}
else if (let1!=let2)
{
danplat=false;
}
let2=let1;
}
cout<<nbrpla;
return 0;
}

seulement, le cout m'affiche toujours 0, je n'arrive pas à comprendre pourquoi ...
A voir également:

3 réponses

Bon, une ou deux recherches m'ont fait comprendre que l'on ne pouvait utiliser les opérateurs == ou = sur les chars ...

Quelqu'un pourrait m'expliquer comment effectuer des tests de comparaison sur des chars, et comment définir à un char la valeur d'un autre char ?
0
Bonjour

Je ne sais pas où tu as pêché tes infos, mais on a parfaitement le droit d'utiliser = et == en C++. D'ailleurs, si ça n'avais pas été possible, le compilateur te l'aurait dit.
if ((let1==let2)&(danplat=false)) : je te rappelle que la comparaison c'est == et que le et logique c'est &&
0
Je.
Suis.
Un.
Idiot.


Merci de ton aide, j'ai refait tout ça sur papier, et j'ai pu trouver.


#include <iostream>
using namespace std;
int main ()
{
char let1='1',let2='0';
int nbrpla=0;
bool danpla=false;
while(let1!='.')
{
cin>>let1;
if (let1==let2&&danpla==false)
{
nbrpla=nbrpla+1;
danpla=true;
}
else if (let1!=let2)
{
danpla=false;
}
let2=let1;
}
cout<<nbrpla;
return 0;
}
0

Discussions similaires