Télécharger le zip
Pour des raisons de lisibilité, tu devrais remplacer tes if...else if...else if... par un switchPour avoir un code plus rapide, tu peux même utiliser un tableau: if(dec[i] == '0') strcat(rom, ""); else if(dec[i] == '1') strcat(rom, "I"); else if(dec[i] == '2') strcat(rom, "II"); else if(dec[i] == '3') strcat(rom, "III"); else if(dec[i] == '4') strcat(rom, "IV"); else if(dec[i] == '5') strcat(rom, "V"); else if(dec[i] == '6') strcat(rom, "VI"); else if(dec[i] == '7') strcat(rom, "VII"); else if(dec[i] == '8') strcat(rom, "VIII"); else if(dec[i] == '9') strcat(rom, "IX");Tu peux remplacer ca parchar* s[] = {"I", "II", ..., "IX};strcat(rom, s[i - '0']);Au début tu vérifie que tous les caractères sont bien des chiffres puisque tu ne peux plus le faire la
Plutot:char* s[] = {"", "I", "II", ..., "IX};strcat(rom, s[dec[i] - '0']);
char* s[] = {"", "I", "II", ..., "IX"}; // avec le dernier guillemet que le monde aura remarqué :)
Je ne pense pas que ce soit la meilleur solution, car il suffit que l'utilisateur fasse en erreure de saisie (autre que 1-9) pour que le programme plante.Exemple : Si il tape ":", i sera égale à 10 et le pointeur pointera on ne sait où (En fait il pointera sur l'address indiqué dans le prochaine dword en mémoire).Ceci dit, je ne fais que regarder la partie de code dans les commentaires, si les entrés sont traitées avant ça devrait fonctionner.
J'ai dit qu'on vérifie au début que tous les caractères sont des chiffres
Regardez la mise à jour ...
Un petit tableau dynamique pour ne pas avoir de limitations de nombres...facile à mettre en place avec un petit : int* donnees; donnees = new int[nbr_de_chiffres];
Tu as oublié d'inclure string.h c'est pas grave mais c'est plus sympa sans Warnings.9/10
Je n'arrive pas à télécharger le zip. : (
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 903 485 membres 65 nouveaux aujourd'hui 16 195 membres club