The ultimate crypter

zer0hunt3r 02.10.05 01:01

alkeellinen kryptaaja

 Tekstiversio  Arvo: -6 (6 ääntä)  Äänestä: +  -
#include <iostream>
#include <stdlib.h>
#include <string.h>


int main(int argc, char *argv[])
{
   
char teksti[66];
char *aakkoset=    "abcdefghijklmnopqrstuvwxyz";
char *isotaakkoset="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int luku = 2;
char * etsinta;

scanf("%s", &teksti);

for (int i=0; i < strlen(teksti); i++)
{

 
  etsinta=strrchr(aakkoset,teksti[i]);
 
  if (etsinta != NULL)
  {
       if((etsinta-aakkoset+luku)>strlen(aakkoset))
        {
         printf ("%c",aakkoset[etsinta-aakkoset+luku-strlen(aakkoset)]);
         }
         else
          {
           printf ("%c",aakkoset[etsinta-aakkoset+luku]);
           }   
    }   
   else
   {
    etsinta=strrchr(isotaakkoset,teksti[i]);
     
        if((etsinta-isotaakkoset+luku)>strlen(isotaakkoset))
        {
         printf ("%c",isotaakkoset[etsinta-isotaakkoset+luku-strlen(isotaakkoset)]);
         }
         else
         {
          printf ("%c",isotaakkoset[etsinta-isotaakkoset+luku]);
          }   
    }
 
   
}

    delete[] etsinta; 
    delete[] aakkoset;
    delete[] isotaakkoset;

    printf ("\n");
    system("PAUSE");   
    return 0;
}

thefox 01:07 2.10.05 
Eipä tästä nyt oikein positiivista sanottavaa löydy. Tuon delete[]:n tarkoitus jäi minulle erityisen epäselväksi.
Ezku 01:11 2.10.05 
Sisennät mielenkiintoisesti. :D
zer0hunt3r 01:19 2.10.05 
Muistin siivous :D Joo ja parantelin pikkasen luettavuutta, ei tule kunnolla sisennettyä, täytyy kehittyä siinä :D
thefox 01:37 2.10.05 
No nyt se meni vielä pahemmin päin metsää :)
editoitu: 11:26 2.10.05
Ztane 11:24 2.10.05 
Öh...

1. Delete ei oo seetä, eikä iostream
2. Iostreamia ees käytetä tuosa
3. Staattisia stringejä ei voi dellata C++ssassakaan
4. Sisennykset on *stu
5. system("PAUSE"); - ROTFL.
6. scanfin paluuarvoa ei tarkisteta
7. Puskurin kokoa ei oo määritelty scanfin formaattistringissä.
8. Puskurin koko on joku mielivaltanen 66...

Minkähän takia tällasia aina pitää postata esimerkiksi muille...
Ezku 12:28 2.10.05 
No siks että muut sais hyvät naurut? :D
thefox 13:11 2.10.05 
Olisi muuten ihan mukava, että kieli näkyisi myös tässä varsinaisella sivulla jossain kohtaa. Nythän se taitaa olla vain otsikossa.

-Tuo "for(int i = ..." ei ole myöskään C89:ä.
-strlen(aakkoset) on aivan turha laskea silmukan sisällä, kun se ei siitä minnekään muutu
-myös "printf("%c" on aivan turhan raskas yhden merkin tulostukseen

Sekä n+1 muuta kämmiä, joista sudenosan mainitsi jo Ztane.
zer0hunt3r 14:36 2.10.05 
yksinkertaisen idean toteuttamiseen ei tarvitse kauhean monimutkaisia juttuja...