#include <iostream>
#include <cstdlib>
#include <string.h>
using namespace std;
void stampa_menu();
void decode(char *,int);
void code(char *,int);
int main()
{
char str [30];
int scelta,x;
char ch;
cout<<"Inserisci una stringa: ";
gets(str);
x=strlen(str);
do {
stampa_menu();
cout<<"Digita il numero dell'operazione che vuoi eseguire: ";
cin>>scelta;
switch (scelta) {
case 1: decode(str,x);
break;
case 2: code(str,x);
break;
case 3: exit(1);
break;
}
}while (scelta>4 && scelta<0);
return 0;
}
void stampa_menu() {
cout<<"1) Decodifica una password; \n";
cout<<"2) Codifica una password \n";
cout<< "3) Esci dal programma";
}
void code(char *stringa,int k) {
char string_new [30];
for(int i=0;strlen(stringa)<k;i++){
switch(stringa[i]) {
case 'A': string_new[i]= 'q';
break;
case 'B': string_new[i]= 'w';
break;
case 'C': string_new[i]= 'e';
break;
case 'D': string_new[i]= 'r';
break;
case 'E': string_new[i]= 't';
break;
case 'F': string_new[i]= 'y';
break;
case 'G': string_new[i]= 'u';
break;
case 'H': string_new[i]= 'i';
break;
case 'I': string_new[i]= 'o';
break;
case 'J': string_new[i]= 'p';
break;
case 'K': string_new[i]= 'a';
break;
case 'L': string_new[i]= 's';
break;
case 'M': string_new[i]= 'd';
break;
case 'N': string_new[i]= 'f';
break;
case 'O': string_new[i]= 'g';
break;
case 'P': string_new[i]= 'h';
break;
case 'Q': string_new[i]= 'j';
break;
case 'R': string_new[i]= 'k';
break;
case 'S': string_new[i]= 'l';
break;
case 'T': string_new[i]= 'z';
break;
case 'U': string_new[i]= 'x';
break;
case 'V': string_new[i]= 'c';
break;
case 'W': string_new[i]= 'v';
break;
case 'X': string_new[i]= 'b';
break;
case 'Y': string_new[i]= 'n';
break;
case 'Z': string_new[i]= 'm';
break;
case 'a': string_new[i]= 'Q';
break;
case 'b': string_new[i]= 'W';
break;
case 'c': string_new[i]= 'E';
break;
case 'd': string_new[i]= 'R';
break;
case 'e': string_new[i]= 'T';
break;
case 'f': string_new[i]= 'Y';
break;
case 'g': string_new[i]= 'U';
break;
case 'h': string_new[i]= 'I';
break;
case 'i': string_new[i]= 'O';
break;
case 'j': string_new[i]= 'P';
break;
case 'k': string_new[i]= 'A';
break;
case 'l': string_new[i]= 'S';
break;
case 'm': string_new[i]= 'D';
break;
case 'n': string_new[i]= 'F';
break;
case 'o': string_new[i]= 'G';
break;
case 'p': string_new[i]= 'H';
break;
case 'q': string_new[i]= 'J';
break;
case 'r': string_new[i]= 'K';
break;
case 's': string_new[i]= 'L';
break;
case 't': string_new[i]= 'Z';
break;
case 'u': string_new[i]= 'X';
break;
case 'v': string_new[i]= 'C';
break;
case 'w': string_new[i]= 'v';
break;
case 'x': string_new[i]= 'b';
break;
case 'y': string_new[i]= 'n';
break;
case 'z': string_new[i]= 'm';
break;
case '0': string_new[i]= '=';
break;
case '1': string_new[i]= ')';
break;
case '2': string_new[i]= '(';
break;
case '3': string_new[i]= '/';
break;
case '4': string_new[i]= '&';
break;
case '5': string_new[i]= '%';
break;
case '6': string_new[i]= '$';
break;
case '7': string_new[i]= '-';
break;
case '8': string_new[i]= '"';
break;
case '9': string_new[i]= '!';
break;
case ' ': string_new[i]= '|';
break;
case '\0': break;
default: exit(1);
}
cout<<"Parola: ";
for(int i=0;strlen(string_new)<=k;i++)
cout<<string_new[i];
}
}
void decode(char *stringa, int k) {
char string_new [30];
for(int i=0;strlen(stringa)<k;i++){
switch(stringa[i]) {
case 'q': string_new[i]= 'A';
break;
case 'w': string_new[i]= 'B';
break;
case 'e': string_new[i]= 'C';
break;
case 'r': string_new[i]= 'D';
break;
case 't': string_new[i]= 'E';
break;
case 'y': string_new[i]= 'F';
break;
case 'u': string_new[i]= 'G';
break;
case 'i': string_new[i]= 'H';
break;
case 'o': string_new[i]= 'I';
break;
case 'p': string_new[i]= 'J';
break;
case 'a': string_new[i]= 'K';
break;
case 's': string_new[i]= 'L';
break;
case 'd': string_new[i]= 'M';
break;
case 'f': string_new[i]= 'N';
break;
case 'g': string_new[i]= 'O';
break;
case 'h': string_new[i]= 'P';
break;
case 'j': string_new[i]= 'Q';
break;
case 'k': string_new[i]= 'R';
break;
case 'l': string_new[i]= 'S';
break;
case 'z': string_new[i]= 'T';
break;
case 'x': string_new[i]= 'U';
break;
case 'c': string_new[i]= 'V';
break;
case 'v': string_new[i]= 'W';
break;
case 'b': string_new[i]= 'X';
break;
case 'n': string_new[i]= 'Y';
break;
case 'm': string_new[i]= 'A';
break;
case 'Q': string_new[i]= 'a';
break;
case 'W': string_new[i]= 'b';
break;
case 'E': string_new[i]= 'c';
break;
case 'R': string_new[i]= 'd';
break;
case 'T': string_new[i]= 'e';
break;
case 'Y': string_new[i]= 'f';
break;
case 'U': string_new[i]= 'g';
break;
case 'I': string_new[i]= 'h';
break;
case 'O': string_new[i]= 'i';
break;
case 'P': string_new[i]= 'j';
break;
case 'A': string_new[i]= 'k';
break;
case 'S': string_new[i]= 'l';
break;
case 'D': string_new[i]= 'm';
break;
case 'F': string_new[i]= 'n';
break;
case 'G': string_new[i]= 'o';
break;
case 'H': string_new[i]= 'p';
break;
case 'J': string_new[i]= 'q';
break;
case 'K': string_new[i]= 'r';
break;
case 'L': string_new[i]= 's';
break;
case 'Z': string_new[i]= 't';
break;
case 'X': string_new[i]= 'u';
break;
case 'C': string_new[i]= 'v';
break;
case 'V': string_new[i]= 'w';
break;
case 'B': string_new[i]= 'x';
break;
case 'N': string_new[i]= 'y';
break;
case 'M': string_new[i]= 'z';
break;
case '=': string_new[i]= '0';
break;
case ')': string_new[i]= '9';
break;
case '(': string_new[i]= '8';
break;
case '/': string_new[i]= '7';
break;
case '&': string_new[i]= '6';
break;
case '%': string_new[i]= '5';
break;
case '$': string_new[i]= '4';
break;
case '-': string_new[i]= '3';
break;
case '"': string_new[i]= '2';
break;
case '!': string_new[i]= '1';
break;
case ' ': string_new[i]= '|';
break;
}
cout<<"Parola: ";
for (int i=0;strlen(string_new)<k;i++)
cout<<string_new[i];
}
}