Boucle en c++

fonny Messages postés 12 Statut Membre -  
magicshark Messages postés 445 Statut Membre -
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

  1. magicshark Messages postés 445 Statut Membre 13
     
    do{

    // programme
    }while(action a faire pour que la boucle reprenne au debut)
    0
  2. fonny Messages postés 12 Statut Membre
     
    donc au final j'ai peux mettre quoi pour que le porgramme recommence?
    0
  3. gaulois94
     
    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
  4. fonny Messages postés 12 Statut Membre
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. gaulois94
     
    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
    1. gaulois94
       
      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
  7. fonny Messages postés 12 Statut Membre
     
    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
  8. gaulois94
     
    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
  9. fonny Messages postés 12 Statut Membre
     
    ba j'arrive pas à le faire marcher =/
    Je suis pas très douer on va dire.
    0
  10. gaulois94
     
    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
  11. fonny Messages postés 12 Statut Membre
     
    ba j'ai pas trouver lol
    Tu m'as posé une colle au final =/
    0
  12. gaulois94
     
    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
  13. fonny Messages postés 12 Statut Membre
     
    ba peut être mais au final le programme ne recommence pas et c'est assez embêtant =/
    0
  14. magicshark Messages postés 445 Statut Membre 13
     
    dans while tu met ta condition (en fonction d'un booleen une question poser ...)
    0