Advertisement
Guest User

Untitled

a guest
Jan 18th, 2020
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 4.04 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4.     "fmt"
  5.     "os"
  6. )
  7.  
  8. type Kontrola struct {
  9.     predkosc int    
  10.     kwota int
  11.     czyZabrano string
  12. }
  13.  
  14. var kontrole []Kontrola
  15.  
  16. func fillArray(dozwolona int) {
  17.     var predkosc int
  18.     fmt.Print("Prędkość kierowcy na kontroli: ")
  19.     _, err := fmt.Scanf("%d", &predkosc)
  20.     if err == nil {
  21.         var teren string
  22.         fmt.Print("Czy teren zabudowany[T/N]: ")
  23.         _, err := fmt.Scanf("%s", &teren)
  24.         if err == nil {
  25.             if (predkosc - dozwolona) <= 30 {
  26.                 fmt.Println("Pusc bez mandatu!")
  27.             } else if (predkosc - dozwolona) <= 40 {
  28.                 kontrole = append(kontrole, Kontrola{
  29.                     predkosc:   predkosc,
  30.                     kwota:      300,
  31.                     czyZabrano: "N",
  32.                 })
  33.             } else if (predkosc - dozwolona) <= 50 {
  34.                 kontrole = append(kontrole, Kontrola{
  35.                     predkosc:   predkosc,
  36.                     kwota:      400,
  37.                     czyZabrano: "N",
  38.                 })
  39.             } else {
  40.                 if teren == "T" {
  41.                     kontrole = append(kontrole, Kontrola{
  42.                         predkosc:   predkosc,
  43.                         kwota:      500,
  44.                         czyZabrano: "T",
  45.                     })
  46.                 } else {
  47.                     kontrole = append(kontrole, Kontrola{
  48.                         predkosc:   predkosc,
  49.                         kwota:      500,
  50.                         czyZabrano: "N",
  51.                     })
  52.                 }
  53.  
  54.             }
  55.         }
  56.     }
  57. }
  58.  
  59. func wanttoFill() {
  60.     var decision string
  61.         fmt.Print("Czy chcesz wprowadzić wartosci? [T/N]: ")
  62.         _, err := fmt.Scanf("%s", &decision)
  63.         if err == nil {
  64.             if decision == "T" {
  65.                 var dozwolona int
  66.                 fmt.Print("Podaj dozwolona predkosc: ")
  67.                 _, err := fmt.Scanf("%d", &dozwolona)
  68.                 if err == nil {
  69.                     fillArray(dozwolona)
  70.                 }
  71.             }
  72.     }
  73. }
  74.  
  75. func statistics() {
  76.     var decision string
  77.         fmt.Print("Czy chcesz sprawdzić statystyki? [T/N]: ")
  78.         _, err := fmt.Scanf("%s", &decision)
  79.         if err == nil {
  80.             if decision == "T" {
  81.  
  82.                 var ileZabranych int
  83.                 var ogolMandatow float32
  84.                 var trzysta float32
  85.                 var czterysta float32
  86.                 var piecset float32
  87.  
  88.                 for _, element := range kontrole {
  89.                     ogolMandatow++
  90.                     if element.czyZabrano == "T" {
  91.                         ileZabranych++
  92.                     }
  93.                     if element.predkosc == 300 {
  94.                         trzysta++
  95.                     } else if element.predkosc == 400 {
  96.                         czterysta++
  97.                     } else {
  98.                         piecset++
  99.                     }
  100.                 }
  101.  
  102.                 fmt.Printf("Udział mandatów trzystu zlotowych wynosi %f \n", (trzysta / ogolMandatow) * 100)
  103.                 fmt.Printf("Udział mandatów czterystu zlotowych wynosi %f \n", (czterysta / ogolMandatow) * 100)
  104.                 fmt.Printf("Udział mandatów pieciuset zlotowych wynosi %f \n", (piecset / ogolMandatow) * 100)
  105.                 fmt.Printf("Zabrano %d praw jazdy \n", ileZabranych)
  106.             }
  107.         }
  108. }
  109.  
  110. func main() {
  111.     var decision int
  112.     for ;; {
  113.         fmt.Println("Wybierz opcję:")
  114.         fmt.Println("Wprowadz mandat - wprowadz 1")
  115.         fmt.Println("Sprawdz statystyki - wprowadz 2")
  116.         fmt.Println("Aby wyjsc wcisnij 0")
  117.         _, err := fmt.Scanf("%d", &decision)
  118.         if err == nil {
  119.             switch decision {
  120.             case 1:
  121.                 wanttoFill()
  122.             case 2:
  123.                 statistics()
  124.             case 0:
  125.                 os.Exit(0)
  126.             default:
  127.                 fmt.Println("Wprowadziłeś złą opcję, popraw się")
  128.             }
  129.         }
  130.     }
  131.     wanttoFill()
  132.     statistics()
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement