Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- "os"
- "os/exec"
- "runtime"
- )
- type data struct {
- sekolah string
- kelas string
- pelajaran string
- semester string
- silabus string
- materi string
- }
- var tab [9999]data
- var clear map[string]func() //create a map for storing clear funcs
- func init() {
- clear = make(map[string]func()) //Initialize it
- clear["linux"] = func() {
- cmd := exec.Command("clear") //Linux example, its tested
- cmd.Stdout = os.Stdout
- cmd.Run()
- }
- clear["windows"] = func() {
- cmd := exec.Command("cmd", "/c", "cls") //Windows example, its tested
- cmd.Stdout = os.Stdout
- cmd.Run()
- }
- }
- func CallClear() {
- value, ok := clear[runtime.GOOS] //runtime.GOOS -> linux, windows, darwin etc.
- if ok { //if we defined a clear func for that platform:
- value() //we execute it
- } else { //unsupported platform
- panic("Your platform is unsupported! I can't clear terminal screen :(")
- }
- }
- var n,i, tot int
- var key string
- func main(){
- menuUtama(&n, &i)
- }
- // Menu Utama
- func menuUtama(n *int, i *int) {
- fmt.Println("1. Insert")
- fmt.Println("2. View")
- fmt.Print("Pilih : ")
- fmt.Scan(&*n)
- if *n == 1 {
- CallClear()
- insert(&*n,&*i)
- menuUtama(&*n,&*i)
- } else if *n == 2 {
- CallClear()
- menuView(&*n)
- }
- }
- func insert(n *int, i *int) {
- *i =0
- tot=0
- fmt.Print("Sekolah : ")
- fmt.Scan(&tab[1].sekolah)
- fmt.Print("Kelas : ")
- fmt.Scan(&tab[1].kelas)
- fmt.Print("Pelajaran : ")
- fmt.Scan(&tab[1].pelajaran)
- fmt.Print("Semester : ")
- fmt.Scan(&tab[1].semester)
- fmt.Print("Silabus : ")
- fmt.Scan(&tab[1].silabus)
- fmt.Print("Materi : ")
- fmt.Scan(&tab[1].materi)
- CallClear()
- for tab[*i].sekolah!="000" && (tab[*i].kelas)!="000" && tab[*i].pelajaran!="000" {
- *i++
- tot++
- fmt.Print("Sekolah : ")
- fmt.Scan(&tab[*i].sekolah)
- fmt.Print("Kelas : ")
- fmt.Scan(&tab[*i].kelas)
- fmt.Print("Pelajaran : ")
- fmt.Scan(&tab[*i].pelajaran)
- fmt.Print("Semester : ")
- fmt.Scan(&tab[*i].semester)
- fmt.Print("Silabus : ")
- fmt.Scan(&tab[*i].silabus)
- fmt.Print("Materi : ")
- fmt.Scan(&tab[*i].materi)
- CallClear()
- }
- CallClear()
- menuUtama(&*n,&*i)
- }
- func menuView(n *int){
- fmt.Println("1. Edit")
- fmt.Println("2. Delete")
- fmt.Println("3. Cari")
- fmt.Println("4. Sorting")
- fmt.Print("Pilih : ")
- fmt.Scan(&*n)
- fmt.Println()
- if *n==1{
- fmt.Println("Edit")
- }else if *n==2{
- fmt.Println("Delete")
- }else if *n==3{
- fmt.Println("cari")
- }else if *n==4{
- fmt.Println("sorting")
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement