// // simple program to show, for list of grades, how many A's, B's, etc. // // this version uses filter with a range of numbers for each letter // grade // println("type in grades (integers), quit to end") val grades = fillList() val numA = countInRange(grades, 90, 100) val numB = countInRange(grades, 80, 89) val numC = countInRange(grades, 70, 79) val numD = countInRange(grades, 60, 69) val numF = countInRange(grades, 0, 59) println(numA + " A") println(numB + " B") println(numC + " C") println(numD + " D") println(numF + " F") def fillList() : List[Int] = { val input = readLine if (input == "quit") Nil else input.toInt::fillList() } // count number of elements in range from start through end def countInRange(nums : List[Int], start : Int, end : Int) : Int = { nums.filter(num => (num >= start) && (num <= end)).length }