Ajouter une boucle (langage C)

Résolu/Fermé
Turki1923 Messages postés 538 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 13 octobre 2018 - Modifié par Turki1923 le 1/11/2010 à 15:52
Turki1923 Messages postés 538 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 13 octobre 2018 - 2 nov. 2010 à 00:21
Bonjour,

voici mon problème j'ai créé une (tout petite) calculette avec ce que j'ai apris dans les 100 première pages du livre du site du zero , mais je n'ai pas bien compris comment faire une boucle (avec while , for et do ... while ) qui englobe tout mon code si vous pouviez bien m'aidé a se sujet sa serai gentil :) merci d'avance .

je voudrai donc demandé a l'utilisateur si il veut reccomencé , et reccomencé si il dit oui :)

voici ma calculette :

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main (int argc , char * argv [])

{
int resultat , nombre1 , nombre2 , choix_Operation ;
resultat = 0 ;
nombre1 = 0 ;
nombre2 = 0 ;
choix_Operation = 0 ;
printf ("choisissez votre opération\n");
printf ("1 : Multiplication\n");
printf ("2 : division\n");
printf ("3 : soustraction\n");
printf ("4 : addition\n");
printf ("5 : modulo\n");
scanf ("%d" , &choix_Operation);
if (choix_Operation == 1)
{
printf ("vous avez choisi la multiplication\n entrer le premier nombre : ");
scanf ("%d" , &nombre1);
printf ("\nentrer le deuscième nombre");
scanf ("%d" , &nombre2);
resultat = nombre1 * nombre2 ;
printf ("%d * %d = %d" , nombre1 , nombre2 , resultat);
}
else if (choix_Operation == 2)
{
printf ("vous avez choisi la division \n entrer le nombre 1 : ");
scanf ("%d" , &nombre1 );
printf ("\nentrer le deuxième nombre : ");
scanf ("%d" , &nombre2 );
resultat = nombre1 / nombre2 ;
printf ("%d : %d = %d" , nombre1 , nombre2 , resultat);
}
else if (choix_Operation == 3 )
{
printf ("vous avez choisi la soustraction \n entrer le nombre 1 : ");
scanf ("%d" , &nombre1);
printf ("\nentrer le deuxième nombre : ");
scanf ("%d" , &nombre2);
resultat = nombre1 - nombre2 ;
printf ("%d - %d = %d" , nombre1 , nombre2 , resultat);
}
else if (choix_Operation == 4 )
{
printf ("vous avez choisi l'addition \n entrer le nombre 1 : ");
scanf ("%d" , &nombre1);
printf ("\nentrer le deuxième nombre : ");
scanf ("%d" , &nombre2);
resultat = nombre1 + nombre2 ;
printf ("%d + %d = %d" , nombre1 , nombre2 , resultat);
}
else if (choix_Operation == 5 )
{
printf ("vous avez choisi le modulo \n entrer le nombre 1 : ");
scanf ("%d" , &nombre1);
printf ("\nentrer le deuxième nombre : ");
scanf ("%d" , &nombre2 );
resultat = nombre1 % nombre2 ;
printf ("%d / %d = %d " , nombre1 , nombre2 , resultat);
}
else
{
printf ("vous devez choisir un nombre compris entre 1 et 5");
}
return 0 ;
}

comment dois-je procédé ?


4 réponses

Blashyrk Messages postés 19 Date d'inscription lundi 4 octobre 2010 Statut Membre Dernière intervention 26 octobre 2011 5
1 nov. 2010 à 19:48
Le plus simple est d'utiliser une variable de type char qui contiendra le choix de l'utilisateur (initialise-la à 'o') et d'utiliser une boucle while.
Ta boucle commencera avant que tu demandes le choix de l'opération et se finira après ton dernier else (il faudra bien sûr demander si l'utilisateur veut continuer avant de fermer la boucle).
La condition d'arrêt de la boucle est que l'utilisateur te réponde autre chose que 'o'.
1
6kenshin62 Messages postés 433 Date d'inscription jeudi 8 mai 2008 Statut Membre Dernière intervention 7 août 2015 70
1 nov. 2010 à 20:59
Ne cherchez pas compliqué !
Vous creez une variable au tout debut du code puis vous faite la boucle:


#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main (int argc , char * argv [])

{
int resultat , nombre1 , nombre2 , choix_Operation, ;
int boucle = 0;

while (bloucle != 1) //Tant que l'utilisateur n'a pas ecrit 1, on fait le code, au debut la variable est a 0 donc on rentre bien dans la boucle.
{

//ici tout le code

printf ("Voulez vous refaire un calcul ? 0 = oui et 1 = non ");
scanf ("%d" , &boucle );

}

}

Si vous avez besoin d'aide pour d'autres choses n'hesitez pas à m'envoyer un message prive.

Cordialement
Kenshin
1
Turki1923 Messages postés 538 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 13 octobre 2018 10
Modifié par Turki1923 le 1/11/2010 à 23:31
@6kenshin62

j'ai fait ce que tu as dit kenshin mais il n'accepte pas quel est mon erreur ? merci ...

{
int resultat , nombre1 , nombre2 , choix_Operation ;
int boucle = 0 ;
while (bloucle != 1)
{
resultat = 0 ;
nombre1 = 0 ;
nombre2 = 0 ;
choix_Operation = 0 ;
printf ("choisissez votre opération\n");
printf ("1 : Multiplication\n");
scanf ("%d" , &choix_Operation);
if (choix_Operation == 1)
{
printf ("vous avez choisi la multiplication\n entrer le premier nombre : ");
scanf ("%d" , &nombre1);
printf ("\nentrer le deuscième nombre");
scanf ("%d" , &nombre2);
resultat = nombre1 * nombre2 ;
printf ("%d * %d = %d" , nombre1 , nombre2 , resultat);

}
else{

printf ("vous devez choisir un nombre compris entre 1 et 5");
}

printf ("Voulez vous refaire un calcul ? 0 = oui et 1 = non ");
scanf ("%d" , &boucle )
;
}

return 0 ;
}
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
1 nov. 2010 à 23:47
int boucle = 0 ;
while (bloucle != 1) // essaye avec 'boucle' sans l
0
Turki1923 Messages postés 538 Date d'inscription dimanche 9 août 2009 Statut Membre Dernière intervention 13 octobre 2018 10
2 nov. 2010 à 00:21
ah parfait !! Merci
0