반응형
- 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
반응형
'C#' 카테고리의 다른 글
[C#] KeyPress / KeyDown 이벤트 (Enter 입력) (0) | 2021.02.16 |
---|---|
[C#] 폼의 X버튼 클릭시 확인 메세지 생성 (0) | 2021.02.16 |
[C#] textbox값 전송 (속성) (0) | 2019.12.04 |
[C#] DataRow를 이용한 sqldb 다른폼으로 넘기기 (0) | 2019.12.04 |
[C#] 속성을 이용한 form1 textbox값을 form2로 받는방법 (0) | 2019.12.04 |