In this program we are giving optional to the return values of the function
//Creating a function for Btech first year result using default parameters with optionals return
func BTechFYResult(engMarks: UInt8, CLangMarks: UInt8, maths1Marks: UInt8 = 95, maths2Marks:UInt8 = 85, phyMarks:UInt8 = 98, BEEMarks:UInt8 = 70, EDCMarks:UInt8 = 65, drawingMarks:UInt8 = 85)->(result:Bool, total:UInt16, percentage:Float)?
{
var isFirstYear:Bool = true
//Calculating the first year total and percentage
let firstYearTotal:UInt16 = UInt16(engMarks) + UInt16(CLangMarks) + UInt16(maths1Marks) + UInt16(maths2Marks) + UInt16(phyMarks) + UInt16(BEEMarks) + UInt16(EDCMarks) + UInt16(drawingMarks)
let firstYearPercentage:Float = (Float(firstYearTotal)*100)/Float(maxTotal)
//Condition to check student is passed or failed
if ((engMarks >= passMarks) && (CLangMarks >= passMarks) && (maths1Marks >= passMarks) && (maths2Marks >= passMarks) && (phyMarks >= passMarks) && (BEEMarks >= passMarks) && (EDCMarks >= passMarks) && (drawingMarks >= passMarks))
{
isFirstYear = true
}else
{
isFirstYear = false
}
//Creating and storing the values in tuple
var BTechFYResultSummary:(result:Bool, total:UInt16, percentage:Float) = (isFirstYear, firstYearTotal, firstYearPercentage)
return BTechFYResultSummary
}
//Creating a function for student results
func shahinaResults()
{
//Creating and storing a variable
var name = "SHAIK SHAHINA" // Type inference with string
var shahinaResults = BTechFYResult(engMarks: 85, CLangMarks: 92 , maths1Marks: 86, maths2Marks: 66)
//Unwrapping the optional return values and comparing
if (((shahinaResults!.total) != nil) && ((shahinaResults!.percentage) != nil) )
{
//Condtion to check results
if (shahinaResults!.result == true)
{
print("Conratulations \(name) you passed in the examination")
print("Total Marks = \(shahinaResults!.total)\nPercentage = \(shahinaResults!.percentage)")
percentage = shahinaResults!.percentage
grades()
}else
{
print("Sorry \(name) you have failed in the examination")
}
}
}
No comments:
Post a Comment