Algorithm/basic

Swift - while

Teol 2023. 10. 29. 16:44

 

- 문제

while 문 사용

(+, -) 계산기프로그램

아이디와 비밀번호가 틀렸을 경우 "계속 하시겠습니까?" 라는 문장을 출력하세요.

  • 첫 번째 정수를 입력 받는다.
  • 두 번째 정수를 입력 받는다.
  • 연산자를 선택한다.
  • 선택한 연산자에 따라 연산결과를 출력한다.
  • 다시 실행할 것인가를 물어본다.
  • “Y” 를 입력하면 다시 실행.
  • “N” 입력하면 반복문 종료.
func cul (input:String) -> String{
    
    print("첫 번째 정수를 입력하세요 : ",terminator: "")
    let num1 = Int(readLine()!)!
    print("두 번째 정수를 입력하세요 : ",terminator: "")
    let num2 = Int(readLine()!)!
    var result = 0
    print("1을 입력하시면 더하기 2는 빼기 입니다 : ",terminator: "")
    let choice = Int(readLine()!)
    if(choice == 1){
        result = num1 + num2
        print("더하기 연산결과는 \(result) 입니다.")
    }
    else if(choice == 2){
        result = num1 - num2
        print("뻬기 연산결과는 \(result) 입니다.")
    }
    else{
        print("1과 2 이외의 숫자는 입력하실수 없습니다.")
    }
    
    return ""
}

var carculator = cul(input: "")

while (true) {
    print("다시 실행 하시겠습니까? (Y/N) : ",terminator: "")
    let input2 = readLine()
    if(input2 == "Y"){
        var carculator2 = cul(input: "")
    }
    else if(input2 == "N"){
        print("종료되었습니다.")
        break
    }
}

 

 

+ (응용) 재귀함수 사용

func cul (input:String) -> String{
    
    print("첫 번째 정수를 입력하세요 : ",terminator: "")
    let num1 = Int(readLine()!)!
    print("두 번째 정수를 입력하세요 : ",terminator: "")
    let num2 = Int(readLine()!)!
    var result = 0
    print("1을 입력하시면 더하기 2는 빼기 입니다 : ",terminator: "")
    let choice = Int(readLine()!)
    if(choice == 1){
        result = num1 + num2
        print("더하기 연산결과는 \(result) 입니다.")
    }
    else if(choice == 2){
        result = num1 - num2
        print("뻬기 연산결과는 \(result) 입니다.")
    }
    else{
        print("1과 2 이외의 숫자는 입력하실수 없습니다.")
    }
    
    print("다시 실행 하시겠습니까? (Y/N) : ",terminator: "")
    let input2 = readLine()
    if(input2 == "Y"){
        return cul(input: "")
    }
    else if(input2 == "N"){
        print("종료되었습니다.")
    }
    
    return ""
}

var carculator = cul(input: "")

'Algorithm > basic' 카테고리의 다른 글

Swift - for  (0) 2023.10.31
Swift - random  (0) 2023.10.30
Swift - switch  (0) 2023.10.27
Swift - if 3  (0) 2023.10.26
Swift - if 2  (0) 2023.10.26