Aller au contenu

Probleme de Test en C


Squall NTCK

Messages recommandés

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 :inpactamd::smack:

:incline:

Lien vers le commentaire
Partager sur d’autres sites

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';

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...