bon salut à tous......j´essaye d´apprendre les while et les for depuis hier mais je coprend pas trop a koi ils servent et dans quel cas ils s´utilisent..... alors si vous pouviez me donenr un exemple en m´expliquant, ça serait vachement simpa....
j´ai suivi les cours sur plusieurs sites mais je comprend toujours pas..............................
rayman
Bin c´est des boucles.
EN clair, tu va repeter plusieur fois un lot d´instruction jusqu´a ce qu´une condition soit validé.
exemple avec le for
for ( ici tu peux initialisé une ou des variables valables dans la boucle ; condition de continuation de la boucle ; instruction a faire en fin de boucle)
donc :
for ( i = 1 ; i < = 10 ; ++i)
{
cout < < i < < endl;
}
va t´afficher a l´ecran
1
2
3
4
5
6
7
8
9
10
tu commences par initialiser i a 1, ensuite tu lui dit de continuer tant que i est inferieur ou egal a 10, et a la fin de chaque boucle tu l´incremente de 1. Ici tu affiches i dans la boucle. Lorsque i depasse 10 ( 11 donc, hop, on sort de la boucle et on continue les instruction suivantes...
Bon jusque la tu suis?
Bin tiens, j´ai trouvé un cour sur commentcamarche.com, cherche les boucles sur cette page
http://www.commentcamarche.net/c/ccond.php3
c´est vraiment enormement utilisé en programmation ( pour parcourrir un tableau par exemple, en faisant varier l´indice de la case etc...) faut imperativement les comprendre et les maitriser...
Exemples pour while:
-1 exemple:
int choix;
do
{
printf("Tapez un nombre entre 0 et 5");
scanf("%d",&);
}while(choix>5);
( Demande à l´utilisateur de taper un nombre entre 0 et 5 et n sort que de la boucle si le nombre tapé est inférieur à 5).
-2exemple:
char car;
while ( (car ! = ´s´) && ( car ! = ´S´))
{
car = getch ( );
}
( no comment)
Si, un commentaire tout de meme.
Pour le do - while, la condition est verifier a la fin de la boucle, et donc le contenu de la boucle sera forcement au minimum UNE fois.
Ce qui n´est pas vrai pour le while qui peut etre sauté immediatement si la condition n´est pas remplis
ok merci bcp manest2 et anima ! je crois que j´ai compris pour les for et aprés les while je vais voir... et je vais allez voir le site aussi.....mais à la place des chiffre dans la boucle for on peut mettre des lettres ?
par exemple :
for ( i = a ; i < = g ; ++i)
{
cout < < i < < endl;
}
int main()
{
int g = 15 ;
int a = 10 ;
for ( int i=a ; i<g; i++)
cout < < " i"<<endl ;
int exit ;
cin > > exit ;
return 0 ;
}
Ouep, compil, link et tu veras ça marche ![]()
nop marche pas !
enfin quand je compil.....
Tant que j´y suis je vais t´expliquer les autres structures de controles :
IL y´a " deux types" de boucles : Les Tests et les Boucles !
Tests : If-Else et Switch
Boucles : While, For et Do-While
En fait le mieux pour t´aider c´est de traduire ce smots en Frnaçais :
If = Si
SI cette CONDITION ( là on fait un test par exemple : si a=10, ALORS on exécuta CA, SINON, on exécute l´instructions qui suit) exemple :
Exemple avec If-Else :
int main()
{
int MaVariable = 15 ;
int AutreVarible = 10 ;
if ( MaVariable == AutreVariable) /*l´opérateur arithmétique " ==" n´ets pas un opérateur d´affection de valeur mais un opérateur de test, donc SI Mavariable est EGAL à AutreVariable....*/
{
//on éxécute ceci si la condition testée est " vraie"
cout < < " La condition remplie est bien ´vraie´"<<endl ;
}
else
{
// on éxécute ceci si la condition testée est " fausse"
cout < < " La condition testée est ´fausse´"<<endl ;
int exit ;
cin > > exit ;
return 0 ;
}
Maintenant passons à Switch
Donc switch on peut le voir comme plusieurs " IF" embriqués dans une fonction ! l´instruction switch permet de tester la contenu d´une variable par appirt à une série de valeur. Ce branchement conditionel remplace avantageusement une suite d´instructions If sur une seule et meme variable :
Syntaxe :
switch ( variable)
{
case valeur1 : // instructions
break;
case valeur2 : // instructions
break ;
default : //instructions
}
. ....
allez hop un petit exemple
int main ( )
{
int NombreEcris ;
cout < < " Veuillez entrer un nombre entre 1 et 4"<endl ;
cin < < NombreEcris ;
switch ( NombreEcris)
case 1 :
cout<<"Vous avez écris le chiffre 1"<<endl;
break;
case 2 :
cout < < " Vous avez écris le nombre 2"<<endl ;
break ;
case 3 :
cout < < " Vous avez écris le nombre 3"<<endl ;
break ;
case 4 :
cout<< " Vous avez écris le nombre 4"<<endl ;
break ;
default :
cout<< " ce nombre n´est pas comprs entre 1 et4.."<<endl ;
}
int exit
cin > > exit ;
return 0 ;
}
( enfin les nbrs décimaux je crois qu´on peut mais j´en suis pas sur à 100%)
Explication :
Bien on te demande d´entrer un nombre entre 1 et 4, ce nombre est stocké dans une variable. Ok, ensuite on teste cette variable à l´aide de swich....SI la VALEUR de la variable est egal à la VALEUR qui se situe après le mot " case" à chaque ligne, on éxécute l´instruction de cette case, capitcho ? ![]()
et pour defaut, bah je pense que tu l´as compris, si aucun des valeurs des cases et égal à la variavle, ça affiche l´instruction de default
While :
la boucle WHILE correspont de type " tant que...." l´instruction ou le bloc d´instruction qui suit la condition, est éxécuté tant que la condition est vraie !
syntaxe :
while ( condition)
{
// code de la boucle
}
la condition est estée dès que l´on arrive sur la boucle. cela signifie qu´il peut arriver que l´on entre pas dans la boucle si la condition est fausse au début.
exemple :
void Etoile ( int NbrEtoile)
{
int i = 0 ;
while ( i<NbrEtoile)
{
cout < < ´*´<<endl ;
i++ ;
}
}
int main ( void)
{
cout < <"etoiles"<<endl;
Etoiles(0);
cout<<<<endl ;
Etoiles(1);
cout<<<<endl ;
Etoiles(2) ;
cout < <<<endl ;
Etoiles(3) ;
cout<<<endl ;
Etoiles(4) ;
int exit ;
cin > > exit ;
return 0 ;
}
For :
" #include < iostream.h>
int main()
{
int g = 15 ;
int a = 10 ;
for ( int i=a ; i<g; i++)
cout < < " i"<<endl ;
int exit ;
cin > > exit ;
return 0 ;
} "
Voilà ![]()
Impossible, chez moi je compile et ça marche, arghhh il faut pas d´espaces entre les " <<" de cout, vérifie les espace aussi de " include" car quand tu copies colle via ce forum, ça tout toute la mise en page ! ![]()
Tiens pour que se soit plus clair les codes sources :
http://membres.lycos.fr/chinacountry/Test1.cpp
je commence a comprendre ! merci ! en plus les codes que tu ma donné j´arrive a les compilé donc je vais regardé sinon l´autre je vais essayer...........encore merci merci merci ! !!
donc en faite...... si je comprend les swich par exemple pour mon quizz..... je peux l´utiliser pour que quand il appui sur la touche X ça affiche le message Y en fait ça raccourci le code un peu non ? ? mais je vais voir d´abord je vais essayer des trucs....encore merci coeurbrise et les autre aussi :
Exact, tu peux faire ça pour ton quizz, si tu regardes bien mon C-S de mon quizz, j´en ai fait un aussi pour le choix des discipline
! De rien, bon, clair là j´ai quelques crampes au doigts, mais rien de grave
!
ok, je vais essayer désolé pour les crampes
juste une derniere question , quand j´avais posté le sujet sur mon quizz, j´avais donné la source... et j´aimerais que à la place d´appuiyer sur un chiffre ça donne la réponse, j´aimerais que ça soit une lettre alors j´ai remplaçé ma variable int par char et changé la touche 1 par a par exemple mais ça marche pas, tu peux m´expliquer.......
No problem, je te fais un petit exemple :
int main()
{
char Choix ;
cout < < " Choisissez une matière parmis ceux-là en tapant son indice entre situé entre parenthèse : " <<endl ;
cout < < " BlaBla ( b), RoRo ( r)..."<<endl ;
cin > > Choix ;
switch ( Choix)
{
case b :
cout < < " Vous avez choisis ´BlaBla´"<<endl ;
break;
case r :
cout < < " Vous avez choisis RoRo"<<endl ;
break ;
default :
cout < < " Cette indice n´est pas valide"<<endl ;
}
int exit ;
cin > > exit ;
return 0 ;
}
OU alors
int main()
{
char Choix ;
cout < < " Choisissez une matière parmis ceux-là en tapant son indice entre situé entre parenthèse : " <<endl ;
cout < < " BlaBla ( b), RoRo ( r)..."<<endl ;
cin > > Choix ;
if ( Choix==´b´) // attention c´est ´´ et pas " "
{
cout < < " Vous avez choisis BlaBla"<<endl ;
}
else
{
cout < < " vous avez choisis RoRo"<<endl ;
}
int exit ;
cin > > exit ;
return 0 ;
}
Si il a plus de 2choix, je te conseille vivement le switch
!
lol, merci.....j´y arrivais pas paceque j´avais pas mit ma lettre entre ´ et ´ . ..sinon j´avais bine le char
pour le swich, il aura des fois plus de 2 choix même souvent donc je vais suivre ton conseil et ésséyé
merci ! ![]()
De rien ! ![]()