Convertir le contenu d'un int en char
Résolu/Fermé
kevdaig
Messages postés
16
Date d'inscription
dimanche 31 août 2014
Statut
Membre
Dernière intervention
22 février 2016
-
22 janv. 2015 à 02:41
kevdaig Messages postés 16 Date d'inscription dimanche 31 août 2014 Statut Membre Dernière intervention 22 février 2016 - 22 janv. 2015 à 17:19
kevdaig Messages postés 16 Date d'inscription dimanche 31 août 2014 Statut Membre Dernière intervention 22 février 2016 - 22 janv. 2015 à 17:19
A voir également:
- Convertir le contenu d'un int en char
- Convertir youtube en mp3 avec audacity - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Le fichier à télécharger correspond au contenu brut d’un courrier électronique. de quel pays a été envoyé ce message ? - Guide
- Word a trouvé du contenu illisible - Guide
- Convertir epub en kindle - Guide
4 réponses
Utilisateur anonyme
22 janv. 2015 à 02:45
22 janv. 2015 à 02:45
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
kevdaig
Messages postés
16
Date d'inscription
dimanche 31 août 2014
Statut
Membre
Dernière intervention
22 février 2016
22 janv. 2015 à 02:50
22 janv. 2015 à 02:50
En fait, si j'entre un caractère, la valeur de la variable Niveau reste à 0...
Utilisateur anonyme
Modifié par tifuthebos le 22/01/2015 à 03:03
Modifié par tifuthebos le 22/01/2015 à 03:03
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}
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
22 janv. 2015 à 09:46
22 janv. 2015 à 09:46
else {int niveau = (int) in}
3 erreurs :
Il ne faut surtout pas redéclarer le type de la variable ici.
L'opérateur de comparaison est == (double égal).
Et (int) permet de caster le type, pas la valeur... Par exemple pour convertir :
3 erreurs :
Il ne faut surtout pas redéclarer le type de la variable ici.
L'opérateur de comparaison est == (double égal).
Et (int) permet de caster le type, pas la valeur... Par exemple pour convertir :
in - '0'
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
22 janv. 2015 à 13:40
22 janv. 2015 à 13:40
Bonjour,
Deux façons :
1
Ou mieux : tu lis un buffer de caractères, tu utilises fgets().
Si c'est différent de "q", tu convertis avec l'aide de strtol() en nombre.
Cdlt,
Deux façons :
1
scanf("%d",&Niveau); ret=getchar(); if (Niveau...) { /*traitement*/ } else { if (ret=='q') { /*traitement*/ } }
Ou mieux : tu lis un buffer de caractères, tu utilises fgets().
Si c'est différent de "q", tu convertis avec l'aide de strtol() en nombre.
Cdlt,
kevdaig
Messages postés
16
Date d'inscription
dimanche 31 août 2014
Statut
Membre
Dernière intervention
22 février 2016
22 janv. 2015 à 17:15
22 janv. 2015 à 17:15
ok je vois l'astuce. J'essaie ça et je vous reviens!
Merci
Merci
kevdaig
Messages postés
16
Date d'inscription
dimanche 31 août 2014
Statut
Membre
Dernière intervention
22 février 2016
22 janv. 2015 à 17:19
22 janv. 2015 à 17:19
Ça fonctionne!! Merci :-)
J'ai essayé pleins de tactiques bizarres hier soir et voilà qu'en 2-3 lignes de code, le problème est règlé. C'est magnifique !
Bonne journée à vous!
J'ai essayé pleins de tactiques bizarres hier soir et voilà qu'en 2-3 lignes de code, le problème est règlé. C'est magnifique !
Bonne journée à vous!