Posté(e) le 10 octobre 200420 a Voila je dois faire un petit prog de cryptographie en C, et j'ai beaucouo de mal avec un des test.... void main (void) { int cpt = 0 ; // Compteur int cle[4]; int n = 0; char temp[4]; char mot [50]; char mot2 [50]; char mot3 [50]; ..... if (mot[n]+cle[n]>'z' || mot[n]+cle[n]>'Z') { mot2[n] = mot[n]+cle[n]- 'a'; } else mot2[n] = mot[n]+cle[n]; n++; .... Voila le but du test c'est que lorsque le prog. additionne la clé ( de 0 à 9 ) et que le caractère dépasse 'z" le prog. le fasse passé à a et continue de l'incrémenté Je ne sais pas si je suis clair ou pas Modifié le 10 octobre 200420 a par Squall NTCK
Posté(e) le 10 octobre 200420 a Il ne faut pas soustraire 'a', mais 26 pour enlever toutes les lettres de l'alphabet. if (mot[n]+cle[n]>'z' || mot[n]+cle[n]>'Z') Ici, ça ne fonctionne pas. Il faut que tu saches si ta lettre est une lettre minuscule ou capitale. Moi je ferais ça : if (islower(mot[n])) mot2[n] = (mot[n] + cle[n] - 'a')%26 + 'a'; else mot2[n] = (mot[n] + cle[n] - 'A')%26 + 'A';
Posté(e) le 15 octobre 200420 a Tu es sur d'avoir vu en cours la notion de cast en programmation informatique ? je crois que ca peut t'aider !
Posté(e) le 17 octobre 200420 a Auteur Oui..... j'ai vu le casting et j'ai des notions de C, mais elle remonte à 2 ans, donc dans certain cas, j'ai du mal à trouver le moyen de faire ce que je veux
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.