RockNav
RockNav

Reputation: 79

How to check boolean value in integer Swift

I am new to Swift, and I'm trying to make a login program for Mac OS X. I do know about Swift programming on iOS, but I don't know that much about OS X Swift. So I wrote a program for OS X. I almost finished it, but i want to check my boolean details by integer for example i wanted to make if student's score is equal to my variable, it show the grade that you got.

class ViewController: NSViewController {

@IBOutlet var Maths: NSTextField! = NSTextField()
@IBOutlet var Science: NSTextField! = NSTextField()
@IBOutlet var English: NSTextField! = NSTextField()
@IBOutlet var Religious: NSTextField! = NSTextField()
@IBOutlet var History: NSTextField! = NSTextField()
@IBOutlet var Geography: NSTextField! = NSTextField()
@IBOutlet var ICT: NSTextField! = NSTextField()
@IBOutlet var Computing: NSTextField! = NSTextField()

@IBOutlet var Total: NSTextField!
@IBOutlet var AVG: NSTextField!

@IBOutlet var StudentName: NSTextField!
@IBOutlet var StudentClass: NSTextField!

@IBOutlet var Report: NSTextField!


var A = 80 > 100
var B = 75 > 80
var C = 60 > 75
var D = 50 > 60
var E = 40 > 50
var F = 0 > 40




override func viewDidLoad() {
    super.viewDidLoad()



}

override var representedObject: AnyObject? {
    didSet {
    // Update the view, if already loaded.


    }
}

@IBAction func CountTotalnAVG(sender: NSButton) {

    var Mathsc = Maths.stringValue.toInt()
    var Sciencec = Science.stringValue.toInt()
    var Englishc = English.stringValue.toInt()
    var Religiousc = Religious.stringValue.toInt()
    var Historyc = History.stringValue.toInt()
    var Geographyc = Geography.stringValue.toInt()
    var ICTc = ICT.stringValue.toInt()
    var computingc = Computing.stringValue.toInt()

    /*
    var add = (Mathsc?.advancedBy(Sciencec!).advancedBy(Englishc!).advancedBy(Religiousc!).advancedBy(Historyc!).advancedBy(Geographyc!).advancedBy(ICTc!).advancedBy(computingc!))
    */

    var add: Int = (Mathsc! + Sciencec! + Englishc! + Religiousc! + Historyc! + Geographyc! + ICTc! + computingc!)

    Total.stringValue = "\(add)"

    var divide:Int = add/8

    AVG.stringValue = "\(divide)"

}

@IBAction func GetReport(sender: NSButton) {

    var A = 80 > 100
    var B = 75 > 80
    var C = 60 > 75
    var D = 50 > 60
    var E = 40 > 50
    var F = 0 > 40

    var Mathsc = Maths.stringValue.toInt()
    var Sciencec = Science.stringValue.toInt()
    var Englishc = English.stringValue.toInt()
    var Religiousc = Religious.stringValue.toInt()
    var Historyc = History.stringValue.toInt()
    var Geographyc = Geography.stringValue.toInt()
    var ICTc = ICT.stringValue.toInt()
    var computingc = Computing.stringValue.toInt()

    if Mathsc = A.boolValue {

    }
}    
}

Upvotes: 2

Views: 717

Answers (1)

Eric Aya
Eric Aya

Reputation: 70119

You can check if a value is inside an interval with a switch:

func getGrade(score: Int) -> String {
    let result: String
    switch score {
    case 80...100 :
        result = "A"
    case 75..<80 :
        result = "B"
    case 60..<75 :
        result = "C"
    case 50..<60 :
        result = "D"
    case 40..<50 :
        result = "E"
    case 0..<40 :
        result = "F"
    default:
        result = "F"
    }
    return result
}

let mathsStr = "42"
let mathsNum = mathsStr.toInt()

println(getGrade(mathsNum!)) // prints "E"

Upvotes: 4

Related Questions