Langage C

Résolu/Fermé
queenfina Messages postés 45 Date d'inscription mercredi 8 septembre 2010 Statut Membre Dernière intervention 14 avril 2012 - Modifié par queenfina le 11/04/2011 à 03:45
queenfina Messages postés 45 Date d'inscription mercredi 8 septembre 2010 Statut Membre Dernière intervention 14 avril 2012 - 12 avril 2011 à 01:16
Bonjour,

je débute en programmation et j'ai quelques problemes pour traduire cet algo en C

algo 1-3

debut
Variable i : Entier
Debut
i = 0
Ecrire "Entrez un nombre entre 1 et 3"
TantQue i < 1 ou i > 3
Lire i
Si i < 1 ou i > 3 Alors
Ecrire "Saisie erronée. Recommencez"
FinSi
FinTantQue
Fin


je l'ai fais comme ca

#include <stdio.h>
#include <stdlib.h>

int main()
{
int i = 0;

while ( i < 1 || i > 3 )
{
printf("mauvaise saisie ! saisissez un nombre entre 1 & 3 !\n");
scanf ("%d\n",&i);
}

return 0;
}


ca marche pas et j'ai besoin d'un coup de pouce .merci
A voir également:

3 réponses

Hxyp Messages postés 401 Date d'inscription vendredi 28 janvier 2011 Statut Membre Dernière intervention 27 avril 2014 54
11 avril 2011 à 08:49
Bonjour,
Vous avez oublié le (Si i < 1 ou i > 3 Alors) dans le while, ne mettez pas "\n" dans le scanf
#include <stdio.h>
#include <stdlib.h>

int main()
{
int i = 0;
printf("Entrez un nombre entre 1 et 3\n");
while ( i < 1 || i > 3 )
{
scanf ("%d",&i); //lire i
  if(i<1 || i>3) // Si
  {// Alors
      printf("mauvaise saisie ! saisissez un nombre entre 1 & 3 !\n");
  }// FinSi
}

return 0;
} 
0
malaik5 Messages postés 258 Date d'inscription vendredi 20 novembre 2009 Statut Membre Dernière intervention 28 novembre 2013 33
11 avril 2011 à 15:13
Salut,
cote algorithme ton si ne sert vraiment pas a grand chose (je dirai meme que ton si ne sert à rien du tous) parce que les condition du si sont les meme que le while alors tant que t'es dans la boucle while la condition du si est toujours satisfaite donc je te conseille vivement de l'enlever
0
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 143
Modifié par chico200987 le 11/04/2011 à 17:19
Salut,

Je confirme que le if ne sert strictement a rien, en fait pour faire plus propre ce qu'il faudrait c'est plutôt quelque chose comme ceci :

#include <stdio.h> 
#include <stdlib.h> 

int main() 
{ 
int i; 
printf("Entrez un nombre entre 1 et 3 : \n"); 
scanf ("%d",&i); 
while ( i < 1 || i > 3 ) 
{ 
printf("Mauvaise saisie ! Saisissez un nombre entre 1 & 3 !\n"); 
scanf ("%d",&i); 
} 

return 0; 
}  


Edit : Le code de Hxyp fonctionne, mais while + if dedans ayant la meme condition c'est pas tres joli joli, ca ne devrait pas se faire.. meme s'il correspond le mieux a ta traduction d'algo qui elle aussi, fonctionne mais n'est pas "propre" :/
0
queenfina Messages postés 45 Date d'inscription mercredi 8 septembre 2010 Statut Membre Dernière intervention 14 avril 2012
12 avril 2011 à 01:16
merci
0