Aller au menu - Aller au contenu

Les boucles

Pour accéder à cette section
Connectez-vous !
connexion_rpx
Page Précédente  1  2  3  ...  5  6  7  8 
Pseudo Commentaire
Page Précédente  1  2  3  ...  5  6  7  8 
Hors ligne lapinbleu2 # Posté le 19/12/2011 à 11:02:16
Avatar

bonjour à tous !!
j'ai commencé à lire le tuto sur la programmation qui est fort intéressant..
mais avant tout j'aimerais savoir s'il est possible de programmer des votes toutes les deux heures sur des forums.. et répondre aux différents sujets en faisant un copié collé de la récap des points (preuve de vote) ? en résumé, ce pourrait être ma boucle..
par la suite, je pourrais si c'est toujours possible, programmer les articles et certains coms de mon blog..
je suis novice dans ce domaine et je voudrais entrer dans ce monde à ptits pas..
bonne journée et bon début de semaine à tous !!
Hors ligne MickeySansMousse # Posté le 30/12/2011 à 23:51:13
Avatar

Salut a tous

pour l'instant je lit tranquillement le tuto mais de fois quand j'utilise code::block il arrive quand recopiant les exemples du tuto... benh code::block y m'dit qu'y a des erreurs. J'aimerais savoir si c'est normal ou sinon ce que je peux faire ??
merci d'avance;)
Hors ligne pololo522 # Posté le 24/01/2012 à 23:22:48

Jai fait un petit jeu de BaseBall, il suffit de rentrer les statisque d'un joueur et vous allez voir ce qu'il pourrait frapper :) si vous avez des suggestion n'hesitez pas
Code : C
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main ()
{
    int AB = 0, B1 = 0, B2 = 0, B3 = 0, HR = 0, nombreMystere = 0, B1A = 0, B2A = 0, B3A = 0, HRA = 0, Rejouer = 1;
    const int MAX = 100, MIN = 1;

    // Génération du nombre aléatoire

 {
        // On demande le nombre
        printf("AB ? Nombre de presence au baton");
        scanf("%d", &AB);
        printf("B1 ? Premier but ? ");
        scanf("%d", &B1);
        printf("B2 ? Deuxieme but ? ");
        scanf("%d", &B2);
        printf("B3 ? Troisieme but ? ");
        scanf("%d", &B3);
        printf("HR ? Coup de circuit ? ");
        scanf("%d", &HR);
B1A= (B1*100)/AB;
B2A= (B2*100)/AB+B1A;
B3A= (B3*100)/AB+B2A;
HRA= (HR*100)/AB+B3A;
while ( Rejouer == 1)
{
{
    nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

    /* La boucle du programme. Elle se répète tant que l'utilisateur
    n'a pas trouvé le nombre mystère */



        // On compare le nombre entré avec le nombre mystère

        if (nombreMystere <= B1A )
            printf("Premier BUT !\n\n");
        else if (nombreMystere <= B2A )
            printf("Deuxieme BUT !\n\n");
        else if (nombreMystere <= B3A )
            printf("Troisieme BUT ! Tu cours vite ! \n\n");
        else if (nombreMystere <= HRA )
            printf("HOME RUN !!!!! HOOOOOMMMEEEEE RUNNN!!!! \n\n");
        else
            printf ("Stike Out\n\n");
            printf ("Un autre lancer ? 1=oui 0=non \n");
            scanf("%d", &Rejouer);
    }}
}
    return 0;
}
Hors ligne Ghost_anon # Posté le 13/02/2012 à 13:16:04
Avatar

Avis : Très bon

Bon, ce cours là! franchement tranquille :p
J'ai adoré la blague de la fin ,rien quand il lisant le code j'avais compris :D

J'imagine ce qu'est devenu maintenant le gamin s'il tapait déjà ce code-là à son âge ^^

le pire, c'est que sa prof a compris ^^

non,franchement, excellent tutoriel

PS: juste une chose, sur le tableau , s'il écrit return 0 dans sa boucle avant la fin de celle -ci, cela ne l'interrompe pas?
me semble que si, je suis pas sûr :euh:
Hors ligne lolo3670 # Posté le 21/02/2012 à 11:46:36

Avis : Très bon

Super rien à redire
Hors ligne acccromaths # Posté le 25/02/2012 à 12:10:50

J'ai voulu faire un programme pour m'entrainer. Mais ça coince !!!!!!!!!
J'y ai passé des heures, mais je tourne en ROND.
Bon il est un peu long. Mais ce serait cool si quelqu'un pouvait m'aider là.

#include <stdio.h>
#include <stdlib.h>
#include <time.h>//pour les nbr aléatoires

int main()
{
int fois=2;
//changes le nombre de fois quand tu veux
char nom [100];
int resultat,a,b,reponse,stop=1,tour=fois;
printf("Bonjour, je m'appelle Ordi.Comment t'appelles-tu?");
scanf("%s",&nom);
printf("\n%s!!! C'est vraiment un tres beau prenom. \n Bon, au travail!\n",nom);

while(stop==1)

/*LA CA COINCE, il ne veut pas arreter la boucle
"Veux-tu arreter (oui=0 // non=1) ?"0
"A la prochaine !!!"
"Calcules moi : " .................
au lieu de "A la prochaine !!!" return 0 */

{
int stop=2,tour=fois;
printf("Calcules moi : ");

do
{
const int MAX = 10, MIN = 1;
srand(time(NULL));
a= (rand() % (MAX - MIN + 1)) + MIN, b= (rand() % (MAX - MIN + 1)) + MIN;
do
{
reponse=0;
printf("\n\n Il te reste %d tours.\n\n%dx%d=",tour,a,b);
scanf("%d",&reponse);
resultat=a*b;

if(reponse==resultat)
{
printf("\nBravo!!!");
tour--;
}
else
{
printf("\nNON !!! Recommences !!!");
}
}
while(reponse!=resultat);//calcul et reponse
}
while(tour!=0);//permet de faire 10 tours d'affilés

while(stop>1)//demande pour recommencer la partie
{
printf("Veux-tu arreter (oui=0 // non=1) ?");
scanf("%d",&stop);
if (stop==0)
{
printf("A la prochaine !!!");
stop=0;
}
else if (stop==1)
{
printf("Cool !!! T'es une sacree matheuse !!!");
}
else
{
printf("J'ai pas compris ta reponse, tu peux repeter ?");

}
}
}
//arrête ou remet une partie
return 0;
}
Hors ligne willy56 # Posté le 17/03/2012 à 11:18:25

Voila qui devrait régler ton problème ;)

#include <stdio.h>
#include <stdlib.h>
#include <time.h>//pour les nbr aléatoires

int main()
{
int fois=2;
//changes le nombre de fois quand tu veux
char nom [100];
int resultat,a,b,reponse,stop=1,tour=fois;
printf("Bonjour, je m'appelle Ordi.Comment t'appelles-tu?");
scanf("%s",&nom);
printf("\n%s!!! C'est vraiment un tres beau prenom. \n Bon, au travail!\n",nom);

while(stop==1)

/*LA CA COINCE, il ne veut pas arreter la boucle
"Veux-tu arreter (oui=0 // non=1) ?"0
"A la prochaine !!!"
"Calcules moi : " .................
au lieu de "A la prochaine !!!" return 0 */

{
int stop=2,tour=fois;
printf("Calcules moi : ");

do
{
const int MAX = 10, MIN = 1;
srand(time(NULL));
a= (rand() % (MAX - MIN + 1)) + MIN, b= (rand() % (MAX - MIN + 1)) + MIN;
do
{
reponse=0;
printf("\n\n Il te reste %d tours.\n\n%dx%d=",tour,a,b);
scanf("%d",&reponse);
resultat=a*b;

if(reponse==resultat)
{
printf("\nBravo!!!");
tour--;
}
else
{
printf("\nNON !!! Recommences !!!");
}
}
while(reponse!=resultat);//calcul et reponse
}
while(tour!=0);//permet de faire 10 tours d'affilés

while(stop>1)//demande pour recommencer la partie
{
printf("Veux-tu arreter (oui=0 // non=1) ?");
scanf("%d",&stop);
if (stop==0)
{
printf("A la prochaine !!!");
return; //il suffisait de remplacer le stop=0 par return ;)
}
else if (stop==1)
{
printf("Cool !!! T'es une sacree matheuse !!!");
}
else
{
printf("J'ai pas compris ta reponse, tu peux repeter ?");

}
}
}
//arrête ou remet une partie
return 0;
}
Hors ligne Gianni57540 # Posté le 25/03/2012 à 22:46:53
Tout était bien.
Avatar

Avis : Très bon

Merci encore ! :)

Mieux vaut mourir incompris que passer sa vie à s'expliquer.
 
Hors ligne kams95 # Posté le 07/04/2012 à 12:48:20

Avis : Bon

Ma calculette un peu modifier avec les boucles ^^


#include <stdio.h>
#include <stdlib.h>

int main()
{
int chiffre1 = 0 , chiffre2 = 0 ,resultat = 0 , choixmenu = 0 ;

printf("======Ma caculatrice !======\n\n\n");
printf("1. Addition\n\n");
printf("2. Soustraction\n\n");
printf("3. Multiplication\n\n");
printf("4. Division\n\n");

printf("Choisissez une operation !\n");
scanf("%d" , &choixmenu);

switch (choixmenu)
{
case 1 :
printf("Vous avez choisit l'addition!\n\n");
printf("Entrez un premier nombre!\n");
scanf("%d" , &chiffre1);
printf("Entrez un second nombre!\n");
scanf("%d" , &chiffre2);
resultat = chiffre1 + chiffre2;
printf("%d + %d = %d" , chiffre1 , chiffre2 , resultat);
break;
case 2 :
printf("Vous avez choisit la soustraction!\n\n");
printf("Entrez un premier nombre!\n");
scanf("%d" , &chiffre1);
printf("Entrez un second nombre!\n");
scanf("%d" , &chiffre2);
resultat = chiffre1 - chiffre2;
printf("%d - %d = %d" , chiffre1 , chiffre2 , resultat);
break;
case 3 :
printf("Vous avez choisit la multiplication!\n\n");
printf("Entrez un premier nombre!\n");
scanf("%d" , &chiffre1);
printf("Entrez un second nombre!\n");
scanf("%d" , &chiffre2);
resultat = chiffre1 * chiffre2;
printf("%d x %d = %d" , chiffre1 , chiffre2 , resultat);
break;
default :
printf("Vous avez choisit la division!\n\n");
printf("Entrez un premier nombre!\n");
scanf("%d" , &chiffre1);
printf("Entrez un second nombre!\n");
scanf("%d" , &chiffre2);
resultat = chiffre1 / chiffre2;
printf("%d / %d = %d" , chiffre1 , chiffre2 , resultat);
break;

}
printf("\n\n");
return 0;
}
Hors ligne JeanDecian # Posté le 08/04/2012 à 04:59:46

Avis : Bon

Comment faire pour faire une répétition ?? Merci
Hors ligne Phawee # Posté le 24/04/2012 à 14:42:09
Avatar

Avis : Très bon

Bonjour bonjour,
J'avais une question qui semblera surement idiote, mais est-il possible de mettre plusieurs conditions dans une boucle while ?

ex:

while (score < 100 || vieDuJoueur > 0)

{
blablabla
}

J'ai évidement essayé mais sans succès, y a t'il une méthode spéciale ?

Merci d'avance !
Hors ligne Maximiah # Posté le 25/04/2012 à 05:54:24

Avis : Très bon

salut
j'ai un petit probleme avec la boucle do while , elle ne s'arrete pas

#include <stdio.h>
#include <stdlib.h>
#include <time.h>


int genereNombre (const , const);
int compareNombre( int , int);



int main(int argc,char*argv[])
{

int nombreMystere =0, nombreEntre = 0, coups =0;
const int MAX = 100 , MIN = 1;
nombreMystere = genereNombre(MIN , MAX);
do
{
printf("Quel est le bombre :");
scanf("%d",&nombreEntre);
coup++;
if(nombreEntre < nombreMystere)
printf("c'est plus\n");
else if(nombreEntre > nombreMystere)

printf("c'est moin\n");
else
printf("bravo vous avez reussi en %d coups\n" ,coup);
}while(compareNombre);
return 0;
}
int genereNombre (const MIN, const MAX)
{
srand(time(NULL)) ;

return (rand() % (MAX - MIN + 1 )) + MIN;

}
int compareNombre( int nombreEntre, int nombreMystere)
{
return nombreEntre != nombreMystere;
}
Hors ligne jerem2826 # Posté le 28/04/2012 à 17:03:24
Avatar

Avis : Très bon

Comme d'habitude de très bon tuto =)
Merci à toi M@teo21 !
Hors ligne Pandor31 # Posté le 07/05/2012 à 09:03:08

Je croit avoir reusit le jeux de facon assez sympa. En plus d'avoir un jeu fonctionnel j'ai aussi placer different compteur dans le jeu. Ce qui est bien sest que jai reussit a le fair jouer en boucle, il a une porte de sortit et il a un compteur pour le match courrant et total :D

Ce qui me manque jusqu'a maintenant s'est de pouvoir entrée une variable mot a la place de juste numerique.

Ha j'oubliais voila le jeu si vous vouller l'essayer:

http://www.packupload.com/AP1TTDCLGRX

:D
Hors ligne james d'esterbrook # Posté le 09/05/2012 à 18:13:55
Avatar

Avis : Très bon

Études : IUT Clermont 1

salut Maximiah,

il me semble que ton erreur viens de ces deux lignes

coup++;
printf("bravo vous avez reussi en %d coups\n" ,coup);

la variable coup n'existe pas, tu l'as déclaré en "coupS"

j'ai essayé de compiler après ces modifs, ça marche chez moi XD
Hors ligne Mattstar182 # Posté le 09/05/2012 à 22:54:50

Avis : Très bon

J'AI BESOIN D'AIIIIIIIIIIIDE =/
M@teo21 mon héros, je préparais innocemment ma PREMIÈRE boucle, celle du 47 =)
J'ai fini par réussir a la programmer sans erreurs ( ton cours est tellement génial aussi...), mais quand je met un chiffre autre que 47, sa me dit que le programme "boucle.exe" a cessé de fonctioner, windows va fermer le programme et vous indiquer si une solution est disponible blabla bla...
Sauf qu'il me propose rien comme solution =/
J'ten supplie, sa me bloque complètement dans mes progrès dans l'art de la programmation alors que j'aime carrémznt sa =/
Si t'a une solution se serait hyper cool de me l'envoyer sur mon email,(Matthieu.2911.182@gmail.com) merci d'avance =)
Matthieu, un de tes récents fans inconditionels, 294 843 eme mec inscrit ^^
PS: veuillez agréer l'expression de mes plus sincères sentiment sans le seul et l'unique but de servir l'espérance de votre satifcation pour toujours et a jamais... x)
Hors ligne KCRHodd # Posté le 10/05/2012 à 21:31:57

Bonsoir!
Et tout d'abord merci pour ces excellents tutoriaux!!

Voilà, je m'étais précédemment amusé à faire une calculatrice, et du coup à la fin de ce chapitre, j'ai voulu l'agrémenter d'une boucle afin que si la personne ne tape pas un chiffre qui correspond à un calcul (ex : 1 pour addition, 2 pour soustraction, etc.) le programme lui redemande de faire un choix. Problème : maintenant ça ne s'arrête jamais! Si je tape un chiffre qui correspond bien à une opération proposée, à la fin du calcul, le programme me redemande de faire un choix, et ainsi de suite à l'infinie!
Si quelqu'un pouvait m'aider à repérer l'erreur je lui en serais très reconnaissant =)
Voici mon code :

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
double resultat = 0, nombre1 = 0, nombre2 = 0;
int choixDOperation = 0;

do
{
printf("\n\n\t\t* * * * * C A L C U L A T R I C E * * * * *\n\n\n");
printf("Quelle operation souhaitez-vous effectuer?\n\n\n\t1. Addition\n\n\t2. Soustraction\n\n\t3. Multiplication\n\n\t4. Division\n\n\t5. racine carree\n\n\n");
printf("Entrez ici le numero correspondant a l'operation souhaitee : ");
scanf("%d", &choixDOperation);
printf("\n");

switch (choixDOperation)
{

case 1 :
printf("Entrez le nombre 1 : ");
scanf("%lf", &nombre1);
printf("\n");
printf("Entrez le nombre 2 : ");
scanf("%lf", &nombre2);
printf("\n");
resultat = nombre1 + nombre2;
printf("%f + %f = %f", nombre1, nombre2, resultat);
printf("\n");
break;

case 2 :
printf("Entrez le nombre 1 : ");
scanf("%lf", &nombre1);
printf("\n");
printf("Entrez le nombre 2 : ");
scanf("%lf", &nombre2);
printf("\n");
resultat = nombre1 - nombre2;
printf("%f - %f = %f", nombre1, nombre2, resultat);
printf("\n");
break;

case 3 :
printf("Entrez le nombre 1 : ");
scanf("%lf", &nombre1);
printf("\n");
printf("Entrez le nombre 2 : ");
scanf("%lf", &nombre2);
printf("\n");
resultat = nombre1 * nombre2;
printf("%f x %f = %f", nombre1, nombre2, resultat);
printf("\n");
break;

case 4 :
printf("Entrez le nombre 1 : ");
scanf("%lf", &nombre1);
printf("\n");
printf("Entrez le nombre 2 : ");
scanf("%lf", &nombre2);
printf("\n");
resultat = nombre1 / nombre2;
printf("%f / %f = %f", nombre1, nombre2, resultat);
printf("\n");
break;

case 5 :
printf("Entrez le nombre dont vous voulez obtenir la racine carree : ");
scanf("%lf", &nombre1);
printf("\n");
resultat = sqrt(nombre1);
printf("La racine carree de %f est egale a %f", nombre1, resultat);
printf("\n");
break;

default :
printf("Ce choix n'existe pas!\n\n\n");

}

}while(choixDOperation != 1 || 2 || 3 || 4 || 5);


return 0;
}
Pour accéder à cette section
Connectez-vous !
connexion_rpx