Convertir le contenu d'un int en char
Résolu
kevdaig
Messages postés
16
Date d'inscription
Statut
Membre
Dernière intervention
-
kevdaig Messages postés 16 Date d'inscription Statut Membre Dernière intervention -
kevdaig Messages postés 16 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j'essaie de me faire une petite boucle de validation de la saisie au clavier. Les choix sont de 1 à 5 ou le caractère q pour quitter. Voici ce que j'ai fait qui ne fonctionne pas:
int DemandeNiveau(void)
{
int Niveau = 0;
int NiveauMin = 1;
int NiveauMax = 5;
printf("Quel niveau (1-5) desirez-vous jouer?\n");
scanf("%d",&Niveau);
if(Niveau >= NiveauMin && Niveau <= NiveauMax)
{
printf("Vous avez choisis %d\n", Niveau);
}
else
{
printf("Vous avez entre la lettre %c pour quitter ... \n", (char)Niveau);
}
return Niveau;
}
Et comme de fait, si j'entre q au clavier, il n'y a rien dans la variable Niveau. Quelqu'un peut m'aider?
Merci
int DemandeNiveau(void)
{
int Niveau = 0;
int NiveauMin = 1;
int NiveauMax = 5;
printf("Quel niveau (1-5) desirez-vous jouer?\n");
scanf("%d",&Niveau);
if(Niveau >= NiveauMin && Niveau <= NiveauMax)
{
printf("Vous avez choisis %d\n", Niveau);
}
else
{
printf("Vous avez entre la lettre %c pour quitter ... \n", (char)Niveau);
}
return Niveau;
}
Et comme de fait, si j'entre q au clavier, il n'y a rien dans la variable Niveau. Quelqu'un peut m'aider?
Merci
A voir également:
- Convertir le contenu d'un int en char
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Fusionner deux cellules excel en gardant le contenu - Guide
- Convertir epub en kindle - Guide
- Convertir youtube en mp3 avec audacity - Guide
- Convertir kindle en epub - Guide
4 réponses
Bonsoir,
if(Niveau >= NiveauMin && Niveau <= NiveauMax)
parce que ici tu essai de comparer un char a un int (ce qui n'est pas possible en C)
ce qui fait que normalement il ne devrait pas compiler
if(Niveau >= NiveauMin && Niveau <= NiveauMax)
parce que ici tu essai de comparer un char a un int (ce qui n'est pas possible en C)
ce qui fait que normalement il ne devrait pas compiler
lisons la doc : https://fr.wikipedia.org/wiki/Scanf
ton %d te renvoie un int donc a la saisie de q c'est compliquer
en lisant un peu plus on peu comprendre que tu as besoin de :
scanf("%c",&in);
if (niveau == 'q'){}
else {int niveau = (int) in}
ton %d te renvoie un int donc a la saisie de q c'est compliquer
en lisant un peu plus on peu comprendre que tu as besoin de :
scanf("%c",&in);
if (niveau == 'q'){}
else {int niveau = (int) in}