Alors que je pensais avoir fini mon programme puisqu'il prenait un temps similaire d'éxecution et m'affichait la même chose pour tous les fichiers test que le programme demo j'ai décidé de créer moi même des fichiers erreur ( du même style que les E0X.txt) avec des erreurs qui n'ont pas été abordé dans les fichiers E0X.txt précédents.
Je n'arrive pas à comprendre comment faire le même affichage que demo pour deux cas :
1 - Dans le cas ou nbR est un double, ( par ex 2.0) ou bien qu'il a été effacé le prog demo affiche " Invalid color 1" ou "3" dans le 2nd cas.
Ce message d'erreur parrait logique puisque dans le premier cas j'affecte 2 à nbR et .0 est donc une valeur double qui apparait dans les valeurs des couleurs réduites du fichier texte. Dans le second cas nbR prend la valeur du premier entier des valeurs des couleurs réduites et fausse alors toute la suite ( par exemple le programme peut considérer la valeur du seuil ( un double) comme une valeur d'une couleur réduite).
J'ai donc essayé de déterminer comment prouver qu'une valeur est un double ( notamment en utilisant des strings la function to_string et find ou bien la fonction floor (qui ne fonctionne pas si la partie décimal est égal à 0)) mais sans succès. J'aimerai donc savoir qu'elles sont les conditions pour afficher ce message d'erreur.
De plus, une autre erreur m'embete.
2 - Si on modifie quelquechose sur la partie pixel du fichier.txt ( par exemple on supprime intensité max (255) et la premiere valeur des pixels est 255, il manque donc la partie bleu d'un pixel ) un message d'erreur de ce style apparait avec l'executable demo " Invalid pixel in (2,2) r : 200 g : 0 b : 0 "
Je ne vois pas non plus comment déterminer les conditions d'erreurs même si je comprends qu'il y a un lien avec nbC et nbL.
Voila merci d'avance pour toute aide.