load "guilib.ring"
new qApp {
win = new qWidget() {
setWindowTitle("Number Statistics Calculator")
setGeometry(100, 100, 400, 350)
# Input fields
label1 = new qLabel(win) {
setText("Enter 5 numbers:")
setGeometry(20, 20, 200, 30)
}
inputs = []
for i = 1 to 5
inputs + new qLineEdit(win) {
setGeometry(20, 20 + (i * 40), 150, 30)
setPlaceholderText("Number " + i)
}
next
# Calculate button
btnCalculate = new qPushButton(win) {
setText("Calculate")
setGeometry(20, 260, 150, 40)
setClickEvent("calculate()")
}
# Result display
labelResult = new qLabel(win) {
setText("")
setGeometry(200, 60, 180, 200)
setAlignment(Qt_AlignTop)
setWordWrap(True)
}
show()
}
exec()
}
func calculate
numbers = []
# Collect all numbers from input fields
for i = 1 to 5
text = inputs[i].text()
if text = ""
new qMessageBox(win) {
setWindowTitle("Error")
setText("Please enter all 5 numbers!")
show()
}
return
ok
num = number(text)
numbers + num
next
# Calculate maximum
maxNum = numbers[1]
for i = 2 to len(numbers)
if numbers[i] > maxNum
maxNum = numbers[i]
ok
next
# Calculate minimum
minNum = numbers[1]
for i = 2 to len(numbers)
if numbers[i] < minNum
minNum = numbers[i]
ok
next
# Calculate average
sum = 0
for i = 1 to len(numbers)
sum = sum + numbers[i]
next
avg = sum / len(numbers)
# Display results
result = "Results:" + nl + nl +
"Maximum: " + maxNum + nl + nl +
"Minimum: " + minNum + nl + nl +
"Average: " + avg
labelResult.setText(result)