学生情報管理システムのデモ

main.go:

package main 

import(
	"fmt" 
	"os" 

//生徒情報管理システム
// 
	1. 
生徒情報を追加
// 2. 生徒情報を編集// 3. すべての生徒情報を表示

func showMenu(){ fmt.Println( "Welcome学生情報管理システム ")
	fmt.Println(" 1.学生を追加 ")
	fmt.Println(" 2.学生情報を編集 ")
	fmt.Println(" 3.すべての学生情報を表示 ")
	fmt.Println(" 4 。システムを終了します ")
} 

//ユーザーが入力した学生情報を取得します
func getInput()* student { 
	var(
		id int 
		name string 
		class string 
	fmt.Println("学生情報を必要に応じて入力してください ")
	fmt.Print("入力してください学生ID: ")
	fmt.Scanf("%d \ n "、&id)
	fmt.Print("学生の名前を入力してください: ")
	fmt。Scanf( "%s \ n"、&name) 
	fmt.Print( "学生のクラスを入力してください:")
	fmt.Scanf( "%s \ n"、&class) 
			//終了
	stu:= newStudent(id、name、class)
	return stu 
} 
func main(){ 
	sm:= newStudentMgr()
	for { 
		// 1.システムメニューを表示する
		showMenu()
		// 2.ユーザーが実行するオプションを選択するのを待つ
		var input int 
		fmt.Scanf( "%d \ n"、&input)//入力変数の値を変更する場合は、ポインタを渡す必要があります
		。fmt.Println( "User input is:"、input)
		// 3.ユーザー選択を実行しますアクション
		スイッチ入力{ 
		ケース1:
			//生徒の
			stuを追加
			:= getInput()sm.addStudent(stu)
		ケース2:
		//生徒の
			stuを編集
			:= getInput()sm.modifyStudent(stu)
		ケース3:
		//すべての生徒を表示

		sm.showStudent()
		ケース4:
			os.Exit(0)

		} 
	} 

}

  

student.go:

パッケージメイン

インポート "fmt" 

タイプstudent struct { 
	id int 
	name string 
	class string 
} 

func newStudent(id int、name string、class string)* student { 
	return&student { 
		id:id、
		name:name、
		class:class、
	} 
} 

/ /学生管理
タイプのタイプstudentMgr struct { 
	allStudents [] *学生
} 

func newStudentMgr()* studentMgr { 
	return&studentMgr {allStudents:make([] * student、0,100)} 
} 

// 1.学生使用値タイプの受信者を追加しますs studentMgr、学生の追加に失敗し、レシーバーの値を変更する必要があるポインターレシーバー
func(s * studentMgr)addStudent(newStu * student)を使用することを忘れない{ 
	s.allStudents = append(s.allStudents、newStu)
}
// 2.学生の
関数を編集(s * studentMgr)modifyStudent(newStu * student){ 
	for i、v:= range s.allStudents { 
		if v.id == newStu.id {//変更する学生
			s.allStudents [ i] = newStu 
			return 
		} 
	} 
	fmt.Printf( "入力された学生情報が間違っています。システムに学生番号がありません:%d student \ n"、newStu.id)
} 

// 3.学生の
func(s * studentMgrを表示します)showStudent(){ 
	for _、v:= range s.allStudents { 
		fmt.Printf( "Student ID:%d Name:%s Class:%s \ n"、v.id、v.name、v.class)
	} 
}

  

学生情報管理システムへようこそ
 1. 学生を追加する
 2. 学生情報を編集する
 3. すべての学生情報を表示する
 4. システムを終了する
 1 
ユーザーが入力する:1 
必要に応じて学生情報を
入力する学生の学生番号を
入力する001 学生を入力する名前:han 
、学生のクラスを入力してください:01 
学生情報管理システムへようこそ
1. 学生を追加
 2. 学生情報を編集
 3. すべての学生情報を表示
 4. システムを終了
 3 
入力したユーザーは:3 
学生ID:1名前: han class:01 
学生情報管理システムへようこそ
1. 学生を追加
 2. 学生情報を編集
 3. すべての学生情報を表示
 4.システムを終了

 

おすすめ

転載: www.cnblogs.com/twoheads/p/12693541.html