2017-12-03 11 views
0

ねえねえ、私はユーザーが入力した文字を皇帝の暗号のように3に置き換える必要があります。例えば、AはC、B = D、C = Fとなるであろうとそうで私の出力が間違っている、それはランダムな文字列Cで別の配列を持つ文字の配置をどのようにシフトできますか?

を印刷
#include <stdio.h> 
#include <stdlib.h> 
#include <conio.h> 
#include <windows.h> 

char codificador(char fraseUsuario[15]){ 
char confereFrase[15]; 
int tamanho = lstrlen(fraseUsuario); 
int cont = 0; 
char alfabeto[27] = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','x','w','y','z'}; 
char cifraCezar[27] = {'d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','x','w','y','z','a','b','c'}; 



//Passa o valor do vetor original para o vetor comparativo 
while(cont != tamanho){ 
    confereFrase[cont] = fraseUsuario[cont]; 
    cont++; 
    } 
    cont = 0; 
//Codifica a mensagem usando a cifra 
while(cont!= tamanho){ 
    confereFrase[cifraCezar[cont]]; 
    cont++; 
    } 

printf("%s",confereFrase); 



} 



int main(){ 
char mensagemUsuario[50]; 
char fraseUsuario[30]; 
char senha[10]; 
printf("Digite sua mensagem: "); 
fflush(stdin); 
gets(fraseUsuario); 
codificador(fraseUsuario); 


system("pause"); 
return 0; 
} 
+1

「しかし私は正しく動作することができません」は**有効ではありません**有効です質問 – Fureeish

+0

なぜそれは有効な質問ではありませんか? –

+0

ここで質問する前に、あなたのプログラムをデバッグする必要があります。そうしている間に、あなたのロジックがどこで失敗するかを突き止めることができます。あなたが何処でどこで何が起こるかについて言及しなかったことを考えれば、私はあなたのプログラムを全くデバッグしなかったと思います – Fureeish

答えて

0

ヒント:C内のすべての整数です。次のように、小文字のみで動作します。読者が大文字のサポートを追加し、変換を試みる前に文字以外の入力を検出するように練習してください。

char c = getc(STDIN); 
char coded = c+3; 
if(coded > 'z') coded -= 'z'; 
関連する問題