Naver_지식인

언어/c언어2018. 9. 25. 22:15


https://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040101&docId=310710679

# include <stdio.h>

# include <string.h>

# include <stdlib.h>

# define SIZE 10

typedef struct Calc {

char opOne[SIZE];

char ope;

char opTwo[SIZE];

char resultv[SIZE*2];

int resultInt;

}Calc;

// ==========================================

//1.

void _init_(Calc* nParam);

//2.

void _valueInput_(Calc* nParam);

//3.

void _result_(Calc* nParam);

// ==========================================

int main(void) {

Calc myNode;

_init_(&myNode);

_valueInput_(&myNode);

_result_(&myNode);

printf("Result: %d\n", myNode.resultInt);

return 0;

} // end of main function 

// ==========================================

void _init_(Calc* nParam) {

nParam->ope = '\0';

strcpy(nParam->opOne, "\0");   // 숫자 _01

strcpy(nParam->opTwo, "\0");   // 숫자 _02

strcpy(nParam->resultv, "\0"); // 연산자 

nParam->resultInt = 0x0;

} // end of _init_ function

// ==========================================

void _valueInput_(Calc* nParam) {

printf("OP#1: ");

gets(nParam->opOne);

printf("OPER: ");

scanf("%c", &nParam->ope);

rewind(stdin); // 버퍼 비우기 

printf("OP#2: ");

gets(nParam->opTwo);

}

// ==========================================

void _result_(Calc* nParam) {

switch (nParam->ope) {

case '@':

strcpy(nParam->resultv, nParam->opOne);

strcat(nParam->resultv, nParam->opTwo);

nParam->resultInt = atoi(nParam->resultv);

nParam->resultInt += 1;

break;

case '#':

strcpy(nParam->resultv, nParam->opTwo);

strcat(nParam->resultv, nParam->opOne);

nParam->resultInt = atoi(nParam->resultv);

nParam->resultInt -= 1;

break;

default:

printf("error ... !!!\n");

exit(1);

}

}



'언어 > c언어' 카테고리의 다른 글

해공예  (0) 2018.10.07
네이버 ( 2018_10_07)  (0) 2018.10.07
네이버 지식인 답변  (0) 2018.09.14
http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=2069&sca=20  (0) 2018.07.16
네이버 지식인 문제 풀이  (0) 2018.06.15