« 大地のうた | トップページ | シーザー暗号を造るプログラムを改良してみた002 »

2009年4月11日 (土)

C言語で書かれたシーザー暗号を造るプログラムを改良してみた

/* 「.」や「,」や「!」や「?」や空白なども入れて暗号文を作る様にしてみようとしたが駄目だった。*/
#include <stdio.h>

#define LEN 255

int main(void)
{
       char string[LEN];
       char ango[LEN];
       int  key, n, i;

       printf("平文を入力(英大小文字のみ):");
       scanf("%s", string);
       printf("鍵を入力:");
       scanf("%d", &key);

       i = 0;
       while (string[i] != 0)   {
          if (('a'<=string[i])&&(string[i]<='z'))  {
              n = (string[i] - 'a' + key + 26) % 26;
              ango[i] = 'a' + n;
          }
          else if (('A'<=string[i])&&(string[i]<='Z'))  {
              n = (string[i] - 'A' + key + 26) % 26;
              ango[i] = 'A' + n;
          }
          else  {
              printf("文字が違います");
          }
          i++;
       }
       ango[i] = 0;

          printf("暗号文:%s\n", ango);

       return 0;
}

/*  空白などを入れるための方法が判らない・・・色々やってみたがセグメンテーションエラーになったりして上手くいかなかった・・・ */

にほんブログ村 IT技術ブログへ
にほんブログ村

にほんブログ村 SF小説 

人気ブログランキングへ

|

« 大地のうた | トップページ | シーザー暗号を造るプログラムを改良してみた002 »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: C言語で書かれたシーザー暗号を造るプログラムを改良してみた:

« 大地のうた | トップページ | シーザー暗号を造るプログラムを改良してみた002 »