à tous et à toutes,
j´ai besoin d´aide pour résoudre cet énoncé assez simple mais qui me bloque complétement :
"Ecrire une fonction qui compte le nombre de chiffres dans un message."
Voila c´est tout.
d´avance et ![]()
je précise que c´est en C++ ( et que j´utilise Borland C++...)
hint: le code ASCII des chiffres sont entre ´0´ et ´9´ (ou ´1´ et ´9´ a vérifier). Ca te permet d´ecrier une fonction permettant de savoir si un caractere est un chiffre. Je te laisse faire le reste.
Je confirme que ´0´ .. ´9´ se suivent dans la table ascii.
Du coup, la ligne suivante t´aidera :
if (s[i]>=´0´ && s[i]<=´9´)
{
// chiffre detecté
}
else
{
// pas un chiffre.
}
Ne pourrait il pas utiliser la fonction
int isdigit(int c);
Si, il peut. C´est dans ce header.
http://www.cppreference.com/stdstring/isdigit.html
en fait, je n´ai pas trouvé le man de isdigit sur ma machine. Je me demande du fait si c´est bien dans la libc...
godrik >
je ne l´utilise pas non plus. Mais sur la MSDN, il est dans ctype.h
essaie d´ouvrir ctype.h pour voir si y vois le prototype, ça m´intérese de savoir si c´est bien portable ![]()
En fait sur mon système (ubuntu) c´est une macro qui redirige vers je sais pas trop quoi.
j´ai fait un telnet sur la machine linux du boulot, y´a bien un ctype.h
par contre, dedans, j´ai isdigit_l.
bizarre.
pareil, un #define.
Tiens, a propos, j´ai un trou de mémoire, comment tu quittes dans VIM, surtout quand tu es en mode insertion ?
echap pour sortir du mode d´insertion et :q! pour quitter sans enregistrer.
ok merci !
sur mon système (ubuntu aussi) isdigit est dans le man. Et il dit que c´est du C ANSI et BSD 4.3.
mea culpa. Mes complétions déconnent.
j´ai commencer a travailler en linux il y a quelque temps et j´aurais cru qu´en 2006, on aurait eu un éditeur de texte plus efficace que VIM! de ce que j´en connais, c´est assez puissant comme éditeur mais particulièrement compliqué à gérer (je sais c´est l´habitude mais bon...)
toujours être obliger de marquer I pour etre en insertion, puis connaitre les commande par coeur (:wq, :q, :wq!, etc..), il y a aussi le fait que les caractères sont énorme donc la plupart de mes lignes de commande dépasse la largeur de l´écran, ca donne des programmes quasi illisible et un affichage affreu, je déteste aussi le fait que le curseur est carrément inutile, qu´il n´y a pas "d´intellisense" (qui complete les mots ou affiche les données membres, etc..) et finalement, je déteste le fait de marquer 15000 fois :u (undo) pour revenir un peu en arrière!
bref, j´ai beaucoup de point négatif à cette éditeur mais très peu de positif.. pourtant il doit y en avoir puisque les usager de linux adore cet éditeur... éclairer ma laterne, parce que franchement, je vois pas comment on peut aimer un merdier pareil!! (surtout quand on code en BASH et qu´on voit tout ces if-elif-fi, case-esac, while-do-done, etc... c´est vraiment dégeulasse cette syntaxe!!)
perso j´ai un peu de mal avec vim. je préfère largement emacs mais c´est un troll classique dans lequel je ne tomberais pas.
Pourquoi les gens utilisent ils vim ?
->Sur un unix, il y a un vi. C´est obligatoire. C´est donc un outils utile a connaitre.
->Il permet d´exécuter n´importe quel ligne de shell sur la ligne courante ou le buffer courant.
->il dispose de toutes les fonctions que l´on peut attendre d´un editeur de texte. coloration syntaxique, indentation automatique, autocomplétion...
->les versions avancé de vi (gvim par exemple) disposent d´un interfacage complet a la souris avec menu et compagnie.
En bref, il n´y a pas d´inconvénient majeur a son utilisation.
merci de ta réponse!
côté inconvéniant majeur, je n´en ai qu´un seul.. en faite, il est majeur pour moi, probablement qu´il ne l´est pas pour la plupart des gens, mais je déteste le fait qu´il n´y ai qu´une vingtaine de caractère qui rentre sur une seule ligne, moindrement qu´une commande est longue, il faut la faire dépassé sur la ligne suivante ce qui donne un code très difficile à lire et pas très beau à voir!
s´il existe une facon de mettre une ligne de commande sur 2 ligne, je vous serais reconnaissant de me la dire!
sinon, suis-je le seul a penser que le bash est une langage qui mériterais un énorme remaniement de sa syntaxe?? car sérieusement, je trouve pas très naturel de devoir écrire une condition de cette manière:
if [ condition ]; then
elif
fi
enfin.. c´est peut-etre parce que je suis de la nouvelle école et que j´ai appris la prog avec C++ qui offre une syntaxe des plus naturel qui sois!
on part un peu HS mais bon...
Oui, vi gère le retour a la ligne et la continuation sur la ligne avec du scrolling. Comment l´activer ? je ne sais plus, mais c´est dans le man!
Pour bash, les notations en if then elif fi sont relativement classique. Ce n´est pas forcément un langage très intuitif, je suis bien d´accord avec toi. Mais la encore, tu as un problème de compatibilité arrière. Tu ne PEUX PAS changer bash. Beaucoup trop de gens l´utilise. Parcontre il existe beaucoup d´autre langage de script qui pourrait te satisfaire: perl,python,ruby ...
... caml (qui fonctionne très bien en langage de script).
m-2 : pour le nombre de caractère par ligne, ce n´est pas un problème de vi, mais de la configuration de ton système (tu es sur quoi ?) . Globalement, mar défaut sur linux tu es plus gros (je suis d´accord avec toi, on en voit moins sur l´écran), mais ça peut se changer.
tu l´utilise en mode graphique (dans une fenêtre avec menu et tout) ?