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:
- Comment Répéter un programme
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Frequence programme national ✓ - Forum Messagerie
- Programme demarrage windows 10 - Guide
- Programme bonjour ✓ - Forum Windows
- Programme démarrage windows 10 - 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 816
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
1098
Date d'inscription
samedi 18 novembre 2006
Statut
Membre
Dernière intervention
25 septembre 2014
291
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
1098
Date d'inscription
samedi 18 novembre 2006
Statut
Membre
Dernière intervention
25 septembre 2014
291
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
1098
Date d'inscription
samedi 18 novembre 2006
Statut
Membre
Dernière intervention
25 septembre 2014
291
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
#include<stdio.h> #include<conio.h> #include<stdbool.h> main() { float temp; char c; bool ok=true; 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 : \n"); do { scanf("%c",&c); getchar(); } while((c=='y')||(c=='n')); switch(c) { case('y') : break; case('n') : ok=false;break; default : break; } } }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