コード例 #1
0
int cmp_no_case_c(const char *string1, const char *string2) {
  int iflag = 1;
  while (*string1 != '\0' || *string2 != '\0')
    { if (toCapital(*string1) != toCapital(*string2)) {
        iflag = 0;
        break;
      }
      else {string1++; string2++;}
    };
  return iflag;
}
コード例 #2
0
ファイル: MyWidget.cpp プロジェクト: B10232016/HW1
void MyWidget::decryptBtnClicked(){
    if(cipherCombo->currentIndex() == 0){

        Caesar temp(noSpace(inputLine->text()).toStdString());
        temp.getkey(keyLine->text().toInt());
        outputLine->setText(toCapital(QString::fromStdString(temp.decrypt())));

    }else if(cipherCombo->currentIndex() == 1){
        //need to be modify
        Monoalphabetic temp(noSpace(inputLine->text()).toStdString());
        temp.get_key(noSpace(keyLine->text()).toStdString());
        outputLine->setText(toCapital(QString::fromStdString(temp.decrypt())));

    }else if(cipherCombo->currentIndex() == 2){

        Playfair temp(noSpace(inputLine->text()).toStdString());
        temp.get_key(keyLine->text().toStdString());
        outputLine->setText(toCapital(QString::fromStdString(temp.decrypt())));

    }else if(cipherCombo->currentIndex() == 3){

        Autokey temp(noSpace(inputLine->text()).toStdString());
        temp.get_key(keyLine->text().toStdString());
        outputLine->setText(toCapital(QString::fromStdString(temp.decrypt())));

    }else if(cipherCombo->currentIndex() == 4){

        Transposition temp(noSpace(inputLine->text()).toStdString());
        QStringList sList = keyLine->text().split(" ");

        int *ptr = new int[sList.length()];
        for(int i = 0; i < sList.length(); i++){
            ptr[i] = sList.at(i).toInt();
        }
        temp.get_key(ptr,sList.length());
        outputLine->setText(toCapital(QString::fromStdString(temp.decrypt())));

    }else if(cipherCombo->currentIndex() == 5){

        Product temp(noSpace(inputLine->text()).toStdString());
        QStringList sList = keyLine->text().split(" ");

        int *ptr = new int[sList.length()];
        for(int i = 0; i < sList.length(); i++){
            ptr[i] = sList.at(i).toInt();
        }
        temp.get_key(ptr,sList.length());
        outputLine->setText(toCapital(QString::fromStdString(temp.decrypt())));

    }
}