08/12/04 02:47:50
[1] 授業単元: プログラミング実習2
[2] 問題文(含コード&リンク):
・シーザー暗号を作成するプログラムを作る
・シーザー暗号
-アルファベットを一定文字数だけ順方向にずらして暗号を作成
・英小文字のみからなる単語と鍵(何文字ずらすか)を入力するとシーザー暗号を作成するプログラムを作成せよ
実行例
単語を入力してください
zoo ↓
鍵となる整数を入力してください
1 ↓
暗号は app です.
単語を入力してください
crypt ↓
鍵となる整数を入力してください
10 ↓
暗号は mbizd です.
[3] 環境 Visual C++
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン: C++コンパイラ,リンカ
[3.3] 言語: C言語
[4] 期限: 2008年12月8日(月)までお願いします。
[5] その他の制限: main関数,文末記号,エスケープシーケンス,printf関数
逐次処理(順次処理)、条件分岐(選択処理)if,if-else,switch、
繰り返し(反復処理)while,do-while,for、演算子の複合演算子(+=,-=,*=,/=,%=)
インクリメント(++)デクリメント(--)、scanf関数、アドレス演算子(&)、キャスト演算子
配列の初期化、2次元配列、文字コード、文字データ(char型)
getchar、putcharは習いました。
お願いします。
13:デフォルトの名無しさん
08/12/04 02:51:25
Visual C++でコマンドライン入力ってできる?
14:デフォルトの名無しさん
08/12/04 03:21:24
>>12
当方の環境は cygwin/WindowsXP, 処理系は 3.4.4 です。
一行入力に fgets() を使いました。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
>>13
コマンドラインアプリだと思うのですが。
>>スレリンク(tech板:944番)
こんどはどうですか?
15:前スレ975
08/12/04 03:37:38
>>984
ありがとうございました。
16:デフォルトの名無しさん
08/12/04 08:17:16
>>13
引数にしたいってこと?
それともビルドをDOSでやりたいの?
17:デフォルトの名無しさん
08/12/04 09:41:22
>>12
#include <stdio.h>
#define N 256
int main(void)
{
char str[N];
int key;
int i;
printf("単語を入力してください "); scanf("%s", str);
printf("鍵となる整数を入力してください "); scanf("%d", &key);
printf("暗号は ");
for (i = 0; (i < N) && (str[i] != '\0'); i++)
putchar('a' + (str[i] - 'a' + key) % 26);
printf(" です.\n");
return 0;
}
18:デフォルトの名無しさん
08/12/04 11:03:19
>>12
URLリンク(kansai2channeler.hp.infoseek.co.jp)