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 |