こんにちはアマチュアの皆さん、ここ2ヶ月間C++を勉強しています。私は関数の理解ではあまり鋭敏ではないし、C++(xorのような)の演算子ではそれほど重要ではない。私はユーザーから文字列を受け取り、^演算子を使ってそれを暗号化し、解読するプログラムを書いています。私は基本的な基盤を持っていると思うけど、奇妙な出力を得ているし、私のforループやXORを使うかもしれないと思う。下の私のプログラムは、どんな助けも大歓迎です。関数を使用したEncrpyt/DecrpytプログラムC++
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
const short SIZE = 132;
class deer
{
public:
char inputdata();
char encryptdata(char inputbuffer[SIZE], char encryptbuffer[SIZE]);
char inputbuffer[SIZE];
char encryptbuffer[SIZE];
char decryptbuffer[SIZE];
char decrpytdata(char n[], char p[]);
long e;
long count;
};
int main()
{
deer obj;
obj.inputdata();
obj.encryptdata(obj.inputbuffer, obj.encryptbuffer);
obj.decrpytdata(obj.encryptbuffer, obj.decryptbuffer);
system("pause");
return 0;
}
char deer::inputdata()
{
cout << "please enter your text to be encrpyted" << endl;
cin.getline(inputbuffer, SIZE);
cin.gcount();
count =cin.gcount();
count--;
cout << inputbuffer << endl;
return 0;
}
char deer::encryptdata(char inputbuffer[], char encryptbuffer[])
{
short key = 0xAC;
int i = 0;
for (int i = 0; i <= count; i++) {
inputbuffer[i] = encryptbuffer[i] ^= key;
cout << encryptbuffer << endl;
}
return *encryptbuffer;
}
char deer::decrpytdata(char encryptbuffer[], char decryptbuffer[])
{
int i = 0;
for (int i = 0; i <= count; i++) {
encryptbuffer[i] ^= decryptbuffer[i];
}
cout << decryptbuffer << endl;
return decryptbuffer;
}
、ラインは 'decryptbuffer [私ではありません]^=暗号化バッファ[i]; '? CとC++では、最初の引数を結果にし、この種のエラーを防ぐために、入力配列を 'const'、つまり' char const encryptbuffer [] 'として宣言しなければなりません。 –
さて、私はそれに私の書式を修正します。私は、最初のSIZE constを除いて、このプログラムにグローバルまたは定数を使用することは許可されていないと言及しませんでした。入力いただきありがとうございます! – eggo