Ask Question

Name:
Title:
Your Question:

Answer Question

Name:
Your Answer:
User Submitted Source Code!


Description:
  a
Language: C/C++
Code:
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<fstream.h>

void menu(),menu2(), menu3(), menu4();
char W, Q[100],Z[100],R[100];
void input();
void select1(), select2();
void ROT13(), DEROT13(char L[]);
void bring();
void mat64(), DEMAT64(char K[]);
int ct=0,tokenreader;

void main()
{
     fstream A;
     A.open("WT.txt",ios::out|ios::noreplace);
     A<<1;
     A.close();
     char run='Y';

     while(run=='Y')
     {
          menu();
          select1();
          cout<<"\n\n\tEncrypt/decrypt another message? \n\tEnter Y for YES, anything else to exit: ";
          cin>>run;
     }
          getch();
}





void writetoken()
{
     ifstream WTI;
     WTI.open("WT.txt",ios::in);
     WTI>>tokenreader;
          WTI.close();

     cout<<"\t\t+----------------------------+    "<<endl;
     cout<<"\t\t|STATUS: Recorded!           |    "<<endl;
     cout<<"\t\t|----------------------------|    "<<endl;
     cout<<"\t\t|TOKEN NUMBER:               |    "<<endl;
     cout<<"\t\t+----------------------------+    "<<endl;
     gotoxy(32,4);
     cout<<tokenreader;
     ofstream WTO;
     WTO.open("WT.txt",ios::out,ios::trunc);
     WTO<<tokenreader+1;
          WTO.close();
}



void menu()
{     clrscr();
     cout<<"\t\t+------------+    "<<endl;
     cout<<"\t\t|1. ENCRYPT  |    "<<endl;
     cout<<"\t\t|------------|    "<<endl;
     cout<<"\t\t|2. DECRYPT  |    "<<endl;
     cout<<"\t\t+------------+    "<<endl;
     cout<<"    +---------------------------------------+"<<endl;
     cout<<"    |Choose an option:                      |"<<endl;
     cout<<"    +---------------------------------------+"<<endl;
     gotoxy(24,7);
}

void menu2()
{     clrscr();
     cout<<"\t\t+------------+    "<<endl;
     cout<<"\t\t|1. ROT13    |    "<<endl;
     cout<<"\t\t|------------|    "<<endl;
     cout<<"\t\t|2. MATRIX 64|    "<<endl;
     cout<<"\t\t+------------+    "<<endl;
     cout<<"\t\t|3. Go back  |    "<<endl;
     cout<<"\t\t+------------+    "<<endl;
     cout<<"    +---------------------------------------+"<<endl;
     cout<<"    |Choose encryption mode:                |"<<endl;
     cout<<"    +---------------------------------------+"<<endl;
     gotoxy(31,9);
     select2();
}

void menu4()
{
     clrscr();
     cout<<"\t\t+------------+    "<<endl;
     cout<<"\t\t|1. ROT13    |    "<<endl;
     cout<<"\t\t|------------|    "<<endl;
     cout<<"\t\t|2. MATRIX 64|    "<<endl;
     cout<<"\t\t+------------+    "<<endl;
     cout<<"\t\t|3. Go back  |    "<<endl;
     cout<<"\t\t+------------+    "<<endl;
     cout<<"    +---------------------------------------+"<<endl;
     cout<<"    |Enter message:                         |"<<endl;
     cout<<"    +---------------------------------------+"<<endl;
     gotoxy(22,9);
}

void menu3()
{
     clrscr();
     cout<<"\t\t+------------+    "<<endl;
     cout<<"\t\t|DECRYPTION  |    "<<endl;
     cout<<"\t\t+------------+    "<<endl<<endl;

}
void input()
{

     for(int i=0;i<100;i++)
     {
           W=getche();          Q[i]=W;
           clrscr();
                if(W=='!')     break;
           ct++;
           menu4();
     }

     for(int a=0;a<ct;a++)
     {
          Z[a]=Q[a];
     }

     writetoken();
}

void ROT13()
{

     menu4();
     input();
     for(int e=0;e<ct;e++)
     {       if(Z[e]>64 && Z[e]<78 || Z[e]>96 && Z[e]<110)
          {R[e]=Z[e] + 13;}
          else
          {R[e]=Z[e] - 13;}
     }
     cout<<"\n\n\t+----------------------------------------------------+"<<endl;
     cout<<"\t|Encrypted Message:                                  |"<<endl;
     cout<<"\t+----------------------------------------------------+"<<endl;
     gotoxy(29,7);
     cout<<R;
     ofstream O;
     O.open("QWERT.txt",ios::app);
     O<<R<<endl;
     O.close();
}

void select1()
{
     int x;
     cin>>x;
     if(x==1)
     {menu2();}
     if(x==2)
     {menu3(); bring();}
}

void select2()
{
     int y;
     cin>>y;
     if(y==1)
     {ROT13();}
     if(y==2)
     {mat64();}
     if(y==3)
     {menu(); select1();}
}


void bring()
{
     ifstream fin;
     char R13[100],M64[100];
     fin.open("QWERT.txt",ios::in);
     int Y;
     cout<<"\t\tEnter the Token for the message to be decoded: ";
     cin>>Y;
          for(int d=0;d<Y-1;d++)
          {
          fin.getline(R13,100);
          }
          fin.getline(R13,100);

     strcpy(M64,R13);

cout<<"+--------------------------------------------------------------------------+"<<endl;
cout<<"|Decrypted:                                                                |"<<endl;
cout<<"|Decrypted:                                                                |"<<endl;
cout<<"+--------------------------------------------------------------------------+"<<endl;

          gotoxy(13,7);
          DEROT13(R13);
          gotoxy(13,8);
          DEMAT64(M64);

}

void DEROT13(char L[])
{
     for(int e=0;L[e]!='\0';e++)
     {       if(L[e]>64 && L[e]<78 || L[e]>96 && L[e]<110)
          {L[e]=L[e] + 13;}
          else
          {L[e]=L[e] - 13;}
     }
     cout<<L;

}

void DEMAT64(char K[])
{

     for(int i=0;K[i]!='\0';i++)
     {
     switch(K[i])
     {
          case 'B':     {K[i]='A'; break;}
          case 'C':     {K[i]='B'; break;}
          case 'D':     {K[i]='C'; break;}
          case 'E':     {K[i]='D'; break;}
          case 'F':     {K[i]='E'; break;}
          case 'G':     {K[i]='F'; break;}
          case 'H':     {K[i]='G'; break;}
          case 'I':     {K[i]='H'; break;}
          case 'h':     {K[i]='I'; break;}
          case 'K':     {K[i]='J'; break;}
          case 'j':     {K[i]='K'; break;}
          case 'M':     {K[i]='L'; break;}
          case 'l':     {K[i]='M'; break;}
          case 'O':     {K[i]='N'; break;}
          case 'P':     {K[i]='O'; break;}
          case 'Q':     {K[i]='P'; break;}
          case 'R':     {K[i]='Q'; break;}
          case 'S':     {K[i]='R'; break;}
          case 'T':     {K[i]='S'; break;}
          case 'U':     {K[i]='T'; break;}
          case 'V':     {K[i]='U'; break;}
          case 'A':     {K[i]='V'; break;}
          case 'r':     {K[i]='W'; break;}
          case 'W':     {K[i]='X'; break;}
          case 't':     {K[i]='Y'; break;}
          case 'Y':     {K[i]='Z'; break;}
          case 'v':     {K[i]='a'; break;}
          case 'a':     {K[i]='b'; break;}
          case 'b':     {K[i]='c'; break;}
          case 'c':     {K[i]='d'; break;}
          case 'd':     {K[i]='e'; break;}
          case 'e':     {K[i]='f'; break;}
          case 'f':     {K[i]='g'; break;}
          case 'g':     {K[i]='h'; break;}
          case 'J':     {K[i]='i'; break;}
          case 48:     {K[i]='J'; break;}
          case 'L':     {K[i]='k';break;}
          case 50:     {K[i]='l'; break;}
          case 'N':     {K[i]='m'; break;}
          case 'm':     {K[i]='n'; break;}
          case 'n':     {K[i]='o'; break;}
          case 'o':     {K[i]='p'; break;}
          case 'p':     {K[i]='q'; break;}
          case 'q':     {K[i]='r'; break;}
          case 'X':     {K[i]='s'; break;}
          case 54:     {K[i]='t'; break;}
          case 'Z':     {K[i]='u'; break;}
          case 'w':     {K[i]='v'; break;}
          case 'x':     {K[i]='w'; break;}
          case 'y':     {K[i]='x'; break;}
          case 'z':     {K[i]='y'; break;}
          case 'i':     {K[i]='z'; break;}
          case 57:     {K[i]=48;  break;}
          case 'k':     {K[i]=49;  break;}
          case 51:     {K[i]=50;  break;}
          case 52:     {K[i]=51;  break;}
          case 53:     {K[i]=52;  break;}
          case 's':     {K[i]=53;  break;}
          case 49:     {K[i]=54;  break;}
          case 'u':     {K[i]=55;  break;}
          case 55:     {K[i]=56;  break;}
          case 56:     {K[i]=57;  break;}


               }

          }


     cout<<K<<endl<<endl;
}


void mat64()
{

     menu4();
     input();
     for(int i=0;i<ct;i++)
     {
          switch(Z[i])
          {
          case 'A':     {Z[i]='B'; break;}
          case 'B':     {Z[i]='C'; break;}
          case 'C':     {Z[i]='D'; break;}
          case 'D':     {Z[i]='E'; break;}
          case 'E':     {Z[i]='F'; break;}
          case 'F':     {Z[i]='G'; break;}
          case 'G':     {Z[i]='H'; break;}
          case 'H':     {Z[i]='I'; break;}
          case 'I':     {Z[i]='h'; break;}
          case 'J':     {Z[i]='K'; break;}
          case 'K':     {Z[i]='j'; break;}
          case 'L':     {Z[i]='M'; break;}
          case 'M':     {Z[i]='l'; break;}
          case 'N':     {Z[i]='O'; break;}
          case 'O':     {Z[i]='P'; break;}
          case 'P':     {Z[i]='Q'; break;}
          case 'Q':     {Z[i]='R'; break;}
          case 'R':     {Z[i]='S'; break;}
          case 'S':     {Z[i]='T'; break;}
          case 'T':     {Z[i]='U'; break;}
          case 'U':     {Z[i]='V'; break;}
          case 'V':     {Z[i]='A'; break;}
          case 'W':     {Z[i]='r'; break;}
          case 'X':     {Z[i]='W'; break;}
          case 'Y':     {Z[i]='t'; break;}
          case 'Z':     {Z[i]='Y'; break;}
          case 'a':     {Z[i]='v'; break;}
          case 'b':     {Z[i]='a'; break;}
          case 'c':     {Z[i]='b'; break;}
          case 'd':     {Z[i]='c'; break;}
          case 'e':     {Z[i]='d'; break;}
          case 'f':     {Z[i]='e'; break;}
          case 'g':     {Z[i]='f'; break;}
          case 'h':     {Z[i]='g'; break;}
          case 'i':     {Z[i]='J'; break;}
          case 'j':     {Z[i]=48; break;}
          case 'k':     {Z[i]='L';break;}
          case 'l':     {Z[i]=50; break;}
          case 'm':     {Z[i]='N'; break;}
          case 'n':     {Z[i]='m'; break;}
          case 'o':     {Z[i]='n'; break;}
          case 'p':     {Z[i]='o'; break;}
          case 'q':     {Z[i]='p'; break;}
          case 'r':     {Z[i]='q'; break;}
          case 's':     {Z[i]='X'; break;}
          case 't':     {Z[i]=54;  break;}
          case 'u':     {Z[i]='Z'; break;}
          case 'v':     {Z[i]='w'; break;}
          case 'w':     {Z[i]='x'; break;}
          case 'x':     {Z[i]='y'; break;}
          case 'y':     {Z[i]='z'; break;}
          case 'z':     {Z[i]='i'; break;}
          case 48:     {Z[i]=57;  break;}
          case 49:     {Z[i]='k';  break;}
          case 50:     {Z[i]=51;  break;}
          case 51:     {Z[i]=52;  break;}
          case 52:     {Z[i]=53;  break;}
          case 53:     {Z[i]='s';  break;}
          case 54:     {Z[i]=49;  break;}
          case 55:     {Z[i]='u';  break;}
          case 56:     {Z[i]=55;  break;}
          case 57:     {Z[i]=56;  break;}
               }

          }


     cout<<"\n\n\t+----------------------------------------------------+"<<endl;
     cout<<"\t|Encrypted Message:                                  |"<<endl;
     cout<<"\t+----------------------------------------------------+"<<endl;
     gotoxy(29,7);
     cout<<Z;
     ofstream O;
     O.open("QWERT.txt",ios::app);
     O<<Z<<endl;
     O.close();

}
Comments: