Menu
Coddy logo textTech

Итоги и среднее значение

Часть раздела Основы путешествия по Kotlin на Coddy. Урок 88 из 93.

challenge icon

Задание

Средне

На предыдущем уроке вы реализовали функциональность "View All Expenses". Теперь реализуйте функциональность "Total and Average" для варианта 3.

Измените программу для обработки варианта 3:

  • Если список expenses пуст, выведите No expenses recorded.
  • Если расходы есть, вычислите и выведите:
    • Total: $X, где X — сумма всех расходов
    • Average: $Y, где Y — среднее значение всех расходов

Все остальные варианты должны продолжать работать как раньше:

  • Вариант 1: добавить расход
  • Вариант 2: просмотреть все расходы
  • Вариант 5: вывести Goodbye! и завершить работу
  • Вариант 4 или недопустимый вариант: вывести Invalid option

Формат ввода:

Пункты меню и суммы расходов в виде строк.

Формат вывода:

Меню, за которым следует соответствующий ответ для каждого действия.

Пример:

Если входные данные — 3, 1, 20.0, 1, 30.0, 1, 10.0, 3 и 5, вывод должен быть следующим:

--- Expense Tracker ---
1. Add Expense
2. View All Expenses
3. Total and Average
4. Clear All
5. Exit
Choose an option:
No expenses recorded.
--- Expense Tracker ---
1. Add Expense
2. View All Expenses
3. Total and Average
4. Clear All
5. Exit
Choose an option:
Enter expense amount:
Expense added!
--- Expense Tracker ---
1. Add Expense
2. View All Expenses
3. Total and Average
4. Clear All
5. Exit
Choose an option:
Enter expense amount:
Expense added!
--- Expense Tracker ---
1. Add Expense
2. View All Expenses
3. Total and Average
4. Clear All
5. Exit
Choose an option:
Enter expense amount:
Expense added!
--- Expense Tracker ---
1. Add Expense
2. View All Expenses
3. Total and Average
4. Clear All
5. Exit
Choose an option:
Total: $60.0
Average: $20.0
--- Expense Tracker ---
1. Add Expense
2. View All Expenses
3. Total and Average
4. Clear All
5. Exit
Choose an option:
Goodbye!

Попробуйте сами

fun main() {
    val expenses = mutableListOf<Double>()
    
    while (true) {
        println("--- Expense Tracker ---")
        println("1. Add Expense")
        println("2. View All Expenses")
        println("3. Total and Average")
        println("4. Clear All")
        println("5. Exit")
        println("Choose an option:")
        
        val choice = readLine()
        
        if (choice == "1") {
            println("Enter expense amount:")
            val amount = readLine()!!.toDouble()
            expenses.add(amount)
            println("Expense added!")
        } else if (choice == "2") {
            if (expenses.isEmpty()) {
                println("No expenses recorded.")
            } else {
                println("Your expenses:")
                for (expense in expenses) {
                    println("- \$$expense")
                }
            }
        } else if (choice == "5") {
            println("Goodbye!")
            break
        } else {
            println("Invalid option")
        }
    }
}

Все уроки раздела Основы

Потренируйтесь самостоятельно: Песочница Kotlin