Boucle en c++

Fermé
fonny Messages postés 12 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 16 janvier 2011 - 12 janv. 2011 à 18:54
magicshark Messages postés 399 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 6 mai 2014 - 12 janv. 2011 à 20:30
Bonjour, voila j'ai un soucis concernant mon programme. Je cherche a revenir au début histoire qu'on puisse réutiliser le programme a notre guise.
Seulement, lorsque je suis la consigne du programme, ce dernier ce ferme et du coup je ne sais pas comment procéder pour refaire recommencer le programme.
Pourriez-vous m'aider?

#include <stdio.h>
#include <conio.h>
int main (void)
{
int a;
int asciis = 115;
int asciia = 97;
int asciil = 108;
int asciiu = 117;
int asciit = 116;
int ascii = 45;
int asciiV = 86;
int asciiO = 79;
int asciiU = 85;
int asciiS = 83;
do
{
puts("Entrer le nombre suivant : 19 \n");
scanf("%d", &a);
}
while (a!= 19);
puts("\nBRAVO !!! \n");
printf("%c", asciis);
printf("%c", asciia);
printf("%c", asciil);
printf("%c", asciiu);
printf("%c", asciit);
printf("%c", ascii );
printf("%c", asciiV);
printf("%c", asciiO);
printf("%c", asciiU);
printf("%c", asciiS);
{
printf("\n\nVoulez-vous recommencer ? Tapper 1 pour OUI ou alors tapper 2 pour NON \n\n");
scanf("%d", &a);
}
return 0;
getch();
}

13 réponses

magicshark Messages postés 399 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 6 mai 2014 13
12 janv. 2011 à 18:58
do{

// programme
}while(action a faire pour que la boucle reprenne au debut)
0
fonny Messages postés 12 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 16 janvier 2011
12 janv. 2011 à 19:00
donc au final j'ai peux mettre quoi pour que le porgramme recommence?
0
puis pour recommencer ton programme tu dois faire ça :


#include <stdio.h>
#include <conio.h>
int main (void)

{
int a;
int asciis = 115;
int asciia = 97;
int asciil = 108;
int asciiu = 117;
int asciit = 116;
int ascii = 45;
int asciiV = 86;
int asciiO = 79;
int asciiU = 85;
int asciiS = 83;

do
{

printf("Ce que tu veux");

do
{
puts("Entrer le nombre suivant : 19 \n");
scanf("%d", &a);
}
while (a!= 19);
puts("\nBRAVO !!! \n");
printf("%c", asciis);
printf("%c", asciia);
printf("%c", asciil);
printf("%c", asciiu);
printf("%c", asciit);
printf("%c", ascii );
printf("%c", asciiV);
printf("%c", asciiO);
printf("%c", asciiU);
printf("%c", asciiS);
{
printf("\n\nVoulez-vous recommencer ? Tapper 1 pour OUI ou alors tapper 2 pour NON \n\n");
scanf("%d", &a);
}
return 0;
getch();
}

}while(a = 2);
}

remarque le do au début et le while a la fin qui emglobe toute ta fonction. J'ai ajouter un printf car il me faut un ; devant un do (de mémoire) après fait un if...else si la personne ne entre ni 1 ou 2 (on sait jamais sur qui on tombe)
0
fonny Messages postés 12 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 16 janvier 2011
12 janv. 2011 à 19:16
en fait y a un truc que je ne comprend pas c'est lorsque que tu met
do
{
printf("Ce que tu veux");
do
{
puts("Entrer le nombre suivant : 19 \n");
scanf("%d", &a);
}
c'est répétitif en fait parce que dans printf("Ce que tu veux"); ca rejoind a mettre pareil que puts("Entrer le nombre suivant : 19 \n"); donc ca reviend au même non?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
le soucis est que si j'ai bonne mémoire tu ne peut metre que un do si avant il y avait un ; . Comme après il y a un autre do, Je suis obliger de mettre un ; juste avant (au l'occurence ici j'ai décidez demettre un printf) Sinon il y a moyen d'arranger tout sa (si tu veux je peut te donner ma manière de faire. Regarde d'abord si le programme marchera comme sa.)
0
escuse moi t'es en C++ moi je programme pour le moment en C (c'est similaire d'ou pouruqoi j'ai pu te répondre pour le do....while) Je te propose de faire un if...else (une condition). au pire tu peut mettre printf(" \n"); comme sa tu a ton point virgule sans écrire quoi que se soit (juste les espace et un retrait de ligne) sinon (suis pas sur que sa marche) tu met printf(""); et la aussi je pense que sa marche (pas sur pour celui la)
0
fonny Messages postés 12 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 16 janvier 2011
12 janv. 2011 à 19:22
vas y donne ton idée, parce qu'en fait notre prof nous a donner son programme a lui (il marche pas souvent ceux qu'il nous donne du coup il faut le rectifier) et du coup c'est pas impossible qu'il manque beaucoup de chose ^^
0
je peut faire un else if (condition) si le C++ marche de la même manière je te passe la fonction :

#include <stdio.h>
#include <conio.h>
int main (void)

{
int a;
int asciis = 115;
int asciia = 97;
int asciil = 108;
int asciiu = 117;
int asciit = 116;
int ascii = 45;
int asciiV = 86;
int asciiO = 79;
int asciiU = 85;
int asciiS = 83;

do
{

puts("Entrer le nombre suivant : 19 \n");

do
{
scanf("%d", &a);

if (a = 19)

{
puts("\nBRAVO !!! \n");
}

else

{
printf("Tu n'a pas entrer le nombre 19 ! Recommence ! \n");
}

}
while (a!= 19);

printf("%c", asciis);
printf("%c", asciia);
printf("%c", asciil);
printf("%c", asciiu);
printf("%c", asciit);
printf("%c", ascii );
printf("%c", asciiV);
printf("%c", asciiO);
printf("%c", asciiU);
printf("%c", asciiS);
{
printf("\n\nVoulez-vous recommencer ? Tapper 1 pour OUI ou alors tapper 2 pour NON \n\n");
scanf("%d", &a);

if (a = 1)

{
printf("Tu a choisie de Recommencer");
}

else if (a = 2)

{
printf("Tu ne veux pas recommencer");
}

else

{
printf("Tu a entrer un mauvais nombre ! Recommence");
}

}while(a = 2);

}
return 0;
getch();

}
}

Je ne garantie pas que sa marche regarde et si il y a un soucis tente de le corriger (le if...else tu peut peut être le changer pour le C++ comme je te les dis j'utilise le C pour le moment)
0
fonny Messages postés 12 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 16 janvier 2011
12 janv. 2011 à 19:29
ba j'arrive pas à le faire marcher =/
Je suis pas très douer on va dire.
0
alors c'est moi qui est fais un problème ^^ regarde si t'arrive a le résoudre je débute dans la programmtion
0
fonny Messages postés 12 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 16 janvier 2011
12 janv. 2011 à 19:40
ba j'ai pas trouver lol
Tu m'as posé une colle au final =/
0
brefs oi tout ce que je voulais dire étais de faire une boucle qui commence après les int et qui fini a la fin de ton programme. (du type do....while).
0
fonny Messages postés 12 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 16 janvier 2011
12 janv. 2011 à 19:53
ba peut être mais au final le programme ne recommence pas et c'est assez embêtant =/
0
magicshark Messages postés 399 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 6 mai 2014 13
12 janv. 2011 à 20:30
dans while tu met ta condition (en fonction d'un booleen une question poser ...)
0