Interrompre une execution
Résolu/Fermé
naruto2333
Messages postés
51
Date d'inscription
vendredi 21 mars 2014
Statut
Membre
Dernière intervention
20 janvier 2017
-
27 avril 2014 à 22:37
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 29 avril 2014 à 20:54
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 29 avril 2014 à 20:54
slt a tout.
j ai ecris un prog sur c, comprenant plusieurs etape (sasie de donnée et affichage)
et là quand je veut arreter l execution a n importe quel moment je doit fermer le console et executer de nouveau
est ce que quelqu'un pourait m aider sur sa ?
cdlt .
j ai ecris un prog sur c, comprenant plusieurs etape (sasie de donnée et affichage)
et là quand je veut arreter l execution a n importe quel moment je doit fermer le console et executer de nouveau
est ce que quelqu'un pourait m aider sur sa ?
cdlt .
A voir également:
- Interrompre une execution
- Au démarrage de l’ordinateur, le d' se lance. il permet l’exécution des logiciels applicatifs et gère l’utilisation des ressources matérielles (mémoire, processeur, périphériques). - Forum Windows 10
- Erreur d'execution 1004 ✓ - Forum Excel
- Erreur d'exécution 13 incompatibilité de type ✓ - Forum Programmation
- Net user des erreurs ont affecté l'exécution de la commande - Forum Windows
- Erreur d'éxecution 1004 - Forum Programmation
4 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
27 avril 2014 à 22:51
27 avril 2014 à 22:51
Bonjour,
Pourquoi ne pas utiliser le mode debugger ?
Cdlt,
Pourquoi ne pas utiliser le mode debugger ?
Cdlt,
naruto2333
Messages postés
51
Date d'inscription
vendredi 21 mars 2014
Statut
Membre
Dernière intervention
20 janvier 2017
2
27 avril 2014 à 23:05
27 avril 2014 à 23:05
moi je connais pas ce mode dont tu parle
merci
merci
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
27 avril 2014 à 23:19
27 avril 2014 à 23:19
Ben, faut regarder sur internet ;-).
La méthode dépend de ton compilateur.
Par exemple, si tu as Code::Blocks :
http://fr.openclassrooms.com/informatique/cours/c-deboguer-avec-code-blocks
http://wiki.codeblocks.org/index.php?title=Debugging_with_Code::Blocks
Cdlt,
La méthode dépend de ton compilateur.
Par exemple, si tu as Code::Blocks :
http://fr.openclassrooms.com/informatique/cours/c-deboguer-avec-code-blocks
http://wiki.codeblocks.org/index.php?title=Debugging_with_Code::Blocks
Cdlt,
naruto2333
Messages postés
51
Date d'inscription
vendredi 21 mars 2014
Statut
Membre
Dernière intervention
20 janvier 2017
2
27 avril 2014 à 23:34
27 avril 2014 à 23:34
mon programme il est bon
je m explique
si je suis en plein jeux et je veut demmarer une nouvelle partie comment faire sans fermer le console
merci
je m explique
si je suis en plein jeux et je veut demmarer une nouvelle partie comment faire sans fermer le console
merci
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
27 avril 2014 à 23:49
27 avril 2014 à 23:49
Ce n'est pas clair ce que tu dis. Il faut être plus précis...
Si tu veux démarrer, une nouvelle partie, pourquoi ne pas faire une boucle while dans ton programme pour recommencer ?
Si tu veux démarrer, une nouvelle partie, pourquoi ne pas faire une boucle while dans ton programme pour recommencer ?
naruto2333
Messages postés
51
Date d'inscription
vendredi 21 mars 2014
Statut
Membre
Dernière intervention
20 janvier 2017
2
28 avril 2014 à 12:33
28 avril 2014 à 12:33
prenons l 'exemple du jeux des allumette et je joue contre le pc chaqu'un a son tour qui retire 1,2 ou 3 allumette et le perdant c lui qui prend la derniere allumette et au milieu de jeux supposons que j ai fait une erreur et aprés je c que je vais perdre donc c inutil de continuer donc par exemple je prevois une touche qui reprend le programme a zero par exemple si j appuie sur ECHAP sa reprend tout.
j ai une solution mais elle est chiante en fait aprés chaque saisie on me demande si je veux continuer ou abandonner la partie et reprendre mais c pas une bonne methode avec la scanf("%d",&choix) et apres selon choix on désside .
MERCI
j ai une solution mais elle est chiante en fait aprés chaque saisie on me demande si je veux continuer ou abandonner la partie et reprendre mais c pas une bonne methode avec la scanf("%d",&choix) et apres selon choix on désside .
MERCI
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
28 avril 2014 à 15:32
28 avril 2014 à 15:32
Ben, tu peux considérer la touche 0 comme choix pour recommencer.
Ou alors tu fais un fgets() pour permettre la saisie de n'importe quelle chaîne. Et tu convertis en nombre si besoin.
L'autre solution permettant l'utilisation d'échap est beaucoup plus compliqué et non standard.
Ou alors tu fais un fgets() pour permettre la saisie de n'importe quelle chaîne. Et tu convertis en nombre si besoin.
L'autre solution permettant l'utilisation d'échap est beaucoup plus compliqué et non standard.
naruto2333
Messages postés
51
Date d'inscription
vendredi 21 mars 2014
Statut
Membre
Dernière intervention
20 janvier 2017
2
29 avril 2014 à 14:04
29 avril 2014 à 14:04
moi je veux eviter ce genre de traitement
switch(choix)
case 1: traitement 1
case 2: traitement 2
.
.
.
case 0: nouvelle partie
switch(choix)
case 1: traitement 1
case 2: traitement 2
.
.
.
case 0: nouvelle partie
Twinuts
Messages postés
5375
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
14 juin 2023
2
29 avril 2014 à 15:32
29 avril 2014 à 15:32
Salut,
Comme tu sembles refuser les idées proposées, en fonction de ton code si tu veux effectuer un reset de ton soft, tu peux toujours te pencher sur la solution des jumps (pas forcément le plus élégant):
Exemple (GNU Linux):
compilation:
gcc lefichier.c -o lebinaire
Pour le portage windows:
sleep: devient Sleep
le reste devrait être compatible.
Pour une utilisation plus conforme des jumps: http://groups.di.unipi.it/~nids/docs/longjump_try_trow_catch.html
Comme tu sembles refuser les idées proposées, en fonction de ton code si tu veux effectuer un reset de ton soft, tu peux toujours te pencher sur la solution des jumps (pas forcément le plus élégant):
Exemple (GNU Linux):
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <setjmp.h> int main(int argc, char** argv) { jmp_buf jbuf; /* pour les jumps */ _Bool end = 0; /* fin de boucle */ int max = 5; /* nombre max avant le reset */ /* mémorise l'emplacement */ setjmp(jbuf); end = 0; int i = 1; while(!end) { printf("Print %02d\n", (i++)); sleep(1); if(i > max) { printf("Soft reset\n"); /* retourne à l'emplacement precedement memorise */ longjmp(jbuf, 0); } } return 0; }
compilation:
gcc lefichier.c -o lebinaire
Pour le portage windows:
sleep: devient Sleep
le reste devrait être compatible.
Pour une utilisation plus conforme des jumps: http://groups.di.unipi.it/~nids/docs/longjump_try_trow_catch.html
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
29 avril 2014 à 17:45
29 avril 2014 à 17:45
Vaut mieux encore dans ce cas un goto...
Mais on peut s'en passer en jouant avec les break et compagnie (ou les switch :-)).
Mais on peut s'en passer en jouant avec les break et compagnie (ou les switch :-)).
Twinuts
Messages postés
5375
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
14 juin 2023
2
29 avril 2014 à 17:58
29 avril 2014 à 17:58
Le goto à tendance à effrayer les gens alors que les jumps (hors gestion d'exceptions) rebute moins...
Sinon je partage à 100% tes propositions, mais comme sieur naruto2333 ne semple pas chaud pour ce genre de choses...
Sinon je partage à 100% tes propositions, mais comme sieur naruto2333 ne semple pas chaud pour ce genre de choses...
naruto2333
Messages postés
51
Date d'inscription
vendredi 21 mars 2014
Statut
Membre
Dernière intervention
20 janvier 2017
2
29 avril 2014 à 20:30
29 avril 2014 à 20:30
OK donc c'est d'accord j'utilise la boucle switch();
merci a vous
merci a vous
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
29 avril 2014 à 20:54
29 avril 2014 à 20:54
Excellent choix ;-)