반응형
#if 1 //함수 계산기 프로그램
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int count=0; // 현재 Array 위치 알려주는 index 변수
int nullFinder(char *input)
{
int i,cnt=0;//숫자나 문자열이 들어가는 Byte Size 저장하는 변수
for(i=count;i<20;i++)
{
if(input[i]=='+'||input[i]=='-'||input[i]=='*'||input[i]=='/'||input[i]=='\0')
{
count=i;printf("함수내 cnt값:%d \n",count); return count;
}
}
}
int main(void)
{
char input_buffer[20];
char aa[10];
char ba[10];
char cal;
int a,b;
while(1)
{
count=0;
printf("1+1=,2-2=,1*1=,1/1= (exit:999): ");
fgets(input_buffer,20,stdin);
nullFinder(input_buffer);
strncpy(aa,input_buffer,count+1);
cal=input_buffer[count];
strcpy(ba,input_buffer+count+1);
a = atoi(aa);
b = atoi(ba);
printf("a:%d,b:%d,cal:%c\n",a,b,cal);//
printf("\n");
if(strncmp(input_buffer,"999",3)==NULL)//input_buffer의 4글자가 exit일 경우 NULL값 부여 //4Byte 내용 비교하여 exit
{
break;
}
else
{
switch(cal)
{
case '+': printf("%d%c%d=%d\n",a,cal,b,a+b); break;
case '-': printf("%d%c%d=%d\n",a,cal,b,a-b); break;
case '*': printf("%d%c%d=%d\n",a,cal,b,a*b); break;
case '/': printf("%d%c%d=%d\n",a,cal,b,a/b); break;
case '%': printf("%d%c%d=%d\n",a,cal,b,a%b); break;
default : printf("invalid operator data\n"); break;
}
printf("\n");
}
}
return 0;
}
#endif
반응형
'C Programming' 카테고리의 다른 글
[C]이차원 배열 별표 출력 프로그램 (0) | 2023.10.14 |
---|---|
[C_Debug]visual studio C4996 에러 해결하기 (1) | 2023.10.14 |
[C]아스키 코드 표 출력 Print ASCII code (0) | 2023.10.14 |
포인터를 활용한 대소문자 변경 (1) | 2023.10.14 |
1차원 배열을 활용한 버블 정렬[Bubble Sort] (0) | 2023.10.14 |