ëŠ�ë‚€ì � ë°� 설명 ¶
최초로 ë¬¸ì œë¥¼ 못ì�½ì–´ì„œ 못풀뻔 했다..;;ã…�;; ì˜�어는 넘í�� ì–´ë ¤ì›Œìž‰~>ã…ƒ<;;
ë�.. 그건 ê·¸ë ‡ê³ .. ì�´ê±° 모처럼 í’€ê³ ì‹¶ì§€ 않ì�€ë¬¸ì œ..
커플ì�´ì•¼ 사랑ì�„ ì�´ë”´ê±¸ë¡œ 확ì�¸í• ì�¼ ì—†ì�„êº¼ê³ .. 사용하는 사람ì�€ í• ì�¼ì—†ëŠ” 솔로ë¿�..
솔로들ì�˜ 심심풀ì�´ 땅콩ì�„ 만드는ë�° ë…¸ë ¥í•´ì•¼ 하다니..ì•„í��..슬í�¼ë�¼.쳇..
커플ì�´ë�¼ë©´ ë‚´ì�´ë¦„ê³¼ 그녀ì�˜ ì�´ë¦„ì�„ ìž…ë ¥í•˜ë©´ 무조건 100%~ë�¼ëŠ” ì¡°ê±´ì�„ ë„£ì�„수ë�„ 있는ë�°..ì�´ê²Œë�람..ã…Ž
ì�´ì œëŠ” ë¬¸ì œë�„ 염장질ì�´ëƒ�~!! (괜히 ë¬¸ì œì—� 화풀ì�´ 한다눙~ã…Ž)
그건 ê·¸ë ‡ê³ ì†ŒìŠ¤ê°€ 다시 C로 ë�Œì•„와서 작성해 보았다.^^
처ì�Œ 배운게 C여서 그런지.. ì™ ì§€ Cê°€ 좀ë�” ë�Œë¦¬ëŠ”ë“¯..ã…Ž
ì�Œ.. ì˜�í˜¸ì„ ë°°ë‹˜ì�˜ ì¡°ì–¸ì�„ ë“£ê³ í•œë²ˆ ìˆ˜ì •í–ˆì–´ìš”..ã…Žã…Ž
어때요? 좀 나아진거 같나요?ã…Ž í�‰ê°€ ë°� ì¡°ì–¸ ë¶€íƒ�ë“œë ¤ìš©~~>ã…�<;;
ë�.. 그건 ê·¸ë ‡ê³ .. ì�´ê±° 모처럼 í’€ê³ ì‹¶ì§€ 않ì�€ë¬¸ì œ..
커플ì�´ì•¼ 사랑ì�„ ì�´ë”´ê±¸ë¡œ 확ì�¸í• ì�¼ ì—†ì�„êº¼ê³ .. 사용하는 사람ì�€ í• ì�¼ì—†ëŠ” 솔로ë¿�..
솔로들ì�˜ 심심풀ì�´ 땅콩ì�„ 만드는ë�° ë…¸ë ¥í•´ì•¼ 하다니..ì•„í��..슬í�¼ë�¼.쳇..
커플ì�´ë�¼ë©´ ë‚´ì�´ë¦„ê³¼ 그녀ì�˜ ì�´ë¦„ì�„ ìž…ë ¥í•˜ë©´ 무조건 100%~ë�¼ëŠ” ì¡°ê±´ì�„ ë„£ì�„수ë�„ 있는ë�°..ì�´ê²Œë�람..ã…Ž
ì�´ì œëŠ” ë¬¸ì œë�„ 염장질ì�´ëƒ�~!! (괜히 ë¬¸ì œì—� 화풀ì�´ 한다눙~ã…Ž)
그건 ê·¸ë ‡ê³ ì†ŒìŠ¤ê°€ 다시 C로 ë�Œì•„와서 작성해 보았다.^^
처ì�Œ 배운게 C여서 그런지.. ì™ ì§€ Cê°€ 좀ë�” ë�Œë¦¬ëŠ”ë“¯..ã…Ž
ì�Œ.. ì˜�í˜¸ì„ ë°°ë‹˜ì�˜ ì¡°ì–¸ì�„ ë“£ê³ í•œë²ˆ ìˆ˜ì •í–ˆì–´ìš”..ã…Žã…Ž
어때요? 좀 나아진거 같나요?ã…Ž í�‰ê°€ ë°� ì¡°ì–¸ ë¶€íƒ�ë“œë ¤ìš©~~>ã…�<;;
소스 ¶
~cpp
#include <stdio.h>
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; j<MAX_SIZE_NAME; ++j)
{
if (64<temp_save_name[j] && temp_save_name[j]<91) // 대문ìž� ìž…ë ¥
name_score[i]+=temp_save_name[j]-64;
else if (96<temp_save_name[j] && temp_save_name[j]<123) // 소문ìž� ìž…ë ¥
name_score[i]+=temp_save_name[j]-96;
else if (NULL==temp_save_name[j])
break;
}
name_score[i]=calculator(name_score[i]);
}
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);
}
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 <stdio.h>
#include <ctype.h>
#include <conio.h>
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 (cursur<MAX_SIZE_NAME)
{
char temp_char;
temp_char=getche();
if (BACK_SPACE==temp_char)
{
printf(" \b");
--cursur;
}
else if(ENTER==temp_char)
break;
else
{
temp_save_name[cursur]=temp_char;
++cursur;
}
}
return cursur;
}
void calculate(char *temp_save_name, int cursur, int *name_score, int i )
{
for (register int j=0; j<cursur; ++j)
{
tolower(temp_save_name[j]);
if ('a'<=temp_save_name[j] && temp_save_name[j]<='z')
name_score[i]+=temp_save_name[j]-'a'+1;
}
name_score[i]=input_to_calculator(name_score[i]);
}
int input_to_calculator(int number)
{
if (number<10)
return number;
else
{
int temp_number=0;
while (number>0)
{
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++ í�´ëž˜ìФ 설계 í• ë•Œ ê³ ìƒ� í•˜ê² ë‹¤... 설계ìƒ�ì�˜ 약간ì�˜ ë¬¸ì œì �ì�´ 있네. ë©”ì�¸ 함수는 최대한 간단히 í•˜ê³ ìž…ë ¥ë§Œ ë°›ê³ ë¬¸ìž�ì—´ì�„ 함수로 넘겨 처리하였으면 ë�” 간단해지지 않았ì�„까?;;; - ì�´ì˜�호
í—™ ì�´ë²ˆì—” 씨로 했네 ㅇㅅㅇ;그런ë�° 현태야;;; C++ í�´ëž˜ìФ 설계 í• ë•Œ ê³ ìƒ� í•˜ê² ë‹¤... 설계ìƒ�ì�˜ 약간ì�˜ ë¬¸ì œì �ì�´ 있네. ë©”ì�¸ 함수는 최대한 간단히 í•˜ê³ ìž…ë ¥ë§Œ ë°›ê³ ë¬¸ìž�ì—´ì�„ 함수로 넘겨 처리하였으면 ë�” 간단해지지 않았ì�„까?;;; - ì�´ì˜�호
으í��.. 맞다!!!! ìƒ�수 처리해주는거 난 안했는ë�°. defineì�´ë‚˜ const ì�´ëŸ°ê±° 귀찮아서 ìž�꾸 안하게 ë�˜ë“œë�¼ ã…‹ã…‹ ã… ã… ë°˜ì„±!!
í��í�� ì�´ë¬¸ì œ 사실 처ì�Œ ì˜�ì–´ë�¼ì„œ 무지 ë‹¹í™©ìŠ¤ëŸ¬ì› ë‹¤ ã…‹ã…‹ - zyint










