#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>

int set;
int ret;
char message[256];
int c;


/************************************************************
【オプション解析】

		概要	ｵﾌﾟｼｮﾝﾊﾟﾗﾒ-ﾀの解析を行い結果を返す
		用法	optionset( argc, *argv[] );
		引数	int		argc
				char	*argv[]
		戻り値 	int		0	正常終了
						-1	ｵﾌﾟｼｮﾝの指定が正しくない
************************************************************/

int optionset( int argc, char *argv[] ){

	ret = 0;

	/* ｵﾌﾟｼｮﾝ ﾊﾟﾗﾒｰﾀ 解析 */
	if ( argc == 1 ) {
		printf("パラメ−タ−を指定してください｡\n ");
		return(-1);
	} 
	if ( argc >= 1 ) {
		c = *(argv[1]);
		switch ( c ) {
			case '0':
				set=0;
				break;
			case '1':
				set=1;
				break;
			case '2':
				set=2;
				break;
			default:
				set=2;
				break;
		}
	}
	if( argc >= 2){
		strcpy( message, argv[2] );
		printf("%s ",message);
	}
	return(0);
}
/*********************************************************

			  			メイン

*********************************************************/


int main( int argc, char *argv[] ){
	if(optionset( argc, argv )!=0){
		exit(-1);
	}
	for(;;){
		ret=getch();
		if(set==0 && ret>=0x30 && ret<=0x39){
			ret=ret-0x30;
			printf("%d",ret);
			printf("\n");
			exit(ret);
		}		
		if(set==1 && (ret==0x59 || ret==0x79)){
			printf("Y");
			printf("\n");
			exit(0);
		}		
		if(set==1 && (ret==0x4e || ret==0x6e)){
			printf("N");
			printf("\n");
			exit(255);
		}		
		if(set==2){
			message[0]=ret;
			message[1]=0x00;
			printf("%s",message);
			printf("\n");
			exit(ret);
		}
	}
	printf("\n");
	exit(0);
}
