ÇÁ·Î±×·¡¹Ö

 3198, 1/160 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   thunder994
   C¾ð¾î Ãʺ¸Àε¥ À߸øµÈ ºÎºÐÁ» ¾Ë·ÁÁÖ¼¼¿ä ¤Ì¤Ì

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=3228 [º¹»ç]


Æ÷ÀÎÅÍ¿Í ÇÔ¼öÀÌ¿ëÇØ¼­ °è»ê±â¸¦ ±¸ÇöÇÏ·ÁÇß½À´Ï´Ù.
¿À·ù¶ß´ÂºÎºÐ °Ü¿ì°Ü¿ì ¾ïÁö·Î Àâ¾Æ¼­ Çß´õ´Ï ¿À·ù¶ß¸é¼­ ½ÇÇàÀÌ Á¦´ë·Î ¾ÈµÇ³×¿ä ¤Ì
Æ÷ÀÎÅÍ À߸ø»ç¿ëÇÑ°Ô ºÐ¸íÇØº¸À̴µ¥..µµÀúÈ÷ ¸ð¸£°Ú¾î¿ä ¤Ì
¾î´ÀºÎºÐÀÌ À߸øµÈ°É±î¿ä
------------------------------------------------------------

#include <stdio.h>
int input_select(int *);
void input_num(int *,int *);
void select_cal(int *,int *,int *);
void add(int *,int *);
void sub(int *,int *);
void mul(int *,int *);
void div(int *,int *);
void end();
void main(){
  int *sel=0,*num1=0,*num2=0;
  *sel=input_select(sel);
   input_num(num1,num2);
   select_cal(sel,num1,num2);
}
int input_select(int *sel){
  printf("======¸Þ´º¸¦ ¼±ÅÃÇϼ¼¿ä======\n");
  printf("=====1.µ¡¼À======\n");
  printf("=====2.»¬¼À======\n");
  printf("=====3.°ö¼À======\n");
  printf("=====4.³ª´°¼À=====\n");
  printf("=====5.Á¾·á======\n");
  printf("==================\n");
  printf("¿¬»êÀ» ¼±ÅÃÇϽÿÀ : ");
  scanf("%d",sel);
  return *sel;
}
void input_num(int *num1,int *num2){
  printf("¿¬»êÇÒ ¼ö¸¦ ÀÔ·ÂÇϽÿÀ : ");
  scanf("%d %d",num1,num2);
}
void select_cal(int *sel,int *num1,int *num2){
  switch(*sel){
   case 1:
    add(num1,num2);
    break;
   case 2:
    sub(num1,num2);
    break;
   case 3:
    mul(num1,num2);
    break;
   case 4:
    div(num1,num2);
    break;
   case 5:
    end();
    break;
  }
}
void add(int *num1,int *num2){
  printf("%d + %d = %d\n", *num1,*num2,(*num1)+(*num2));
}
void sub(int *num1,int *num2){
  printf("%d - %d = %d\n", *num1,*num2,(*num1)-(*num2));
}
void mul(int *num1,int *num2){
  printf("%d * %d = %d\n",*num1,*num2,(*num1)*(*num2));
}
void div(int *num1,int *num2){
  printf("%d / %d = %.4lf\n",*num1,*num2,(double)(*num1)/(*num2));
}
void end(){
  printf("Á¾·á");
}

  Hit : 4708     Date : 2011/12/03 05:40



    
hipro Æ÷ÀÎÅÍ °ü·ÃÀεí... Ū.. ³­ ¸ð¸£°Ú¾î¿ä ¤»¤»¤»¤»¤» 2011/12/03  
prosthetics /*
¾È³çÇϽŰ¡? ³ª´Â ÇÁ·Î±×·¡¹Ö °ü·Ã Áú¹® °Ô½ÃÆÇ¿¡ ¼­½ÄÇÏ´Â Prosthetics¶ó°í Çϳ×.
ÁÖ·Î C, C++, C#, Java µîÀÇ ¾ð¾î¿¡ ´ëÇØ ´äº¯À» Çϳ×.
¶Ù¾î³ª°Ô ÀßÇØ¼­ ´äº¯ÇÏ´Â°Ç ¾Æ´Ï°í, ´äÀ» ÇÏ´Ùº¸¸é ³» ½Ç·Âµµ ¿Ã¶ó°¡´Ï±î °â»ç°â»ç ´äÀ» ÇϰíÀÖ³×.
ÇÏ¿©Æ° ¸·È÷´Â°Ô ÀÖÀ»¶§ ¿©±â´Ù°¡ ¹°¾îº¸¸é ³»°¡ ´äÇØÁÙ °É¼¼.

º»·ÐÀ¸·Î µé¾î°¡Áö.

Æ÷ÀÎÅÍ´Â ÁÖ¼Ò¸¦ ÀúÀåÇϰí ÀÖ´Â º¯¼öÀÔ´Ï´Ù.
°ªÀ» ÀúÀåÇÏ´Â ÀÎÆ®Çü º¯¼ö¿Í ºñ±³¸¦ ÇØº¸Áö¿ä.

int a = 0;
->a´Â °ª0À» ÀúÀåÇÏ´Â intÇü º¯¼öÀÔ´Ï´Ù.
->a´Â º¯¼ö·Î½á, ÁÖ¼Ò, °ª, À̸§ µîÀÇ ¼Ó¼ºÀ» °¡Áö´Âµ¥, a´Â À̸§¿¡ ÇØ´çÇÏ´Â °ÍÀÌÁö¿ä.
->ÄÄÇ»ÅÍ´Â ÁÖ¼Ò¸¦ °¡Áö°í º¯¼ö¸¦ ±¸ºÐÇÕ´Ï´Ù. 0x12345678°°Àº.
->ÀÌ°É »ç¶÷ÀÌ »ç¿ëÇϱ⿣ Á¶±Ý ¹®Á¦°¡ ÀÖÀ¸´Ï±î °£´ÜÇÏ°Ô a¶ó°í¸¸ ÇØÁÖ¸é ÄÄÆÄÀÏ·¯°¡ 0x12345678·Î ¹Ù²ãÁÝ´Ï´Ù. ¹¹ ´Ù ¾Ë°íÀÖ´Â°É Àû¾î³õÀº °Í °°³×¿ä.

int* sel=0;
-> *Àº int¿¡ ºÙ¿©µµ µÇ°í, sel¿¡ ºÙ¿©µµ µË´Ï´Ù¸¸ int*ÀÌ ÇѼ¼Æ®·Î (ÀÎÆ®Çü Æ÷ÀÎÅÍ )¸¦ ³ªÅ¸³»´Ï±î
Àú´Â int¿¡ ºÙÀ̰ڽÀ´Ï´Ù.
->±×¸®°í ¼±¾ð°ú µ¿½Ã¿¡ ÃʱâÈ­ÇÒ¶§ ,·Î ÇÑÁÙ¿¡ ¿¬°áÇÏ´Â °Íº¸´Ù. ¿©·¯ÁÙ·Î ³ª´©´Â°Ô Àб⠽±°í Á¤È®µµµµ ¿Ã¶ó°©´Ï´Ù. °¡²û Àú·¸°Ô ÄÚµùÇϸé ÀÌ»óÇÏ°Ô ÇÁ·Î±×·¥ÀÌ µ¹¾Æ°¡´Â °æ¿ì°¡ ÀÖ¾î¿ä.
-> ÇÏ¿©Æ° ÀÎÆ®Çü Æ÷ÀÎÅÍ selÀ» ¼±¾ðÇÏ°í °Å±â´Ù°¡ 0À» ³Ö¾îÁá³×¿ä.
-> Áï, ÁÖ¼Ò¸¦ ´ã´Â º¯¼ö¿¡ 0À̶ó´Â ÁÖ¼Ò¸¦ ³Ö¾îÁذ̴ϴÙ. °ªÀ» ³Ö¾îÁØÁÙ ¾Ë¾ÒÁÒ?¤» Àúµµ ±ôºý ¼Ó¾Ò´Ù´Ï±î¿ä.
-> thunder994´ÔÀÌ ¿øÇϼ̴ø°ÍÀº 0À̶ó´Â °ªÀ» ÀúÀåÇÏ´Â °Å¿´°ÚÁÒ? ±×·³ ´ÙÀ½°ú °°ÀÌ ¹Ù²ãÁà¾ßÇÕ´Ï´Ù.
->int sel = 0;
-> *Çϰí &ÀÇ Â÷ÀÌ´Â ¾Ë°í°è½ÇÅ×´Ï µû·Î ¼³¸í¾ÈÇϰڽÀ´Ï´Ù.
-> ´Â ÈÑÀÌÅ©°í. <&º¯¼ö : ÁÖ¼Ò>, <*ÁÖ¼Ò = º¯¼ö>
-> int* º¯¼ö = ÁÖ¼Ò;


void input_select(int *sel)
-> void·Î ¹Ù…f½À´Ï´Ù. call by reference´Â °ªÀ» ¹ÝȯÇÏÁö ¾Ê¾Æµµ µÇ°Åµç¿ä.
-> ¸Å°³º¯¼ö°¡ int* selÀ̳׿ä. ¹Ù·Î À§¿¡¼­ int* º¯¼ö = ÁÖ¼Ò;¶ó°í ÇßÁÒ? ¿©±â´Ù°¡ ÁÖ¼Ò¸¦ ³Ö¾îÁà¾ßÇÕ´Ï´Ù.
-> ±× ¹Ù·ÎÀ§¿¡´Â <&º¯¼ö= ÁÖ¼Ò>¶ó°í ½áÁ®Àֳ׿ä. &selÇÏ¸é µÇ°Ú³×¿ä.

¼öÁ¤µÈ ÄÚµå´Â ¾Æ·¡¿Í °°½À´Ï´Ù.
¿À·£¸¸¿¡ Áú¹®ÀÌ ¿Í¼­ ÈïºÐÇØ¼­ ´äÀ» ½è´Âµ¥ º¸Åë ÀÌ·¸°Ô ´äº¯ ¾ÈÇÕ´Ï´Ù.(ƯÈ÷ µµÀԺκÐ)
ÀÌÁ¦¿Í¼­ ´äÇѰмöÁ¤ÇÏ·Á´Ï ±ÍÂú¾Æ¼­ ±×³É ¿Ã¸³´Ï´Ù. ±ÛÁß¿¡ ±âºÐ³ª»Û°Í ÀÖ¾úÀ¸¸é »ç°úµå¸³´Ï´Ù.

*/
#include <stdio.h>
void input_select(int *); //int->void
void input_num(int *,int *);
void select_cal(int *,int *,int *);
void add(int *,int *);
void sub(int *,int *);
void mul(int *,int *);
void div(int *,int *);
void end();
void main()
{
//
int sel=0;
int num1=0;
int num2=0;
input_select(&sel);//*sel=input_select(sel);
if(sel!=5)
input_num(&num1,&num2);//
select_cal(&sel,&num1,&num2);//
}
void input_select(int* sel) //int->void
{
printf("======¸Þ´º¸¦ ¼±ÅÃÇϼ¼¿ä======\n");
printf("=====1.µ¡¼À======\n");
printf("=====2.»¬¼À======\n");
printf("=====3.°ö¼À======\n");
printf("=====4.³ª´°¼À=====\n");
printf("=====5.Á¾·á======\n");
printf("==================\n");
printf("¿¬»êÀ» ¼±ÅÃÇϽÿÀ : ");
scanf("%d",sel);
// return *sel;

}
void input_num(int *num1,int *num2)
{
printf("¿¬»êÇÒ ¼ö¸¦ ÀÔ·ÂÇϽÿÀ : ");
scanf("%d %d",num1,num2);
}
void select_cal(int *sel,int *num1,int *num2){
switch(*sel){
case 1:
add(num1,num2);
break;
case 2:
sub(num1,num2);
break;
case 3:
mul(num1,num2);
break;
case 4:
div(num1,num2);
break;
case 5:
end();
break;
}
}
void add(int *num1,int *num2){
printf("%d + %d = %d\n", *num1,*num2,(*num1)+(*num2));
}
void sub(int *num1,int *num2){
printf("%d - %d = %d\n", *num1,*num2,(*num1)-(*num2));
}
void mul(int *num1,int *num2){
printf("%d * %d = %d\n",*num1,*num2,(*num1)*(*num2));
}
void div(int *num1,int *num2){
printf("%d / %d = %.4lf\n",*num1,*num2,(double)(*num1)/(*num2));
}
void end(){
printf("Á¾·á\n");
}
2011/12/03  
hipro num1À̶û num2°¡
void add(int ,int );
void sub(int ,int );
void mul(int ,int );
void div(int ,int );
·Î ¸ø°¡´Âµí ÇÕ´Ï´Ù¸¸Àº??
2011/12/03  
hipro ¾Æ.. ÁÖ¼Ò°ªÀ» ÀÌ¿ëÇÏ¸é »ó°ü¾ø³ª¿ä?? ¿¡°í°í ¸Ó¸®¾ß.;;; 2011/12/03  
prosthetics int *sel=0,*num1=0,*num2=0;
À§ ¼±¾ðÀÌ "sel,num1,num2°¡ 0À̶ó´Â °ªÀ» °¡¸®Å²´Ù"¶ó´Â ¿À·ù¿¡¼­ ½ÃÀÛÇÑ ³í¸® ¿À·ùÀÔ´Ï´Ù.

½ÇÁ¦·Î´Â int* sel = NULL;°ú °°ÀÌ 0À̶ó´Â ÁÖ¼Ò¸¦ ´ëÀÔÇÑ °ÍÀÌ´Ï
scanf("%d",sel); À̺κп¡¼­ ·±Å¸ÀÓ ¿À·ù°¡ ³ª´Â °ÍÀÔ´Ï´Ù.
0x00000000¶ó´Â ÁÖ¼Ò¿¡ °ªÀ» ÀúÀåÇÏ·ÁÇϴϱî¿ä.
³Î Æ÷ÀÎÅÍ ¿À·ù¶ó°í Çϴµ¥ ¾Æ·¡ º¸½Ã¸é µÉ°Ì´Ï´Ù.
http://ko.wikipedia.org/wiki/%EC%84%B8%EA%B7%B8%EB%A9%98%ED%85%8C%EC%9D%B4%EC%85%98_%EC%98%A4%EB%A5%98
2011/12/03  
hipro prosthetics´Ô! °í¸¿½À´Ï´Ù ¤¾¤¾¤¾ º¸°í °¡´Â »ç¶÷¸¶Àú ¹è¿ö°¡´Â±º¿ä! ¤¾¤¾ 2011/12/03  
thunder994 ´äº¯°ú Ä£ÀýÇϽм³¸í Á¤¸» °¨»çÇÕ´Ï´Ù!^^
±×·±µ¥ ±Ã±ÝÇѰÔÀִµ¥¿ä. sel,num1,num2¸¦ ¾Æ¿¹ Æ÷ÀÎÅÍ º¯¼ö·Î ¼±¾ðÇØ¼­ »ç¿ëÇÒ¼ö´Â ¾ø´Â°Ç°¡¿ä?
³Ê¹« º¹ÀâÇØÁú±î¿ä?.? óÀ½ºÎÅÍ Æ÷ÀÎÅÍÇü º¯¼ö¸¦ ¼±¾ðÇØ¼­ ¸¸µé·Á°í Çߴµ¥ ÀÚ²Ù Æ÷ÀÎÅÍ ÃʱⰪÀ» ÁÖ¶ó°í µð¹ö±×¿¡ ¶ß±æ·¡ ¾î¿¼ö¾øÀÌ ±×³É ÃʱⰪÁØ´ä½Ã°í 0À» ³Ö´Â´Ù°í Çߴµ¥ ±×°Ô ±×°Ô ¾Æ´Ï¾ú³×¿ä..¤» ¾î¶»ÇÏ¸é Æ÷ÀÎÅÍÇüº¯¼ö ¼±¾ðÇØ¼­ &¿¬»êÀÚ ¾øÀÌ ¿Ï¼ºÇÒ¼öÀÖÀ»Áö ±Ã±ÝÇÕ´Ï´Ù ^^;
2011/12/03  
prosthetics ÁÖ¼Ò¸¦ ´ã´Â º¯¼öÀ̱⠶§¹®¿¡ °ªÀº ´ãÀ» ¼ö ¾ø½À´Ï´Ù.
(int*)Çü º¯¼ö´Â intÇü º¯¼öÀÇ ÁÖ¼Ò¹Û¿¡ ÀúÀåÇÒ ¼ö ¾ø½À´Ï´Ù!

int sel = 0;
int* ipsel = &sel;
input_select(ipsel);
ÀÌ·±½ÄÀ¸·Î´Â &ÀÇ °³¼ö¸¦ ÃÖ´ëÇÑ ÁÙÀÌ´Â °Í ¹Û¿¡ ¾ÈµÇ°Ú³×¿ä~
2011/12/03