aide écriture code c++ recherche et cumul de nombres - C++ - Programmation
Marsh Posté le 10-12-2020 à 12:52:13
Bon bien je fais question et réponse...
Ma "liste.txt" a comme format :
blabla blablabla ->15€
blabla 2 blablabla ->11€
blablablablabla ->3€
etc...
et voici mon code :
Code :
|
J'aimerais pouvoir "spliter" sur le caractère €, mais il est non reconnu..., comment faire ?
(Pour que ça fonctionne, pour le moment je dois supprimer tous les signes "€" de ma "liste.txt" )
Je transforme donc ma question en :
Comment reconnaitre le caractère " € " dans une chaine de caractères en C++ ?
Marsh Posté le 10-12-2020 à 20:55:10
Le signe '€' n'est pas du ASCII, il doit être encodé en UTF-8 ou autre. Je ne parle pas C++, mais tu devrais trouver sur internet comment faire avec ces mots-clé, genre "read UTF-8 file C++".
Sinon pour ton code attention aux "nombres magiques", tu devrais utiliser un #define ou une constante pour le 255 histoire de ne pas avoir à changer la valeur à plusieurs endroits si il faut.
Marsh Posté le 11-12-2020 à 12:03:57
merci pour ta réponse
oui j'ai vu que ce n'était pas de l'ASCII, (l'ASCII est plus ancien que l'euro...), et du coup j'avais essayé de convertir mon txt en UTF8, mais rien de mieux...
bonne remarque pour le 255, habitude à prendre. (pour ce petit programme ça fera l'affaire).
j'ai réussi à faire exactement ce que je voulais avec NodeJs, mais en C++ j'ai toujours du mal.
je vais relire quelques cours... et si un pro C++ passe par là...
Marsh Posté le 21-05-2021 à 00:17:41
Bonjour,
comme le nombre de données est important,
utilises la ressource "expressions régulières",
c'est comme if ( la chaine == nombre + caractere euro ).
les expressions régulières permettent de définir un schèma.
de l'utiliser comme 'critère de recherche' dans un ensemble + grand.
et aussi de récupérer toutes les occurences 'trouvées' de ton schèma,
dans un tableau de 'output'.
C'est le plus pratique sur des échantillons de données important...
pour tester si une chaine est 'numerique' , il y a des fonctions natives qui sont simples.
Mais pour des fichiers de données, sans en connaitre d'avance le nombre, et la taille des fichiers , les expressions régulières font ça trés bien.
C'est dédié à cet usage. Imbattable pour ce type de recherche.
et pour ton schèma : tu es sur ( { des chiffres ... } puis le symbole 'currency' ) .
Attention au références sur Internet , car toutes regExp sont en 'variantes' selon le langage concerné.
Les syntaxes sont parfois différentes.
c'est vraiment "C++ regexp " qui convient.
Marsh Posté le 09-12-2020 à 13:15:55
bonjour à tous.
j'avais commencé à apprendre les bases du C++ mais vite arrêté par manque de temps...
aujourd'hui j'aimerais écrire un petit programme qui :
ouvre et lit un "fichier.txt" (~2000 lignes), et fait le cumul des nombres qui se trouvent juste avant chaque caractère "€".
j'ai comme base un bout de code qui fait un cumul, mais le fichier ne doit contenir que des chiffres tel 0 2 5 8 etc...
c'est à améliorer... :
si quelqu’un pouvait m'aider...,
j'ai clairement des lacunes en C++, mais j'ai je voudrais m'améliorer.
(au passage, si vous connaissez un bon site pour apprendre de bonnes bases).
merci.
Message édité par redscreen le 10-12-2020 à 13:01:08