客户管理系统-主菜单和退出|学习笔记

简介: 快速学习客户管理系统-主菜单和退出

开发者学堂课程【Go 语言核心编程 - 面向对象、文件、单元测试、反射、TCP 编程:客户管理系统-主菜单和退出】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/626/detail/9717


客户管理系统-主菜单和退出

 

内容介绍

一、 功能说明

二、 思路分析

三、 代码实现

 

一、 功能说明

当用户运行程序时,可以看到主菜单,当输入5时,可以退出该软件。

 

二、 思路分析

利用框架图,编写 customerView.go,另外可以把 customer.go 和customerService.go 都写上。

 

三、 代码实现

1. customerManage/model/customer.go

package model

//声明一个Customer结构体,表示一个客户信息

type Customer struct{

Id int

Name string

Gender string

Age int

Phone string

Email string

}(注:有时候粘贴代码的时候,可能由于格式问题或者一些字符无法识别,这个时候可以先放在记事本里清一下,然后再粘贴)

(注:客户信息会在customerService中使用,应该在customer中提供一个工厂模式的方法,返回一个实例)

//使用一个工厂模式,返回一个Customer的实例

func NewCustomer(id int, name string, gender string, age int, phone string, email string) Customer {

(代码太多可以换行,把逗号保留在上一行)

return Customer{

Id : id,

Name :name,

Gender :gender,

Age:age,

Phone :phone,

Email:email

}

}

image.png

2. customerManage/service/customerService.go

customerService.go

package service

import(

“go_code/customerManage/mode1"

)

(注:要引包,import)

//该 CustomerService,完成对 Customer 的操作,包括

//增删改查

(注:如果要对它进行操作,必不可少的要有一个切片。因为要对 Customer 进行操作,那么 CustomerService 中至少要有一个字段,这个字段是一个 customer 的切片,把所有管理 customer 的信息放到这个切片中去,然后再这个地方进行增删改查)

type CustomerService struct{

customers []model.customer(切片用[]表示)

(注:此时要用到model里面的customer,要引包,import,添加到前边)

//声明一个字段,表示当前切片含有多少个客户

(定义目前到底有多少个客户,记录最大编号)

//该字段后面,还可以作为新客户的id+1

customerNum int

}

3. customerManage/view/customerView.go

(1)

package main

import(

“fmt”

)

func main(){

fmt.Println(“ok!”)

}

试看是否能够正常输出

image.png

能够输出

(2)

package main

import(

“fmt”

)

(注:既然要把界面的显示功能封装到customerView里面去,就要创建一个结构体)

typepp customerView struct{

//定义必要字段

key string //接受用户输入…

loop bool //表示是否循环的显示主菜单

}

(注:既然要输入1-5数字,就应该设置一个变量来接受它的输入)

//显示主菜单

func (this *customerView) mainMenu(){

for{

fmt.Println(“-------客户信息软件------”)

fmt.Println(“      1 添加客户       ”)

fmt.Println(“      2 修改客户       ”)

fmt.Println(“      3 删除客户       ”)

fmt.Println(“      4 客户列表       ”)

fmt.Println(“      5 退出           ”)

fmt.Println(“请选择(1-5):”)

(注:复制软件界面并进行整理)

fmt.Scanln(&this,key)

switch this.key{   (注:switch语句进行判断)

case “1”:

fmt.Println(“添加客户”)

case “2”:

fmt.Println(“修改客户”)

case “3”:

fmt.Println(“删除客户”)

case “4”:

fmt.Println(“客户列表”)

case “5”:

this.loop=false

default   (注:如果输入的不是1-5,用default)

fmt.Println(“你的输入有误,请重新输入…”)

}

if !this.loop{  (如果loop为假,取反就为真了;如果loop为真,取反为假,break跳出for循环)

break

}

fmt.Println(“你退出了客户关系管理系统”)

}

func main(){

//在main函数中,创建一个customerView,并运行显示主菜单

(注:结构体创建完毕,要实例化后才能被调用)

customerView := customerView{

key :””(注:初始值为空字符)

loop : true,  (注:默认返回主菜单)

(注:这里是给出前面的参数)

}

//显示主菜单

customerView.mainMenu()

}

试运行成功:

image.png

相关文章
|
小程序
小程序常见简单界面功能属性记录
小程序常见简单界面功能属性记录
156 0
|
3月前
|
Java 数据安全/隐私保护 uml
某系统提供了用户信息操作模块,用户可以修改自己的各项信息。为了使操作过程更加人性化,现使用备忘录模式对系统进行改进,使得用户在进行了错误操作之后可以恢复到操作之前的状态。用户信息中包含账号、密码、电话
该博客文章通过Java代码示例介绍了备忘录模式(Memento Pattern)的应用,通过创建备忘录对象保存用户信息的状态,允许用户在进行错误操作后能够恢复到之前的状态。
某系统提供了用户信息操作模块,用户可以修改自己的各项信息。为了使操作过程更加人性化,现使用备忘录模式对系统进行改进,使得用户在进行了错误操作之后可以恢复到操作之前的状态。用户信息中包含账号、密码、电话
|
4月前
|
监控 数据安全/隐私保护
若依修改---功能详解--权限控制,demo超级管理员,可以查看所有功能菜单,zhangsan,登录之后,仅可以查看线索的菜单,不同角色岗位,登录查看的内容不同,若依通过用户管理,角色管理,菜单管理控
若依修改---功能详解--权限控制,demo超级管理员,可以查看所有功能菜单,zhangsan,登录之后,仅可以查看线索的菜单,不同角色岗位,登录查看的内容不同,若依通过用户管理,角色管理,菜单管理控
|
4月前
|
监控
若依如何添加目录菜单,左边的内容,找到左侧目录系统管理下的菜单管理,上级菜单什么意思,创建好放哪里,这里的首页,系统管理,系统监控是主类目是并集 ,显示排序,值越小排名越靠前
若依如何添加目录菜单,左边的内容,找到左侧目录系统管理下的菜单管理,上级菜单什么意思,创建好放哪里,这里的首页,系统管理,系统监控是主类目是并集 ,显示排序,值越小排名越靠前
|
4月前
打开系统应用管理界面
打开系统应用管理界面
36 0
|
数据库
学生信息管理系统之【修改信息窗口】
学生信息管理系统之【修改信息窗口】
102 0
|
前端开发
ShopEx后台商品管理左侧菜单显示空白问题原因及修复
ShopEx后台商品管理左侧菜单显示空白问题原因及修复
jira学习案例24-用useAuth切换登录与非登录状态
jira学习案例24-用useAuth切换登录与非登录状态
141 0
jira学习案例24-用useAuth切换登录与非登录状态
|
SQL 前端开发 Java
校园外卖点餐系统——Day01【项目简介、开发环境搭建、后台系统登录和退出功能】
校园外卖点餐系统——Day01【项目简介、开发环境搭建、后台系统登录和退出功能】
201 0
校园外卖点餐系统——Day01【项目简介、开发环境搭建、后台系统登录和退出功能】
实现用户登录注册的主页面
实现用户登录注册的主页面
73 0
下一篇
无影云桌面