Napisz w C++ program jednocześnie szyfujący jak i deszyfrujący dowolny tekst wpisany od użytkownika.
przykład
Jeżeli użytkownik wpisze potato to program szyfruje treść i wypisuje na ekran g's;sd
lecz jeżeli wpisze g's;sd to program wypisze na ekran potato
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.
Aby zrobić takie cudo trzeba wziąść pod uwagę co ma się pojawiać zamiast obecnego znaku.
Oczywiście możesz sobie zmenić słownik na dowolny i ustawić go tak aby po wpisaniu p pojawiało się g, o pojawiał się apostrof itd. To już prosty zabieg sam dasz radę :)
przykład działania:
1- wprowadz tekst, 2- odczytaj tekst
1
input :: Wprowadz tekst: zadanepl
output :: ^[email protected]$}&]+
przykład działania2:
1- wprowadz tekst, 2- odczytaj tekst
2
input :: Wprowadz tekst: ^[email protected]$}&]+
output :: zadanepl
KOD ::
#include <iostream>
#include <algorithm>
#include <ctype.h>
using namespace std;
int main(){
string znaczki[32] = { "$", "#", "!", "@", "&", "*", "(", ")", "-", ".", ",", "+", "=", "}", "{", "]",";", "[", "|", "~", "_", ":",">","/","<", "^" };
string wprowadz,wynik="";
int co;
cout << "1- wprowadz tekst, 2- odczytaj tekst" << endl;
cin >> co;
if (co == 1) {
cout << "Wprowadz tekst: ";
cin >> wprowadz;
transform(wprowadz.begin(), wprowadz.end(),wprowadz.begin(), ::toupper); // zamiennik bo touuper nie działa na DEV -.-
//toupper(wprowadz);
for (int i = 0; i < wprowadz.length(); i++)
{
int index;
index = wprowadz[i] - 65;
if (wprowadz[i] == 32) wynik += "";
else
wynik += znaczki[index];
}
cout << wynik;
}
else if (co == 2){
cout << "Wprowadz tekst: ";
cin >> wprowadz;
transform(wprowadz.begin(), wprowadz.end(),wprowadz.begin(), ::toupper); // zamiennik bo touuper nie działa na DEV -.-
for (int i = 0; i < wprowadz.length(); i++)
{
if (wprowadz[i] == ' ') wynik += "";
if (wprowadz[i] == '$') wynik += "a";
if (wprowadz[i] == '#') wynik += "b";
if (wprowadz[i] == '!') wynik += "c";
if (wprowadz[i] == '@') wynik += "d";
if (wprowadz[i] == '&') wynik += "e";
if (wprowadz[i] == '*') wynik += "f";
if (wprowadz[i] == '(') wynik += "g";
if (wprowadz[i] == ')') wynik += 'h';
if (wprowadz[i] == '-') wynik += 'i';
if (wprowadz[i] == '.') wynik += 'j';
if (wprowadz[i] == ',') wynik += 'k';
if (wprowadz[i] == '+') wynik += 'l';
if (wprowadz[i] == '=') wynik += 'm';
if (wprowadz[i] == '}') wynik += 'n';
if (wprowadz[i] == '{') wynik += 'o';
if (wprowadz[i] == ']') wynik += 'p';
if (wprowadz[i] == ';') wynik += 'q';
if (wprowadz[i] == '[') wynik += 'r';
if (wprowadz[i] == '|') wynik += 's';
if (wprowadz[i] == '~') wynik += 't';
if (wprowadz[i] == '_') wynik += 'u';
if (wprowadz[i] == ':') wynik += 'v';
if (wprowadz[i] == '>') wynik += 'w';
if (wprowadz[i] == '/') wynik += 'x';
if (wprowadz[i] == '<') wynik += 'y';
if (wprowadz[i] == '^') wynik += 'z';
}
cout << wynik;
}
else {
cout << "Bledny wybor !";
}
getchar();
getchar();
return 0;
}
---
kold należy sformatować aby szło się w tym połapać :)
------------------------- I BARDZIEJ PRZYJAZNY KOD -----------------------------------
http://ideone.com/lz2MHE