Comment Répéter un programme
Fermé
faresk93
Messages postés
18
Date d'inscription
mardi 12 février 2013
Statut
Membre
Dernière intervention
10 février 2014
-
12 févr. 2013 à 21:19
faresk93 Messages postés 18 Date d'inscription mardi 12 février 2013 Statut Membre Dernière intervention 10 février 2014 - 14 févr. 2013 à 12:23
faresk93 Messages postés 18 Date d'inscription mardi 12 février 2013 Statut Membre Dernière intervention 10 février 2014 - 14 févr. 2013 à 12:23
A voir également:
- Répéter dans un programme
- Programme demarrage windows 10 - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Desinstaller un programme - Guide
- Forcer la fermeture d'un programme - Guide
- Mettre en veille un programme - Guide
2 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
12 févr. 2013 à 21:56
12 févr. 2013 à 21:56
scanf("%char",&c);
Mets plutôt : scanf("%c",&c); getchar();
Le getchar() est à mettre en plus pour vider le '\n' stocké dans le buffer clavier.
Mets plutôt : scanf("%c",&c); getchar();
Le getchar() est à mettre en plus pour vider le '\n' stocké dans le buffer clavier.
scinarf
Messages postés
1119
Date d'inscription
samedi 18 novembre 2006
Statut
Membre
Dernière intervention
25 septembre 2014
252
13 févr. 2013 à 10:56
13 févr. 2013 à 10:56
Bonjour,
Essayer avec ca, pas sur que ca fonctionne, je ne l'ai pas testé
main()
{
float temp;
char c;
bool ok=false;
while (ok==true)
{
printf("Write a temperature : ");
scanf("%f",&temp);
if (temp<=0)
printf("\nIce");
else
if (temp>0 && temp<=100)
printf("\nWater");
else
printf("\nSteam");
printf("\nRepeat ?");
printf("\nY/N : ");
scanf("%c",&c);
if (c == "N"||c == "n") ok= false;
}
}
voila qui devrait repeter le programme le temps que l'utilisateur n'a pas mis n ou N dans la commande "repeter"
Cordialement Scinarf
Essayer avec ca, pas sur que ca fonctionne, je ne l'ai pas testé
main()
{
float temp;
char c;
bool ok=false;
while (ok==true)
{
printf("Write a temperature : ");
scanf("%f",&temp);
if (temp<=0)
printf("\nIce");
else
if (temp>0 && temp<=100)
printf("\nWater");
else
printf("\nSteam");
printf("\nRepeat ?");
printf("\nY/N : ");
scanf("%c",&c);
if (c == "N"||c == "n") ok= false;
}
}
voila qui devrait repeter le programme le temps que l'utilisateur n'a pas mis n ou N dans la commande "repeter"
Cordialement Scinarf
faresk93
Messages postés
18
Date d'inscription
mardi 12 février 2013
Statut
Membre
Dernière intervention
10 février 2014
13 févr. 2013 à 11:30
13 févr. 2013 à 11:30
ça marche pas aussi mon ami, il recommence même en saisissant 'n' ou 'N'.
scinarf
Messages postés
1119
Date d'inscription
samedi 18 novembre 2006
Statut
Membre
Dernière intervention
25 septembre 2014
252
13 févr. 2013 à 13:23
13 févr. 2013 à 13:23
J'ai fais les tests avec ca et ca marche chez moi.
main()
{
float temp;
char c;
bool ok=1;
while (ok)
{
printf("Write a temperature : ");
scanf("%f",&temp);
if (temp<=0)
printf("\nIce");
else
if (temp>0 && temp<=100)
printf("\nWater");
else
printf("\nSteam");
printf("\nRepeat ?");
printf("\nY/N : ");
scanf("%c",&c);
if (c == 'N'||c == 'n')
{
ok= 0;
}
}
}
Dis moi si ca marche par la suite.
main()
{
float temp;
char c;
bool ok=1;
while (ok)
{
printf("Write a temperature : ");
scanf("%f",&temp);
if (temp<=0)
printf("\nIce");
else
if (temp>0 && temp<=100)
printf("\nWater");
else
printf("\nSteam");
printf("\nRepeat ?");
printf("\nY/N : ");
scanf("%c",&c);
if (c == 'N'||c == 'n')
{
ok= 0;
}
}
}
Dis moi si ca marche par la suite.
faresk93
Messages postés
18
Date d'inscription
mardi 12 février 2013
Statut
Membre
Dernière intervention
10 février 2014
13 févr. 2013 à 13:52
13 févr. 2013 à 13:52
non ça marche encore pas, aidez moi svp !!!
scinarf
Messages postés
1119
Date d'inscription
samedi 18 novembre 2006
Statut
Membre
Dernière intervention
25 septembre 2014
252
13 févr. 2013 à 16:23
13 févr. 2013 à 16:23
J'ai testé ce programme et chez moi il marche correctement ... tu utilises quel IDE ?
faresk93
Messages postés
18
Date d'inscription
mardi 12 février 2013
Statut
Membre
Dernière intervention
10 février 2014
13 févr. 2013 à 16:43
13 févr. 2013 à 16:43
Je l'ai codé avec Code Blocks, et je l'ai essayé maintenant avec Dev-c++
J'ai pas dit que le programme ne marche pas, si mais il recommence toujours avec n'importe quel caractère même le 'n' !
J'ai pas dit que le programme ne marche pas, si mais il recommence toujours avec n'importe quel caractère même le 'n' !
12 févr. 2013 à 22:13
12 févr. 2013 à 22:35
12 févr. 2013 à 22:45
Lorsque je l'exécute maintenant, ça marche bien sauf qu'il accepte toute réponse à la question Y/N ? et recommece le programme même avec la réponse 'n'
12 févr. 2013 à 23:06
Ah, ça change tout :-).
while((c=='y')||(c=='n'));
Cela veut dire, on boucle tant que c vaut 'y' ou 'n'
Il faudrait plutôt, mettre : while( ! ((c=='y') || (c=='n'))); ou while ((c!='y') && (c!='n'));
13 févr. 2013 à 10:35
Voici une image de ce que j'ai :
http://data.imagup.com/10/1175413833.png