= 'a' && str[i] <= 'z') { str[i] = (str[i] - 'a' + 13) % 26 + 'a'; } else if (str[i] >= 'A' && str[i] <= 'Z') { str[i] = (str[i] - 'A' + 13) % 26 + 'A'; } } printf("\t\t변환결과 : "); puts(str); return 0; } void railfence(){ system("cls"); printf("\t\t■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■\n\n"); printf("\t\t\t\t\t\trailfence \n\n"); printf("\t\t■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■\n\n\n"); int i, j, length, column, cnt, arr[100][1000]; char str[1000]; printf("\t\t문장을 입력하세요 : "); sca"> = 'a' && str[i] <= 'z') { str[i] = (str[i] - 'a' + 13) % 26 + 'a'; } else if (str[i] >= 'A' && str[i] <= 'Z') { str[i] = (str[i] - 'A' + 13) % 26 + 'A'; } } printf("\t\t변환결과 : "); puts(str); return 0; } void railfence(){ system("cls"); printf("\t\t■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■\n\n"); printf("\t\t\t\t\t\trailfence \n\n"); printf("\t\t■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■\n\n\n"); int i, j, length, column, cnt, arr[100][1000]; char str[1000]; printf("\t\t문장을 입력하세요 : "); sca"> = 'a' && str[i] <= 'z') { str[i] = (str[i] - 'a' + 13) % 26 + 'a'; } else if (str[i] >= 'A' && str[i] <= 'Z') { str[i] = (str[i] - 'A' + 13) % 26 + 'A'; } } printf("\t\t변환결과 : "); puts(str); return 0; } void railfence(){ system("cls"); printf("\t\t■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■\n\n"); printf("\t\t\t\t\t\trailfence \n\n"); printf("\t\t■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■\n\n\n"); int i, j, length, column, cnt, arr[100][1000]; char str[1000]; printf("\t\t문장을 입력하세요 : "); sca">
#include <stdio.h>
#include <Windows.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>

char str[1000];

void rot13();
void railfence();
void asciiencrypt();
void morse();

	void rot13(){
	system("cls");	
	printf("\\t\\t■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■\\n\\n");
	printf("\\t\\t\\t\\t\\t\\trot13  \\n\\n");
	printf("\\t\\t■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■\\n\\n\\n");
	int i;
	char str[1000];
	printf("\\t\\t문장을 입력하세요 : ");
	scanf("%s",str);
	for (i = 0; str[i]; i++) {
		if (str[i] >= 'a' && str[i] <= 'z') {
			str[i] = (str[i] - 'a' + 13) % 26 + 'a';
		}
		else if (str[i] >= 'A' && str[i] <= 'Z') {
			str[i] = (str[i] - 'A' + 13) % 26 + 'A';
		}
	}
	printf("\\t\\t변환결과 : ");
	puts(str);
	return 0;
}

void railfence(){

	system("cls");
	printf("\\t\\t■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■\\n\\n");
	printf("\\t\\t\\t\\t\\t\\trailfence  \\n\\n");
	printf("\\t\\t■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■\\n\\n\\n");
	int i, j, length, column, cnt, arr[100][1000];
	char str[1000];
	printf("\\t\\t문장을 입력하세요 : ");
	scanf("%s", str);
	length = strlen(str);
	printf("\\t\\t열 수를 입력하세요 : ");
	scanf("%d", &column);
	for (i = 0; i<column; i++){
		for (j = 0; j<length; j++){
			arr[i][j] = 0;
		}
	}
	cnt = 0;
	j = 0;
	while (j<length){
		if (cnt % 2 == 0){
			for (i = 0; i<column; i++){
				//strcpy(arr[i][j],str[j]);
				arr[i][j] = (int)str[j];
				j++;
			}
		}
		else{	
			for (i = column - 2; i>0; i--){
				arr[i][j] = (int)str[j];
				j++;
			}
		}
		cnt++;
	}
	for (i = 0; i<column; i++){
		for (j = 0; j<length; j++){
			if (arr[i][j] != 0)
				printf("%c", arr[i][j]);
		}
	}
	printf("\\n");
}

void asciiencrypt(){

	system("cls");
	printf("\\t\\t■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■\\n\\n");
	printf("\\t\\t\\t\\t\\t\\tascii  \\n\\n");
	printf("\\t\\t■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■\\n\\n\\n");

	int i;
	char str[1000];
	printf("\\t\\t문장을 입력하세요 : ");
	scanf("%s", str);
	i = 0;
	printf("\\t\\t아스키 코드로 변환한 결과 : ");
	while (str[i] != '\\0'){
		printf("%d ", str[i]);
		i++;
	}
	printf("\\n");
}

void morse(){
	char *alphabet[] = { ".-","-...","-.-.","-..",".","..-.","--.","....","..",".---",
		"-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-",
		"...-",".--","-..-","-.--","--.." };
	char *number[] = { "-----",".----","..---","...--","....-",".....","-....","--...","---..","----." };

	int i;
	char str[1000], str1[1000];
	system("cls");
	printf("\\t\\t■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■\\n\\n");
	printf("\\t\\t\\t\\t\\t\\tmorse  \\n\\n");
	printf("\\t\\t■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■\\n\\n\\n");

	printf("\\t\\t문장을 입력하세요 : ");
	scanf("%s", str);
	i = 0;
	while (str[i] != '\\0'){
		if (str[i] != ' ' && (!isdigit(str[i]))){
			printf("%s ", alphabet[toupper(str[i]) - 65]);
		}
		if (str[i] == ' '){
			printf(" ");
		}
		if (isdigit(str[i]) && str[i] != ' '){
			printf("%s ", number[str[i] - 48]);
		}

		i++;
	}
	printf("\\n");

}

int main() {
	int choose;
	printf("\\t\\t■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■\\n\\n");
	printf("\\t\\t\\t\\t\\t\\tStringCiphers  \\n\\n");
	printf("\\t\\t■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■\\n\\n\\n");

	printf("\\t\\t\\t\\t\\t\\t1. rot13  \\n\\n");
	printf("\\t\\t\\t\\t\\t\\t2. railfence  \\n\\n");
	printf("\\t\\t\\t\\t\\t\\t3. ascii  \\n\\n");
	printf("\\t\\t\\t\\t\\t\\t4. morse  \\n\\n");
	printf("\\t\\t\\t\\t\\t\\t암호화 방식을 선택하세요 : ");
	scanf("%d", &choose);
	switch (choose) {
	case 1: rot13(); break;
	case 2: railfence(); break;
	case 3: asciiencrypt(); break;
	case 4: morse(); break;
	default: printf("\\t\\t\\t\\t\\t\\t잘못 입력하셨습니다."); break;
	}

	return 0;
}

StringCiphers