본문 바로가기
C Programming

[C]함수 계산기 프로그램

by TYB 2023. 10. 14.
반응형
#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

 

반응형