Mon programme tourne rond ?
jason-live
Messages postés
219
Date d'inscription
Statut
Membre
-
loupius Messages postés 789 Statut Membre -
loupius Messages postés 789 Statut Membre -
Bonjour, je voudrais savoir si mon programme tourne bien rond ?
Voici le code :
--- > si j'ai bien initialisé les valeur des mot de passes au début
--- > je ne comprend pas pourquoi j'ai mi le
Si vous avez des modifications à faire, faîtes les ;)
Merci
Voici le code :
#include <stdio.h>
#include <string.h>
int main()
{
int nomDePersonnes;
char MotDePasseDavid[6] = "abc123";
char MotDePasseJason[5] = "salut";
do
{
printf (" PROGRAMME By David Et Jason \n\n");
printf ("1. David \n");
printf ("2. Jason \n");
printf ("0. Fin du programme \n");
printf ("Identifies toi : \n");
scanf ("%d", &nomDePersonnes);
printf ("\n\n");
switch (nomDePersonnes)
{
case 1:
printf ("vous avez tappe le nombre 1 donc vous vous appelez David \nEntres ton mot de passe pour rentrer dans ta session ?");
scanf ("%s", &MotDePasseDavid);
break;
case 2:
printf ("vous avez tappe le nombre 2 donc vous vous appelez Jason \nEntres ton mot de passe pour rentrer dans ta session ?");
scanf ("%s", &MotDePasseJason);
break;
case 0:
printf ("Fin du programme \n");
break;
default:
printf ("vous n'avez pas tappe de nombre correct alors vous n'etes pas dans cette liste \n");
break;
}
if (strcmp(MotDePasseDavid,"abc123") && strcmp(MotDePasseJason, "salut"))
{
printf ("echec de l'authentification\n");
}
else
{
printf ("mot de passe correct. \nBienvenue dans votre espace perso \n");
}
}
while(nomDePersonnes != 0);
return 0;
}
--- > si j'ai bien initialisé les valeur des mot de passes au début
--- > je ne comprend pas pourquoi j'ai mi le
while (nomDePersonnes !=0)à la fin
Si vous avez des modifications à faire, faîtes les ;)
Merci
Configuration: Windows Vista Firefox 3.5.5
4 réponses
-
-
Ce programme a un air de déjà vu... me trompè-je ???
Si le programme tourne rond rond... c'est à toi de t'en apercevoir; il est simple de tester un programme: il faut lui faire faire tous les cas possibles... et même, si possible, les autres ;-)
Quant au: while(nomDePersonnes != 0); alors là, c'est un cas d'école... mais de mauvaise école !
A l'arrivée sur cette instruction, il y a 2 hypohèses :
- nomDePersonnes vaut zéro: l'instruction ne sert à rien et le programme se poursuit,
- nomDePersonnes ne vaut pas zéro: l'instruction s'exécute sans cesse et le programme tourne en rond !
Quel est donc l'utilité de cette instruction ?
je ne comprend pas pourquoi j'ai mi le while (nomDePersonnes !=0)... et nous non plus !
Bonne continuation.
- -
et oui le programme s'exécute sans cesse a cause du while (nomDePersonne != 0) mais comment faire pour qu'il s'exécute qu'une seule fois ?
-
Heu, je retire ce que j'ai dit sur le 'while' (je dois dire que ton programme est mal indenté et que je l'ai lu trop rapidement (je n'avais pas bien vu le 'do')).
Finalement, je ne vois pas ce qui l'empêcher de se terminer si on entre '0'.
Bonne nuit.