문자열 조작 프로그램 도와주세욤~
푸르니
이소스는 명령어와 문자를 받아서 처리 해주는
프로그램의 소스인데요...
howto 함수 뺴고는 아직 미완성 입니다.
중간에 테스트 해본다고 해봤는뎅....
결과가.....
컴파일은 되는데 실행시키면무조건
string 명령어만 지원합니다.
(사용법 안내를 보려면 string -? 을 입력하세요.)
이렇게 나오는데 왜 string을 입력 못받죠?
#includestdio.h
#includeconio.h
#includewindows.h
char select1[7] = { 0, };
char select2[3] = { 0, };
char sentence[101] = { 0, };
void howto()
{
puts(\t\t\t사용법 안내\n);
puts(\t입력 형식 : string -옵션 문자열(한글 50자, 영어 100자이내));
puts(\t예) string -c This is example);
puts(\n\t\t\t옵션 목록);
puts(\t-n : 문자열에 있는 문자의 갯수 출력);
puts(\t-c : 문자열의 색상을 설정);
puts(\t-r : 문자열을 역순으로 정렬);
}
void number_of()
{
getch();
}
void color_of()
{
getch();
}
void reverse_of()
{
getch();
}
void main()
{
while(1)
{
system(cls);
puts(문자열을 조작합니다.);
puts(\n[ 9를 입력하면 프로그램을 종료 합니다. ]);
puts((사용법 안내를 보려면 string -? 을 입력하세요.)\n);
printf(입력);
scanf(%s %s, &select1, &select2);
fflush(stdin);
fgets(sentence,101,stdin);
if( select1 == string )//명령어가 string일떄
{
if( select2 == || -? )//사용방법 보기
{
howto();
}
else if( select2 == -n )//문자열 숫자세기
{
number_of();
}
else if( select2 == -c )//문자열 색깔바꾸기
{
color_of();
}
else if( select2 == -r )//문자열 거꾸로하기
{
reverse_of();
}
else//옵션이 n,c,r,? 이 아닐때
{
puts(입력 형식이 잘못되었습니다.);
puts((사용법 안내를 보려면 string -? 을 입력하세요.)\n);
getch();
}
}
else if( select1 == 9 || select2 == 9 )//나가기위해 break;사용
{
break;
}
else//명령어가 string이 아닐때
{
puts(string 명령어만 지원합니다.);
puts((사용법 안내를 보려면 string -? 을 입력하세요.)\n);
getch();
}
}
return;
}
-
시나브로
if( select1 == \string\ )
이런 식의 비교는 문자(')에서는 되지만 문자열(\\)에서는 되지 않아요
strcmp(select1, \string\) == 0
이런 식으로 적어주셔야 합니다
즉 if( strcmp(select1, \string\) == 0 )
select1 과 \string\이 일치하면 0이란 값을 반환하게 되고
select1이 클 경우 양수를 반환하게 되고 작을 경우 음수를 반환하게 됩니다