-
Notifications
You must be signed in to change notification settings - Fork 0
/
Input.fs
55 lines (50 loc) · 2.13 KB
/
Input.fs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
namespace Diversity
module Input =
open System
open System.IO
open Diversity.Types
let rec noob() =
printfn "Are you trying to break into software development?"
printfn "Enter 'Y' for Yes, 'N' for No"
let answer = Console.ReadLine()
match answer with
| "Y" -> printfn "Seeking entry: %s" answer
| "N" -> printfn "Seeking entry: %s" answer
exit 0
| _ -> printfn "INVALID ENTRY: Enter Y or N:"
noob()
let rec education() =
printfn "What was your highest level of education obtained?"
printfn "Enter the following that most fits, then hit 'Enter':"
printfn "High School Diploma/GED or less"
printfn "Trade Scool"
printfn "Some College"
printfn "Bachelors Degree"
printfn "Masters Degree"
printfn "Doctorate Degree"
let response = Console.ReadLine().Trim().ToUpper()
match response with
| "High School Diploma/GED or less" -> HighSchoolOrLess
| "Trade ScHool" -> TradeSchool
| "Some College" -> SomeCollege
| "Bachelors Degree" -> Bachelors
| "Masters Degree" -> Masters
| "Doctorate Degree" -> Doctorate
| _ -> printfn "%s is an INVALID ENTRY" response
education()
let rec degree() =
printfn "If you have a college degree, was it in Computer Science?"
printfn "Enter 'Y' for Yes, 'N' for No: "
let resp = Console.ReadLine().Trim()
match resp with
| _ when resp = "Y" -> ComputerScience
| _ when resp = "N" -> printfn "Was your degree in another STEM field?"
printfn " Enter 'Y' for Yes, 'N' for No: "
let r = Console.ReadLine().Trim()
match r with
| "Y" -> OtherSTEM
| "N" -> Other
| _ -> printfn "INVALID ENTRY - Must enter Y or N"
degree()
| _ -> printfn "Oh noes! Invalid Entry. Must enter Y or N"
degree()