2017-10-02 5 views
0

ファイルの入力に基づいてメッセージをインクリメントする方法を理解しようとするのは本当に苦労しています。私は、すべてのキャラクターを個別に関数に渡すことに努めました。私はそれを考え、それを読み込んで配列に読み込んだ後、 "オフセット"が何個あるかに基づいて増加させるのが最も簡単だと決めました。配列を使用してファイルを増やす

私がしようとしているのはシーザー暗号です。私はchar文字であるファイルから各文字を読みました。私はそれが元々あった手紙に基づいて、私が読み込んだ各キャラクターを相殺したいと思っています。

ので Aはオフセット0である: Aは1オフセットである:ここではB

は、私がこれまで持っているものです。

char rotate(char character, int offset) { 

    char lowerAlphabet[26] = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}; 

    bool isUpper(char character); 
    bool isLower(char character); 

    cout << character; 
} 

最終的な結果はCOUT < <文字になります。

何か助けていただければ幸いです。

+0

は、あなたが他の方法でやろうとしているか説明してもらえますか? 「メッセージを増やす」とはどういう意味ですか?あなたの "回転"機能は基本的に何も役に立ちません。 – Alex

+0

元の投稿を更新しました。 – ForgedFire

+0

'bool isUpper(char character);'は関数プロトタイプであり、関数呼び出しではありません。私は強く持つC++構文のご理解リフレッシュをお勧めします[良い本の助けを。](https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) – user4581301

答えて

0
char rotate(char character, int offset) 
{ 
    char cCharacter = character + offset; 
    if (isLower(character)) 
     cCharacter = 'a' + cCharacter % ('z' - 'a' + 1); 
    else 
     cCharacter = 'A' + cCharacter % ('z' - 'a' + 1); 

    cout << cCharacter; 
    return cCharacter; 
} 
+0

[OK]を作ることセンス。 'islowerは(文字) – ForgedFire

+0

私の悪い未定義の参照:しかし、私はのエラーを取得します。 islowerでなければなりません。 を含む – Alex

関連する問題