Advertisement
Guest User

O-S1: Week 1-4

a guest
Nov 19th, 2019
255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 4.47 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4.     "bufio"
  5.     "fmt"
  6.     "os"
  7.     "os/exec"
  8.     "reflect"
  9.     "strconv"
  10.     "strings"
  11. )
  12.  
  13. var price float32
  14. var bakfiets int
  15. var accessoriesPrice float32
  16. var days int
  17.  
  18. func main() {
  19.  
  20.     clear()
  21.     price = 0.0
  22.     bakfiets = 0
  23.     accessoriesPrice = 0.0
  24.     days = 0
  25.  
  26.     fmt.Println(
  27.         " ╔══════════════════════════════════╗\n",
  28.         "║            Welkom bij            ║\n",
  29.         "║    Van der Binckes bakfietsen    ║\n",
  30.         "╚══════════════════════════════════╝\n\n",
  31.         "Kies het nummer van het type fiets dat je wilt huren.\n\n",
  32.         "1. E-bakfiets\n 2. Bakfiets")
  33.  
  34.     for {
  35.         var nr int = readInterger()
  36.  
  37.         if (nr == 1) || (nr == 2) || (nr == 3) {
  38.  
  39.             switch nr {
  40.             case 1:
  41.                 elekBakfietsPage()
  42.             case 2:
  43.                 bakfietsPage()
  44.             }
  45.  
  46.         } else {
  47.             fmt.Println("Kies één van het weergegeven nummer")
  48.         }
  49.     }
  50. }
  51.  
  52. // pagina voor E-backfiets
  53. func elekBakfietsPage() {
  54.     clear()
  55.     fmt.Println(
  56.         " ╔══════════════════════════════════╗\n",
  57.         "║      Elektrische Bakfiets        ║\n",
  58.         "╚══════════════════════════════════╝\n\n",
  59.         "Kies de fiets die u wilt huren\n\n",
  60.         "1. E-fiets nr1\n    P/d: €15,-\n\n 2. E-fiets nr2\n    P/d: €25,-\n\n 3. E-fiets nr3\n    P/d: €35,-\n\n 4.Terug")
  61.  
  62.     for {
  63.         var nr int = readInterger()
  64.         if (nr == 1) || (nr == 2) || (nr == 3) || (nr == 4) {
  65.  
  66.             switch nr {
  67.             case 1:
  68.                 price = 15.00
  69.                 bakfiets = nr
  70.             case 2:
  71.                 price = 25.00
  72.                 bakfiets = nr
  73.             case 3:
  74.                 price = 35.00
  75.                 bakfiets = nr
  76.             case 4:
  77.                 main()
  78.             }
  79.             lastPage("E-bakfiets")
  80.         } else {
  81.             fmt.Println("Kies één van het weergegeven nummer")
  82.         }
  83.     }
  84.  
  85. }
  86.  
  87. // pagina voor backfiets
  88. func bakfietsPage() {
  89.     clear()
  90.     fmt.Println(
  91.         " ╔══════════════════════════════════╗\n",
  92.         "║            Bakfiets              ║\n",
  93.         "╚══════════════════════════════════╝\n\n",
  94.         "Kies de fiets die u wilt huren\n\n",
  95.         "1. fiets nr1\n    P/d: €5,-\n\n 2. fiets nr2\n    P/d: €10,-\n\n 3. fiets nr3\n    P/d: €15,-\n\n 4.Terug")
  96.  
  97.     for {
  98.         var nr int = readInterger()
  99.         if (nr == 1) || (nr == 2) || (nr == 3) || (nr == 4) {
  100.  
  101.             switch nr {
  102.             case 1:
  103.                 price = 5.00
  104.                 bakfiets = nr
  105.             case 2:
  106.                 price = 10.00
  107.                 bakfiets = nr
  108.             case 3:
  109.                 price = 15.00
  110.                 bakfiets = nr
  111.             case 4:
  112.                 main()
  113.             }
  114.  
  115.             lastPage("Bakfiets")
  116.         } else {
  117.             fmt.Println("Kies één van het weergegeven nummer")
  118.         }
  119.     }
  120. }
  121.  
  122. func lastPage(x string) {
  123.     clear()
  124.  
  125.     fmt.Println(
  126.         " ╔══════════════════════════════════╗\n",
  127.         "║              Afronden            ║\n",
  128.         "╚══════════════════════════════════╝")
  129.  
  130.     fmt.Println("\n\nTelefoonhouder toevoegen? €5,50 y/n")
  131.     input1 := read()
  132.     if input1 == "y" {
  133.         accessoriesPrice += 5.50
  134.     }
  135.  
  136.     fmt.Println("Helm toevoegen? €10,75 y/n")
  137.     input2 := read()
  138.     if input2 == "y" {
  139.         accessoriesPrice += 10.75
  140.     }
  141.  
  142.     fmt.Println("Fietsstoeltje toevoegen? €12,25 y/n")
  143.     input3 := read()
  144.     if input3 == "y" {
  145.         accessoriesPrice += 12.25
  146.     }
  147.  
  148.     fmt.Println("Hoeveel dagen is de huur?")
  149.     aantalDagen := readInterger()
  150.     if aantalDagen != 0 {
  151.         days = aantalDagen
  152.     }
  153.  
  154.     var totalPrice float32 = ((float32(days) * price) + accessoriesPrice)
  155.  
  156.     fmt.Println("-----------------------------------------")
  157.     fmt.Println("\n Dagen :", days, "\n", "Accessoires : €", accessoriesPrice, "\n", x, " : €", price, "\n", "----------------\n", "totaal : €", totalPrice)
  158.     fmt.Println("\n\nDruk op enter om terug te gaan naar het hoofdmenu")
  159.     inputB := read()
  160.     if reflect.TypeOf(inputB) != nil {
  161.         main()
  162.     }
  163. }
  164.  
  165. func readInterger() int {
  166.     reader := bufio.NewReader(os.Stdin)
  167.     text, _ := reader.ReadString('\n')
  168.     noSpaceText := strings.TrimSpace(text)
  169.     input, _ := strconv.Atoi(noSpaceText)
  170.     return input
  171. }
  172.  
  173. func read() string {
  174.     reader := bufio.NewReader(os.Stdin)
  175.     text, _ := reader.ReadString('\n')
  176.     return strings.TrimSpace(text)
  177. }
  178.  
  179. func clear() {
  180.     c := exec.Command("cmd", "/c", "cls")
  181.     c.Stdout = os.Stdout
  182.     c.Run()
  183. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement