void MainWindow::on_pushButton_clicked() { QString in = ui->leftEditor->toPlainText(); in.replace(" ", ""); in.replace("\n", ""); // Check code bool err = false; for(int i=0; i<in.length(); i++) { QChar c = in.at(i); if((c>='0' && c<='9') || (c>='a' && c<='f') || (c>='A' && c<='F')); else { err = true; break; } } if(err) { ui->rightEditor->setText(""); return; } QString ret; while(in.length() >= 16) { QString convert = in.left(16); in.remove(0, 16); // Decrypt if(ui->radioButtonLeftARv1->isChecked()) convert = encryptLine(convert, true, false); else if(ui->radioButtonLeftARv3->isChecked()) convert = encryptLine(convert, true, true); // Encrypt if(ui->radioButtonRightARv1->isChecked()) convert = encryptLine(convert, false, false); else if(ui->radioButtonRightARv3->isChecked()) convert = encryptLine(convert, false, true); // Format if(ui->radioButtonFormat2->isChecked()) convert.insert(8, " "); else if(ui->radioButtonFormat3->isChecked()) convert.insert(8, "\n"); ret += convert + "\n"; } ui->rightEditor->setText(ret); }
/* A function that determines how to give output based on the switches */ void generateOutput(char *line) { //check if numbering and encryption is activated if (num == 1 && littleM == 1) { char encryptedLine[strlen(line)]; encryptLine(line, encryptedLine); printf("%d %s",lineNum, encryptedLine); lineNum++; } //check if numbering and decryption is activated else if (num == 1 && bigM == 1) { char decryptedLine[strlen(line)]; decryptLine(line, decryptedLine); printf("%d %s", lineNum, decryptedLine); lineNum++; } //check if numbering is activated else if (num == 1) { printf("%d %s", lineNum, line); lineNum++; } //check if encryption is activated else if (littleM == 1) { char encryptedLine[strlen(line)]; encryptLine(line, encryptedLine); printf("%s", encryptedLine); } //check if decryption is activted else if (bigM == 1) { char decryptedLine[strlen(line)]; decryptLine(line, decryptedLine); printf("%s", decryptedLine); } //otherwise no switches are activated else { printf("%s", line); } }