// MeanvalueIfLet.swift Copyright (c) Kari Laitinen // http://www.naturalprogramming.com // 2014-09-28 File created. // 2018-01-02 Last modification. // This program demonstrates the if-let construct. import Foundation var number_of_integers_given = 0 var sum_of_integers = 0 print( "\n This program calculates the mean value of" + "\n the integers you enter from the keyboard." + "\n Please, start entering numbers. The program" + "\n stops when you enter a letter. \n" ) var keyboard_input_is_numerical = true while keyboard_input_is_numerical == true { print( " Enter an integer: ", terminator: "" ) // The following if-let construct tests whether the conversion // from String to Int is successful. if let integer_from_keyboard = Int( readLine()! ) { number_of_integers_given += 1 sum_of_integers = sum_of_integers + integer_from_keyboard } else { keyboard_input_is_numerical = false } } var mean_value = 0.0 // The type of mean_value becomes // Double as we assign a Double value if number_of_integers_given > 0 { mean_value = Double( sum_of_integers ) / Double( number_of_integers_given ) } print( String( format: "\n The mean value is: %f \n\n", mean_value ) )