détection d'un char - C++ - Programmation
Marsh Posté le 20-06-2004 à 23:00:37
c un char :
if (c < '0' || c > '9')
{
c'est pas un chiffre
}
else
{
c'est un chiffre
}
Marsh Posté le 20-06-2004 à 23:27:11
Je ne sais pas tellement
Code :
|
Marsh Posté le 20-06-2004 à 23:31:13
Peux tu développer s'il te plait pour un pauvre étudiant qui a un partiel de prog demain ?
J'ai refait les tests logiques...
Marsh Posté le 20-06-2004 à 23:46:12
isdigit est une fonction standard qui te dis si oui ou nom c est un chiffre
http://www.cs.bsu.edu/homepages/pe [...] cctype.htm
Marsh Posté le 20-06-2004 à 23:47:31
et ta constante pi tu ferais bien de la définir une fois pour tout je pense
et si tu veux un peu optimisé, soupoudre d'inline
Marsh Posté le 20-06-2004 à 23:49:56
Excuses-moi mais je ne connais pas tout cela...
Aurais-tu de bons tutos ?
Marsh Posté le 20-06-2004 à 23:56:52
les tutos ne servent à rien. la documentation si.
Tu t'es jamais dit que si cout et cin était partout, c'est qu'ils devaient bien faire partie d'une bibliothèque standard ? documente toi, fouille la bibliothèque standard / STL
Marsh Posté le 21-06-2004 à 00:08:23
D'accord c'est un boléen,
ensuite il me met un "parse error après ')'"
Code :
|
je vois pas tellement, je suis novice.
Marsh Posté le 21-06-2004 à 00:09:50
"je suis novice" .................. effectivement.
Que vient faire le "int" dans les parentheses?
Marsh Posté le 21-06-2004 à 00:15:03
"if (is==1)" c'est plutot risqué... Tu sais que si c'est un chiffre, il te renvoie pas 0. Mais de la a dire que c'est 1...
Tu devrais plutot faire "if (is!=0)", voire meme, "if(!isdigit(y))"
Marsh Posté le 21-06-2004 à 00:17:53
6 dichotomie.cpp
implicit declaration of function `int isdigit(...)'
j'ai importé <string.h>
selon l'adresse de taz http://www.cs.bsu.edu/homepages/pe [...] tm#isdigit
Marsh Posté le 21-06-2004 à 00:20:47
pour isdigit, faut inclure <ctype.h>
Marsh Posté le 21-06-2004 à 00:21:16
ReplyMarsh Posté le 21-06-2004 à 00:21:40
grosbin a écrit : 6 dichotomie.cpp |
mais c'est que t'es doué en plus
Marsh Posté le 21-06-2004 à 00:22:01
Taz a écrit : ta gueule c'est <cctype> |
ah oui, merde, c'est du C++
Marsh Posté le 21-06-2004 à 00:23:07
Taz a écrit : mais c'est que t'es doué en plus |
putain, j'avais même pas regardé le lien en plus, c'est marqué dessus, doué le gars
Marsh Posté le 21-06-2004 à 00:26:24
3 dichotomie.cpp
cctype.h: No such file or directory
--> ctype ça marche
enfin j'ai pas encore compris pour le booléen
Marsh Posté le 21-06-2004 à 00:27:39
grosbin a écrit : 3 dichotomie.cpp |
ou t'as vu <cctype.h>
y'a marqué <cctype>
Marsh Posté le 21-06-2004 à 00:48:51
Ton programme est imbitable :
- definit pi une fois pour toutes en debut de programme,
- les nombres decimaux doivent etre ecrits avec des ., et meme avec une partie decimale, c'est plus propre
- une fonction Testchar qui prend un char en entier et qui le ressort en double, tu trouves pas ca bizarre ? Moi si.
- remplece tes boucles for par des while ou des do ... while, ta solution est moche et on n'y comprend rien.
- sqrt((b-a)*(b-a)) peut etre avantageusement remplace par abs(b-a)
- simplifie ton programme en virant le superflu, i. e. les conneries sur le QI et le test des caracteres.
Marsh Posté le 21-06-2004 à 01:07:09
remplacé les for par do...while
const double PI ...
je rentre un char lors du premier cin,
et mis a,b,c et la fonction Testchar en int
j'arrive à un affichage en boucle du cout "precision"
-> d'ailleurs il aime pas bien les char.
c'est relativement nouveau pour moi tout cela, alors je vous en prie continuez à m'aider
Marsh Posté le 21-06-2004 à 01:16:41
Balance le code. Et indente-le avec des espaces de sorte que ce soit lisible, STP.
Marsh Posté le 21-06-2004 à 02:52:04
grosbin a écrit : remplacé les for par |
en fait le mieux c que tu fasse un #define
dans ton prog par exemple tu fait
#define PI 3.141559
et apres tu peut utiliser PI librement
- je l'ai mit en majuscule car c une convention pour tout les define
- pas de ; apres le define car lors de la compilation les PI seront remplace par leur valeur correspondante
puis c pas une instruction aussi
Marsh Posté le 21-06-2004 à 07:47:02
Non mais son probleme c'est pas qu'il a un code pourri, c'est que si au moment ou il fait cin >> un_nombre l'utilisateur rentre une chaine de caracteres, ca court-circuite tous les cin suivants...
Marsh Posté le 21-06-2004 à 08:16:57
bah tu te penche sur la fonction recherche, j'ai donné 100x un programme d'exemple sur comment bien lire un entier
Marsh Posté le 21-06-2004 à 12:34:50
je te supplie de me mettre sur la bonne piste taz, après je me tais
Marsh Posté le 21-06-2004 à 12:48:55
red faction a écrit : en fait le mieux c que tu fasse un #define |
En C++, le const est plus jolie. Le define ca fait plutot 'C'.
Marsh Posté le 21-06-2004 à 12:52:15
Marsh Posté le 21-06-2004 à 18:51:56
moi je veux bien t'aider mais soit je te file une solution a moi et Taz va se pointer pour la détruire, sans pour autant donner celle qu'il estime etre la bonne, soit je retrouve le post auquel Taz fait référence ... mais apres recherche je trouve pas.....
Marsh Posté le 21-06-2004 à 18:58:14
Apres une recherche plus appronfondie... j'ai trouvé ca :
Code :
|
Provenance : Topic
Marsh Posté le 22-06-2004 à 02:17:34
1 d2.cpp
sstream: No such file or directory
( j'utilise dev c++ 4 )
Marsh Posté le 20-06-2004 à 22:59:00
Voilà j'aimerais connaître l'instruction qui reconnait des char.
Pour simple exemple, je fais des programmes de calculs mathématiques et l'entrée d'un caractère non décimal le fait tourner en boucle.
Je remercie celui qui a la connaissance nécessaire pour pouvoir remedier à mon problème.