본문 바로가기

C#

[C#] Split, Case 예제

반응형

 

  • Split과 Case문을 사용한 예제

split과 switch~case를 이용하여 사칙연산.

// "9,7,+" 이런형태로 입력했을떄

// "결과 : 9+7 = 16" 와 같은 결과 출력.

 

public void TestCaseEx(){
	int num1, num2;
	string op;
	double result = 0;
	string inputdata;   //수식을 입력받을 변수 

	bool err = false;

	Console.Write("input num1,num2,operator (ex: 3,5,+) : ");
	inputdata = Console.ReadLine();

	string[] datas = inputdata.split(',');
	//inputdata 에 있는 문자열을 ',' 을 구분자로 하여 잘라 datas배열에 순서대로 넣는다.

	//만약 inputdata = "9,7,+" 이라면 datas[0] = "9", datas[1] = "7", datas[2] = "+" 가 들어간다.

	num1 = int.Parse(datas[0]); //num1 에 datas[0]에 있는 값을 int형으로 변환에서 입력            
	num2 = Convert.ToInt32(datas[1]); //위와 같지만 conver.toint32()함수를 이용
	op = datas[2];

	switch (op){

		case "+":
			result = num1 + num2;
		break;

		case "-":
    		result = num1 - num2;
		break;

		case "*":
			result = num1 * num2;
		break;

		case "/":
			if (num2 == 0){   //만약 0으로 나누려고 한다면
				Console.WriteLine("0으로 나눌수 없습니다. ");
				break;  //계산하지않고 switch문을 빠져나온다.
			}
			result = (double)num1 / num2;
		break;

		default:
			Console.WriteLine("연산자를 잘못 입력하였습니다.!!");
		break;  //마지막엔 break를 쓰지 않아도 관계없다.
	}

	if(!err)  //0으로 나누려고하여 에러가 나면 결과값은 출력하지 않는다.
		Console.WriteLine("{0}{1}{2}={3:F2}", num1, op, num2, result);
}

 

결과

input num1,num2,operator (ex: 3,5,+) : 5,8,+
5+8=13.00

 

 

 

 

반응형