#include "stdafx.h"
#include "accr_chk.h"

ACCR_CHK::ACCR_CHK()
{
	init();
}

void ACCR_CHK::init( void )
{
	memset(abc, 0, sizeof(abc));
}

void ACCR_CHK::line( const char *s )
{
	for(int i=0 ; s[i] ; i++) {
		if ( s[i] == '(' && s[i+1] == '&' ) {
			if ( isupper(s[i+2]) ) {
				abc[ s[i+2] - 'A' ]++;
				i += 2;
			}
			else if ( islower(s[i+2]) ) {
				abc[ s[i+2] - 'a' ]++;
				i += 2;
			}
		}
	}
}

char * ACCR_CHK::result( void )
{
	int i;
	char s[2] = "@";
	bool f;

	strcpy( rslt, "重複しているキー:" );
	for(i=0,f=0 ; i<26 ; i++) {
		if ( abc[i] > 1 ) {
			s[0] = 'A' + i;
			strcat(rslt, s);
			f = 1;
		}
	}
	if ( f == 0 ) {
		strcat( rslt, "なし" );
	}

	strcat( rslt, "\n未使用のキー:" );
	for(i=0,f=0 ; i<26 ; i++) {
		if ( abc[i] == 0 ) {
			s[0] = 'A' + i;
			strcat(rslt, s);
			f = 1;
		}
	}
	if ( f == 0 ) {
		strcat( rslt, "なし" );
	}

	return rslt;
}
