== 느낀점 및 설명 == 최초로 문제를 못읽어서 못풀뻔 했다..;;ㅁ;; 영어는 넘흐 어려워잉~>ㅃ<;; 뭐.. 그건 그렇고.. 이거 모처럼 풀고싶지 않은문제.. 커플이야 사랑을 이딴걸로 확인할일 없을꺼고.. 사용하는 사람은 할일없는 솔로뿐.. 솔로들의 심심풀이 땅콩을 만드는데 노력해야 하다니..아흐..슬퍼라.쳇.. 커플이라면 내이름과 그녀의 이름을 입력하면 무조건 100%~라는 조건을 넣을수도 있는데..이게뭐람..ㅎ 이제는 문제도 염장질이냐~!! (괜히 문제에 화풀이 한다눙~ㅎ) 그건 그렇고 소스가 다시 C로 돌아와서 작성해 보았다.^^ 처음 배운게 C여서 그런지.. 왠지 C가 좀더 끌리는듯..ㅎ 음.. 영호선배님의 조언을 듣고 한번 수정했어요..ㅎㅎ 어때요? 좀 나아진거 같나요?ㅎ 평가 및 조언 부탁드려용~~>ㅁ<;; == 소스 == {{{~cpp #include const int MAX_SIZE_NAME=25; const int BACK_SPACE=8; int calculator(int); void main() { int name_score[2]; for (register int i=0; i<2; ++i) { char temp_save_name[MAX_SIZE_NAME]={0,}; printf ("%d번째 사람의 이름을 입력해주세요.\n>>",i+1); scanf ("%s",temp_save_name); for (register int j=0; jname_score[1]) result_percent=(float)name_score[1]*100/(float)name_score[0]; else result_percent=(float)name_score[0]*100/(float)name_score[1]; printf("두사람의 사랑은 %.2f%%입니다.",result_percent); } int calculator(int number) { if (number<10) return number; else { int temp_number=0; while (number>0) { temp_number+=number%10; number/=10; } return calculator(temp_number); } } }}} === 수정버전 === {{{~cpp #include #include #include const int MAX_SIZE_NAME=25; const int BACK_SPACE=8; const int ENTER=13; void input_and_calculate(int*); int input_and_return_cursur(char*, int); void calculate(char*, int, int*, int); int input_to_calculator(int); void output(int*); void main() { int name_score[2]; input_and_calculate(name_score); output(name_score); } void input_and_calculate(int *name_score) { for (register int i=0; i<2; ++i) { char temp_save_name[MAX_SIZE_NAME]={0,}; calculate(temp_save_name, input_and_return_cursur(temp_save_name, i), name_score, i); printf ("\n"); } } int input_and_return_cursur(char *temp_save_name, int i) { int cursur=0; printf ("%d번째 사람의 이름을 입력해주세요.\n>>",i+1); while (cursur0) { temp_number+=number%10; number/=10; } return input_to_calculator(temp_number); } } void output(int *name_score) { float result_percent; if (name_score[0]>name_score[1]) result_percent=(float)name_score[1]*100/(float)name_score[0]; else result_percent=(float)name_score[0]*100/(float)name_score[1]; printf("두사람의 사랑지수는 %.2f%%입니다.",result_percent); } }}} == 나에게 할고싶은 말 == tolower(해당문자를 소문자로 바꿔줌, 소문자면 그대로)함수 또는 toupper(대문자로)를 쓰고 알파벳에서 숫자가 아닌 문자(alpha = alpha - 'a' +1)로 처리 하였다면 대소문자 따로 처리할 필요 없었고, 가독성 또한 좋아지지 않았을까? - [이영호] 그런데 현태야;;; C++ 클래스 설계 할 때 고생 하겠다... 설계상의 약간의 문제점이 있네. 메인 함수는 최대한 간단히 하고 입력만 받고 문자열을 함수로 넘겨 처리하였으면 더 간단해지지 않았을까?;;; - [이영호] 헙 이번엔 씨로 했네 ㅇㅅㅇ; 으흐.. 맞다!!!! 상수 처리해주는거 난 안했는데. define이나 const 이런거 귀찮아서 자꾸 안하게 되드라 ㅋㅋ ㅠㅠ 반성!! 흐흐 이문제 사실 처음 영어라서 무지 당황스러웠다 ㅋㅋ - [zyint] ---- [LittleAOI] [LoveCalculator]