Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- open System
- type PersonInfo = string * int
- let isValidAge age = age > 0 && age < 120
- let rec readAge name =
- printf "Enter age of %s: " name
- let success, keyIn = Int32.TryParse(Console.ReadLine())
- if success && isValidAge keyIn
- then keyIn
- else
- printfn "Invalid age!"
- readAge name
- let rec readPeople (people : PersonInfo[]) : PersonInfo[] =
- printf "Enter Person name (enter . for quit): "
- let name = Console.ReadLine()
- if name = "." || String.IsNullOrEmpty(name)
- then people
- else
- let age = readAge name
- Array.append (readPeople people) [|(name, age)|]
- let printPerson person =
- let name, age = person
- if age >= 20
- then printfn "%s is %i years old and not longer a teenager." name age
- elif age > 13 && age < 20
- then printfn "%s is %i years old and therefore a teenager" name age
- elif age = 1
- then printfn "%s is %i year old and therefore a child" name age
- else printfn "%s is %i years old and therefore a child" name age
- [<EntryPoint>]
- let main argv =
- readPeople [||]
- |> Array.rev
- |> Seq.iter printPerson
- 0 // return an integer exit code
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement