Hello I made an app in ordfer to calculate two values. I calculate them in function and call the function when button pressed and finally display the values on Text. I completed the function Hopefully it is correct. I called with button. How can I display the numbers?
import SwiftUI
struct ContentView: View {
@State private var dogruSayisiK = ""
@State private var yalnisSayisiK = ""
@State private var dogruSayisiT = ""
@State private var yalnisSayisiT = ""
@State private var ortalamaDK = 1
@State private var ortalamaDT = 1
@State private var STD: Double = 20
@State private var isEditing = false
let ortalamaT = [45, 50, 55, 60]
let ortalamaK = [45, 50, 55, 60]
//let SD = [17,18,19,20,21,22,23]
func puanHesapla() ->(temelBP: Double, klinikBP: Double) {
let yalnisNK = Double(yalnisSayisiK) ?? 0
let dogruNK = Double(dogruSayisiK) ?? 0
let yalnisNT = Double(yalnisSayisiT) ?? 0
let dogruNT = Double(dogruSayisiT) ?? 0
let toplamNetK = dogruNK - (yalnisNK*0.25)
let toplamNetT = dogruNT - (yalnisNT*0.25)
let zT = (toplamNetT - Double(ortalamaDT)) / STD
let T = 50 + 10 * zT
let zK = (toplamNetK - Double(ortalamaDK)) / STD
let K = 50 + 10 * zK
let temelBP = 0.7 * T + 0.3 * K
let klinikBP = 0.5 * T + 0.5 * K
}
var body: some View {
Form {
Section(header: Text("Standard Dev.")) {
HStack{
Text("17")
Slider(value: $STD, in: 17...23, step: 1, onEditingChanged: { editing in isEditing = editing})
Text("20")
}
Text("\(STD, specifier: "%.1f") ")
.frame(maxWidth: .infinity, alignment: .center)
.foregroundColor(isEditing ? .red : .blue)
}
Section( header: Text("Klinik Bilimler") ){
VStack(alignment: .leading) {
HStack(spacing: 10) {
Text("Klinik Dogru Sayisi")
.foregroundColor(.blue)
TextField("Dogru Sayisi", text: $dogruSayisiK)
.keyboardType(.numberPad)
}
HStack(spacing: 10) {
Text("Klinik Yalnis Sayisi")
.foregroundColor(.red)
TextField("Yalnis Sayisi", text: $yalnisSayisiK)
.keyboardType(.numberPad)
}
Picker("Sinav Ortalamasi", selection: $ortalamaDK) {
ForEach(0 ..< ortalamaK.count) {
Text("\(self.ortalamaK[$0])%")
.pickerStyle(SegmentedPickerStyle())
}
}
}
}
Section(header: Text("Temel Bilimler") ) {
VStack (alignment: .leading) {
HStack(spacing: 10) {
Text("Temel Bilim Dogru Sayisi")
.foregroundColor(.blue)
TextField("Dogru Sayisi", text: $dogruSayisiT)
.keyboardType(.numberPad)
}
HStack(spacing: 10) {
Text("Temel Bilim Yalnis Sayisi")
.foregroundColor(.red)
TextField("Yalnis Sayisi", text: $yalnisSayisiT)
.keyboardType(.numberPad)
}
Picker("Temel Bilim Ortalama", selection: $ortalamaDT) {
ForEach(0 ..< ortalamaT.count) {
Text("\(self.ortalamaT[$0])%")
}
}
}
.pickerStyle(SegmentedPickerStyle())
}
Button("Hesapla"){
puanHesapla()
}
.background(Color.white)
.foregroundColor(Color.black)
.frame(width: 70, height: 70, alignment: .center)
Section(header: Text("Sonuc")){
HStack{
VStack{
Text("Temel Bilim Puan")
.foregroundColor(.red)
Text("\(temelBP, specifier: "%.2f")")
}
VStack{
Text("Klinik Bilim Puan")
.foregroundColor(.red)
Text("\(KlinikBP, specifier: "%.2f")")
}
}
}
}
}
}