« C言語で書かれたシーザー暗号を造るプログラムを改良してみた | トップページ | Ubuntu8.10でCUPSプリンター設定 »

2009年4月12日 (日)

シーザー暗号を造るプログラムを改良してみた002

/* シーザー暗号を造るプログラムをまたまた改良してみた・・・暗号化前の文章(英語)に「,」と「.」と「?」は入れて大丈夫だが空白「  」は入れる事は無理な様だ・・・ */
#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 if (string[i] == ',')  {
              ango[i] = ',';
          }
          else if (string[i] == '.')  {
              ango[i] = '.';
          }
          else if (string[i] == '?')  {
              ango[i] = '?';
          }
          else  {
           printf("文字が違います");

             break;
          }
           i++;
       }
       ango[i] = 0;

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

       return 0;
}

/* これで「,」と「.」と「?」はそのままに英文字だけが暗号化できる・・・ */

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

にほんブログ村 SF小説 

人気ブログランキングへ

|

« C言語で書かれたシーザー暗号を造るプログラムを改良してみた | トップページ | Ubuntu8.10でCUPSプリンター設定 »

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

コメント

コメントを書く



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


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



トラックバック


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

« C言語で書かれたシーザー暗号を造るプログラムを改良してみた | トップページ | Ubuntu8.10でCUPSプリンター設定 »