#include <stdio.h>
#include<string.h>
#include <stdlib.h>
void main()
{
int a=0,i;
char b[200],c[200],f;
while(1)
{
fflush(stdin);
printf("\n실행할 프로그램을 선택하세요\n");
printf("암호화=E\n");
printf("복호화=D\n");
printf("종료=Q\n");
scanf("%c",&f);
fflush(stdin);
switch(f)
{
case'E':
case'e':
printf("시저 암호화 프로그램\n");
printf("약속한 키값(Offset)은 얼마입니까?(ex)3,4,5..etc): ");
scanf("%d",&a);
printf("plain text를 입력하시오: ");
scanf("%s",b);
if(a>26)
a=a % 26; //0<=key<26.
for(i=0;i<strlen(b);i++)
{
if(b[i]==' ')
{
continue;
}
else
{
if(b[i]>= 'x')
{
b[i]=b[i]-26;
}
b[i]=b[i]+a;
}
}
printf("Chiper Text는 %s입니다\n",b);
a=0;
i=0;
break;
case'D':
case'd':
printf("시저 복호화 프로그램\n");
printf("약속한 키값(Offset)은 얼마입니까?(ex)3,4,5,..etc): ");
scanf("%d",&a);
printf("Chiper Text를 입력하시오: ");
scanf("%s",c);
if(a>26)
a=a % 26;
for(i=0; i<strlen(c); i++)
{
if(c[i]==' ')
{
continue;
}
else
{
if(c[i]<= 'c')
{
c[i]=c[i]+26;
}
c[i]=c[i]-a;
}
}
printf("Plain Text는 %s입니다\n",c);
break;
case 'Q':
case 'q':
printf("프로그램을 종료합니다.\n");
break; exit(0);
}
}
}
프로그램은 dev c 사용중임
[Error] '::main' must return 'int'
에러가 인트를 사용해야만 한다고 나오는데 원래 void main도 되는거 아닌가여
?이거종료안되는데
case'q'에서 종료메세지출력후 break 해버리면 while문이 계속돌잖아
dev c는 왜그런지모르겠고 vs c++에선 void main으로하고 종료조건 제대로만들어주면 문제없이 잘됨
ㄳㄳ 비주얼 설치해서 해봐야겠네여
머에요->머예요
머가아니라 뭐아닐까