Pgcd

Fermé
fonny Messages postés 12 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 16 janvier 2011 - 16 janv. 2011 à 16:05
fonny Messages postés 12 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 16 janvier 2011 - 16 janv. 2011 à 16:48
Bonjour, j'ai un soucis avec la boucle de mon programme lorsque je met 0 pour fermer le programme eh bien mon programme recommence.

#include <stdio.h>
#include <conio.h>
int main(void)
{
while (1)
{
int a,b,pgcd;
printf ("Donner A : \n");
scanf ("%d",&a);
printf ("\nDonner B : \n");
scanf ("%d",&b);
do
{
if(a>b)
a=a-b;
else
b=b-a;
}
while(a!=b);
pgcd=a;
printf (" \nLe PGCD est : %d\n",pgcd);
scanf ("%c", &pgcd);
{
printf("Voulez-vous recommencer ? Oui=1 Non=0 \n");
scanf ("%c", &a);
}
}
getch();
return 0;
}

5 réponses

KX Messages postés 16741 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 30 mai 2024 3 016
16 janv. 2011 à 16:13
C'est normal, tu ne demandes jamais à ta boucle de s'arrêter !

Rajoutes if (a=='0') break; après scanf ("%c", &a);
0
fonny Messages postés 12 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 16 janvier 2011
16 janv. 2011 à 16:14
ba en fait je savais pas comment l'arrêter mais merci tu m'a bien aider ^^
0
fonny Messages postés 12 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 16 janvier 2011
16 janv. 2011 à 16:22
et jai un pb pour un autre programme niveau boucle lol
Si on suis ce que tu as mis ca devrais marché or ca ne marche pas =/

#include <stdio.h>
#include <conio.h>
int main(void)
{
while (1)
{
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;
printf ("Veuillez saisir la valeur suivante : 119 \n\n");
scanf("%d", &a);
while (a!= 119);
puts("\nToutes mes felicitations !!! \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 ? OUI=1 ou NON=0 \n\n");
scanf("%d", &a);
if (a=='0') break;
}
}
getch();
return 0;
}
0
KX Messages postés 16741 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 30 mai 2024 3 016
16 janv. 2011 à 16:39
Le problème ici c'est le while (a!= 119) il faut lui associer un do avant

do
{
    printf ("Veuillez saisir la valeur suivante : 119 \n\n"); 
    scanf("%d", &a); 
}
while (a!= 119);
0
fonny Messages postés 12 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 16 janvier 2011
16 janv. 2011 à 16:43
ba j'ai tjs le meme probleme =/ lorsque je met 0 la boucle continu
0

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

Posez votre question
fonny Messages postés 12 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 16 janvier 2011
16 janv. 2011 à 16:48
a c'est bon j'ai trouvé. Merci beaucoup de l'aide que tu m'a apporté =)
0