begin process at 2012 05 28 14:28:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

boucle qui ne fonctionne pas


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

boucle qui ne fonctionne pas

dimanche 23 avril 2006 à 15:40:07 | boucle qui ne fonctionne pas

florian1121

Bonjour!!
J'ai un probleme au niveau de mon programme, lorsque je le lance la boucle for dans les case ,ca empeche la boucle de switch de recommencer, ce qui est logique puisque le switch attend que le for soit fini pour recommencer!!
mais j'aurai besoin que les boucles  for recommence a 0 dés que je rappuit sur une fleche, tout en gardant la valeur de la variable distance, afin que les valaur calculé par la nouvelle boucle for s'additionne avec la variable distance de la boucle d'avant!!
Voici le programme pour plus de clarté!!

void main()
{
int vitesse=0,distance=0,n,i;
char touche;
n=1000;
i=clock_t()/CLOCKS_PER_SEC;
do
{
fflush(stdin);
touche = getch();
clrscr();
/*fonction récuperant le code ascii des fleche*/
switch(touche)
{
case 72 : vitesse += 10;/*fleche haut detecté*/
for(i=0;i<n;i++)/*boucle permettant un decompte du temps, dès l'appuit sur une fleche,
mais empechant a nouveau l'appui d'une fléche qui permettrait de changer la variable vitesse*/
{
system(
"cls");
printf(
"la voiture roule à %ikm/h\n",vitesse);
printf(
"%d\n",i);
distance=distance+(vitesse/3.6);
/*calcule de la distance parcourrue a chaque seconde, et
s'additionnant a la distance parcourrue jusque la*/
printf("distance=%d",distance);
_sleep(1000);
}
break;
case 80 : vitesse -= 10;
for(i=0;i<n;i++)
{
system(
"cls");
printf(
"la voiture roule à %ikm/h\n",vitesse);
printf(
"%d\n",i);
distance=distance+(vitesse/3.6);
printf(
"distance=%d",distance);
_sleep(1000);
}
break;
}
}
while(touche!=13); /* en appuyant sur entrer on boucle*/
}

dimanche 23 avril 2006 à 16:53:56 | Re : boucle qui ne fonctionne pas

Joky

Membre Club
Comme l'avais dit BruNews... CreateThread...

DWORD __stdcall ThreadProc( LPVOID lpParam )
{
     //Ici ce sera comme un nouveau processus, une espèce de programme indépendant
    //Donc tu peux faires tes traitements ici, par exemple ta boucle for
}

et dans ton switch
HANDLE hThread;

case 72:
    vitesse -= 10;
    hThread = CreateThread( NULL,
                                            0,
                                            (LPTRHEAD_START_ROUTINE)ThreadProc,
                                            NULL, //Le paramètre que tu veux passer
                                            0,   //Démarrer imédiatemment
                                            NULL );

    if(hThread == NULL)
       MessageBox(0, "Erreur lors de la création du thread.", "Erreur", 0x10);
    break;
                                          

if(!Meilleur("Joky")) return ERREUR;<

dimanche 23 avril 2006 à 16:57:37 | Re : boucle qui ne fonctionne pas

florian1121

Merci beaucoup, mais l'ennuit c que c trop compliqué pour moi , et pour mes connaissance en informatique!!!!
Je le tente et je te retient au courrant!!
dimanche 23 avril 2006 à 17:16:04 | Re : boucle qui ne fonctionne pas

florian1121

presque tout les mots que tu me donne me sont noté en erruer comme indentificateur introuvable, je suppose que c parcequ'il me manque un #include, lequel faut il mettre?
Et aussi , la fonction createthread, il ne faut pas la definir avant?
En fait l'idéal pour faire en fonction de mes connaissance ce serait une fonction qui permet d'arréter la boucle, par exemple dans la boucle for, 
if (touche==72)
n=i
else
/* le restant*/

Ce qui permettrait d'arréter la boucle en appuyant sur la fleche,
j'ai essayer mais ca ne marche pas, ou peut etre que j'ai fait une erreur(surment!!!)!!
Sans ca,pensez vous que ca pourrait marcher, et si oui coment l'ecrire correctement???

dimanche 23 avril 2006 à 17:37:03 | Re : boucle qui ne fonctionne pas

Joky

Membre Club
bé #include <windows.h>

mais si tu veux arréter ta boucle
BOOL bContinue;

case 75:
   bContinue = !bContinue

    for(i=0; i<.. ...)
    {
          if(!bContinue)
             break;

          //Traitement
    }  

if(!Meilleur("Joky")) return ERREUR;<



Cette discussion est classée dans : boucle, printf, for, distance, vitesse


Répondre à ce message

Sujets en rapport avec ce message

Probleme de boucle infinie [ par darkwhite ] Salut à tous, abcrésultat000000100 boucle imbriquée et pyramide de nombres [ par Smanyx ] Salut! Je voudrais arriver à écrire un programme en C qui affiche la pyramide ci-dessous: ----------1 ---------232 --------34543 -------456 Problème de code (tri et structure) [ par krolis ] Salut tout le monde, je rencontre un problème lors de l'exécution de ce code au niveau du tri par notes. Veuillez m'aidez s'il vous plaît. Merci d'ava aide sur un prog [ par jsuititidu27 ] Bonjour, j'ai besoin d'un petit coup de main. ceci est un exo qui demande d'écrire un programme de tri de chaines de caractères. J'ai donc écrit le co HELP [ par alex64100 ] BONOURje doit réaliser un   prog de tri de caractèresvoici mon code#include #include #include #include int main (int argc,  char ar Produit matriciel en c renvoit des valeurs complètement fausses [ par bilel59 ] Bonjout à tous, je sollicite votre aide pour la raison indiquée dans le titre, en effet le produif matriciel que j'effectue renvoit des valeurs vraime aider moi plz avant le 5 avril [ par riadusse ] voici mon programme de simulation de processus selon la méthode SJFj ai pas compris pourquoi l affichage est très très bizarre voici mon programme en tableau [ par ngabou98 ] bonjour à tous c'est encore moi svp j'ai besoin de votre aide je travaille sur la méthode de simplification d'une fonction booléene par la méthode de Boucle For pour créer des fichiers [ par dante20007 ] Bonjour, je voudrais faire une boucle pour créer plusieurs fichiers en c++ mais uniquement avec les fonctions Windows. Comment Faire?(Je ne sais pas c Sauvegarde de fichier géométrique simple dans un fichier sous xp. [ par DeathRavage ] Bonjour à tous j'ai pour projet de développer un programme permetant le dessin de formes géométriques simples et leur sauvegarde dans un fichier.j'ai


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 4,196 sec (3)

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