zoukankan      html  css  js  c++  java
  • python 开发程序:选课系统

    本节作业:选课系统

    角色:学校、学员、课程、讲师
    要求:
    1. 创建北京、上海 2 所学校
    2. 创建linux , python , go 3个课程 , linuxpy 在北京开, go 在上海开
    3. 课程包含,周期,价格,通过学校创建课程
    4. 通过学校创建班级, 班级关联课程、讲师
    5. 创建学员时,选择学校,关联班级
    5. 创建讲师角色时要关联学校,
    6. 提供两个角色接口
    6.1 学员视图, 可以注册, 交学费, 选择班级,
    6.2 讲师视图, 讲师可管理自己的班级, 上课时选择班级, 查看班级学员列表 , 修改所管理的学员的成绩
    6.3 管理视图,创建讲师, 创建班级,创建课程

    7. 上面的操作产生的数据都通过pickle序列化保存到文件里

    程序:

    1、README

    作者:wangeq
    版本:示例版本 v0.1
    程序介绍:
        实现选课系统 常用功能
        功能全部用python的基础知识实现,用到了ossysjsonpickle函数模块类知识
        程序:http://www.cnblogs.com/wangeq/p/6504644.html
    
    
    程序结构:
    day06/
    ├── course system #coure主程目录
        ├── __init__.py
        ├── bin #course 执行文件 目录
        │   ├── __init__.py
        │   ├── course.py  #course system 执行程序
        ├── core #主要程序逻辑都 在这个目录 里
        │   ├── __init__.py
        │   ├── main.py   #主要程序交互
        │   ├── uid.py    #生成uid信息
        ├── db  #用户数据存储的地方
            ├── __init__.py
            └── admin    #存管理员信息
            └── classes  #存班级信息
            └── school   #存学校信息
            └── course   #存课程信息
            └── student  #存学员信息
            └── teacher  #存讲师信息
            └── class_grade   #存讲师创建的学生成绩
            └── class_record  #存讲师创建的学生上课记录

    2、程序目录结构

    3、程序

    执行文件入口 cource.py

     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 #version:3.5.2
     4 #author:wangeq
     5 
     6 import sys,os
     7 
     8 #程序主目录
     9 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    10 #添加环境变量
    11 sys.path.append(BASE_DIR)
    12 
    13 from core import main
    14 
    15 if __name__ == '__main__':
    16     a =main.Run()
    17     a.interactive()
    course.py

    主程序 main.py

      1 #!/usr/bin/env python
      2 # -*- coding:utf-8 -*-
      3 #version:3.5.2
      4 #author:wangeq
      5 
      6 import sys,os
      7 import json
      8 import pickle
      9 
     10 from bin import course
     11 from core import uid
     12 
     13 #数据库文件路径
     14 db_DIR = course.BASE_DIR + r"db"
     15 db_school = db_DIR + r"school"
     16 db_teacher = db_DIR + r"	eacher"
     17 db_student = db_DIR + r"student"
     18 db_classes = db_DIR + r"classes"
     19 db_course = db_DIR + r"course"
     20 db_admin = db_DIR + r"admin"
     21 db_class_record = db_DIR + r"class_record"
     22 db_class_grade = db_DIR + r"class_grade"
     23 
     24 #基础类,主要包括文件的读写操作
     25 class Baseclass(object):
     26     def __init__(self):
     27         pass
     28     def save(self,type,dict):
     29         filename = uid.create_md()
     30         dict['uid'] = filename
     31         file_path = "%s\%s" %(db_DIR,type)
     32         ab_file = "%s\%s" %(file_path,filename)
     33         if os.path.isdir(file_path):
     34             with open(ab_file,"wb") as f:
     35                 f.write(pickle.dumps(dict))
     36                 if True:
     37                     print(
     38                     "-------",type,"创建成功","-------")
     39                     for key in dict:
     40                         print(key,":	",dict[key])
     41     def seek_list(self,type,list):
     42         filename = uid.create_md()
     43         file_path = "%s\%s" %(db_DIR,type)
     44         ab_file = "%s\%s" %(file_path,filename)
     45         if os.path.isdir(file_path):
     46             with open(ab_file,"wb") as f:
     47                 f.write(pickle.dumps(list))
     48                 if True:
     49                     print(
     50                     "-------",type,"创建成功","-------")
     51                     for i in list:
     52                         for key in i:
     53                             print(key,i[key])
     54                         print("
    ")
     55         return True
     56 
     57     def open(self,type):
     58         all_data = []
     59         db_path = "%s\%s" %(db_DIR,type)
     60         for i in os.listdir(db_path):
     61             if os.path.isfile(os.path.join(db_path,i)):
     62                 db_file = os.path.join(db_path,i)
     63                 with open(db_file,"rb") as f:
     64                     file_dict = pickle.load(f)
     65                     all_data.append(file_dict)
     66         return all_data
     67 
     68 #管理员类
     69 class Admin(Baseclass):
     70     def __init__(self):
     71         Baseclass.__init__(self)
     72     def create_school(self):
     73         school_dict = {}
     74         school_name = input("校名:")
     75         school_address = input("地址:")
     76         s1 = School(school_name, school_address)
     77         school_dict["校名"] = s1.school_name
     78         school_dict["地址"] = s1.school_address
     79         Baseclass.save(self, "school", school_dict)
     80     def create_teacher(self):
     81         teacher_dict = {}
     82         teacher_name = input("讲师姓名:")
     83         teacher_salary = input("讲师工资:")
     84         teacher_school = input("所属学校:")
     85         t1 = Teacher(teacher_name, teacher_salary, teacher_school)
     86         teacher_dict["姓名"] = t1.teacher_name
     87         teacher_dict["工资"] = t1.teacher_salary
     88         teacher_dict["所属学校"] = t1.teacher_school
     89         print(teacher_dict)
     90         Baseclass.save(self, "teacher", teacher_dict)
     91     def create_student(self):
     92         student_dict = {}
     93         student_name = input("学员姓名:")
     94         student_sex = input("学员性别:")
     95         student_school = input("所属学校:")
     96         student_classes = input("学员班级:")
     97         st1 = Student(student_name, student_sex, student_school, student_classes)
     98         student_dict["姓名"] = st1.student_name
     99         student_dict["性别"] = st1.student_sex
    100         student_dict["学校"] = st1.student_school
    101         student_dict["班级"] = st1.student_classes
    102         Baseclass.save(self, "student", student_dict)
    103     def create_course(self):
    104         course_dict = {}
    105         course_name = input("课程名:")
    106         course_period = input("周期:")
    107         course_prices = input("价格:")
    108         c1 = Course(course_name, course_period, course_prices)
    109         course_dict["课程名"] = c1.course_name
    110         course_dict["周期"] = c1.course_period
    111         course_dict["价格"] = course_prices
    112         Baseclass.save(self, "course", course_dict)
    113     def create_classes(self):
    114         classes_dict = {}
    115         classes_name = input("班级名:")
    116         classes_teachter = input("负责讲师:")
    117         classes_course = input("所学课程:")
    118         cs1 = Classes(classes_name, classes_teachter, classes_course)
    119         classes_dict["班级名"] = cs1.classes_name
    120         classes_dict["负责讲师"] = cs1.classes_teacher
    121         classes_dict["课程"] = cs1.classes_course
    122         Baseclass.save(self, "classes", classes_dict)
    123 
    124 #学校类
    125 class School(Baseclass):
    126     def __init__(self,school_name,school_address):
    127         Baseclass.__init__(self)
    128         self.school_name = school_name
    129         self.school_address = school_address
    130 
    131 #讲师类
    132 class Teacher(Baseclass):
    133     def __init__(self,teacher_name,teacher_salary,teacher_school):
    134         Baseclass.__init__(self)
    135         self.teacher_name = teacher_name
    136         self.teacher_salary = teacher_salary
    137         self.teacher_school = teacher_school
    138     def create_class_record(self):
    139         class_record = []
    140         student_school = input("选择学校:")
    141         student_classes = input("选择班级:")
    142         student_times = input("课次:")
    143         student_list = Baseclass.open(self,"student")
    144         for i in student_list:
    145             if i["学校"] == student_school and i["班级"] == student_classes:
    146                 student_name = i["姓名"]
    147                 student_status = input("%s 上课情况:" % student_name)
    148                 i["上课情况"] = student_status
    149                 i["课次"] = student_times
    150                 class_record.append(i)
    151         Baseclass.seek_list(self,"class_record",class_record)
    152     def create_class_grade(self):
    153         class_grade = []
    154         student_school = input("选择学校:")
    155         student_classes = input("选择班级:")
    156         student_times = input("课次:")
    157         student_list = Baseclass.open(self,"student")
    158         for i in student_list:
    159             if i["学校"] == student_school and i["班级"] == student_classes:
    160                 student_name = i["姓名"]
    161                 student_grade = input("%s 成绩:" % student_name)
    162                 i["成绩"] = student_grade
    163                 i["课次"] = student_times
    164                 class_grade.append(i)
    165         Baseclass.seek_list(self,"class_grade",class_grade)
    166     def teacher_view_grade(self):
    167         grade_list = []
    168         student_school = input("校名:")
    169         student_class = input("班级:")
    170         student_times = input("课次:")
    171         class_grade_list = Baseclass.open(self, "class_grade")
    172         for i in class_grade_list:
    173             for j in i:
    174                 if j["学校"] == student_school and j["班级"] == student_class and j["课次"] == student_times:
    175                     grade_list.append(j)
    176         for i in grade_list:
    177             for key in i:
    178                 print(key,i[key])
    179             print("
    ")
    180 
    181     def tacher_view_record(self):
    182         record_list = []
    183         student_school = input("校名:")
    184         student_class = input("班级:")
    185         student_times = input("课次:")
    186         class_record_list = Baseclass.open(self, "class_record")
    187         for i in class_record_list:
    188             for j in i:
    189                 if j["学校"] == student_school and j["班级"] == student_class and j["课次"] == student_times:
    190                     record_list.append(j)
    191         for i in record_list:
    192             for key in i:
    193                 print(key,i[key])
    194             print("
    ")
    195 
    196 #课程类
    197 class Course(Baseclass):
    198     def __init__(self,course_name,course_period,course_prices):
    199         Baseclass.__init__(self)
    200         self.course_name = course_name
    201         self.course_period = course_period
    202         self.course_prices = course_prices
    203 
    204 #学员类
    205 class Student(Baseclass):
    206 
    207     def __init__(self,student_name,student_sex,student_school,student_classes):
    208         Baseclass.__init__(self)
    209         self.student_name = student_name
    210         self.student_sex = student_sex
    211         self.student_school = student_school
    212         self.student_classes = student_classes
    213     def student_registered(self):
    214         student_dict = {}
    215         print("欢迎进入学生注册系统")
    216         student_name = input("注册姓名:")
    217         student_sex = input("性别:")
    218         student_school = input("学校:")
    219         student_class = input("班级:")
    220         st1 = Student(student_name,student_sex,student_school,student_class)
    221         student_dict["姓名"] = st1.student_name
    222         student_dict["性别"] = st1.student_sex
    223         student_dict["学校"] = st1.student_school
    224         student_dict["班级"] = st1.student_classes
    225         Baseclass.save(self, "student", student_dict)
    226     def student_pay_fees(self):
    227         pass
    228     def student_view_grade(self):
    229         student_school = input("校名:")
    230         student_class = input("班级:")
    231         student_times = input("课次:")
    232         student_name = input("姓名:")
    233         class_grade_list = Baseclass.open(self,"class_grade")
    234         for i in class_grade_list:
    235             for j in i:
    236                 if j["学校"] == student_school and j["班级"] == student_class and j["课次"] == student_times 
    237                     and j["姓名"] == student_name:
    238                     for key in j:
    239                         print(key,j[key])
    240                     print("
    ")
    241     def student_view_record(self):
    242         student_school = input("校名:")
    243         student_class = input("班级:")
    244         student_times = input("课次:")
    245         student_name = input("姓名:")
    246         class_record_list = Baseclass.open(self,"class_record")
    247         for i in class_record_list:
    248             for j in i:
    249                 if j["学校"] == student_school and j["班级"] == student_class and j["课次"] == student_times 
    250                     and j["姓名"] == student_name:
    251                     for key in j:
    252                         print(key,j[key])
    253                     print("
    ")
    254 
    255 #课程类
    256 class Classes(Baseclass):
    257     def __init__(self,classes_name,classes_teachter,classes_course):
    258         Baseclass.__init__(self)
    259         self.classes_name = classes_name
    260         self.classes_teacher = classes_teachter
    261         self.classes_course = classes_course
    262 
    263 #管理员视图,继承Admin类
    264 class Admin_view(Admin):
    265     def __init__(self):
    266         Admin.__init__(self)
    267     def auth(self,username,password):
    268         admin_file = "%s/%s.json" %(db_admin,username)
    269         if os.path.isfile(admin_file):
    270             with open(admin_file, 'r') as f:
    271                 admin_data = json.load(f)
    272             if admin_data["name"] == username and admin_data["password"] == password:
    273                 return True
    274             else:
    275                 print("用户名或密码错误")
    276     def login(self):
    277         menu = u'''
    278         ------- 欢迎进入管理视图 ---------
    279             33[32;1m 1.  校区管理
    280             2.  讲师管理
    281             3.  学员管理
    282             4.  课程管理
    283             5.  返回
    284             33[0m'''
    285         menu_dic = {
    286             '1': Admin_view.school_manager,
    287             '2': Admin_view.teacher_manager,
    288             '3': Admin_view.student_manager,
    289             '4': Admin_view.course_manager,
    290             '5': "logout",
    291         }
    292         username = input("输入用户名:").strip()
    293         password = input("输入密码:").strip()
    294         auth = Admin_view.auth(self,username,password)
    295         if auth:
    296             exit_flag = False
    297             while not exit_flag:
    298                 print(menu)
    299                 option = input("请选择:").strip()
    300                 if option in menu_dic:
    301                     if int(option) == 5:
    302                         exit_flag = True
    303                     else:
    304                         print(menu_dic[option])
    305                         menu_dic[option](self)
    306                 else:
    307                     print("33[31;1m输入错误,重新输入33[0m")
    308     def school_manager(self):
    309         exit_flag = False
    310         while not exit_flag:
    311             print("""
    312                 ------- 欢迎进入校区管理 ---------
    313                 33[32;1m1.  创建校区
    314                 2.  创建班级
    315                 3.  返回
    316                 33[0m
    317             """)
    318             option = input("请选择:").strip()
    319             if int(option) == 1:
    320                 Admin.create_school(self)
    321             elif int(option) == 2:
    322                 Admin.create_classes(self)
    323             else:
    324                 exit_flag = True
    325     def teacher_manager(self):
    326         exit_flag = False
    327         while not exit_flag:
    328             print("""
    329                 ------- 欢迎进入讲师管理 ---------
    330                 33[32;1m 1.  创建讲师
    331                 2.  ...
    332                 3.  返回
    333                 33[0m
    334             """)
    335             option = input("请选择:").strip()
    336             if int(option) == 1:
    337                 Admin.create_teacher(self)
    338             elif int(option) == 2:
    339                 print("扩展中")
    340             else:
    341                 exit_flag = True
    342 
    343     def student_manager(self):
    344         exit_flag = False
    345         while not exit_flag:
    346             print("""
    347                 ------- 欢迎进入学员管理 ---------
    348                 33[32;1m 1.  创建学员
    349                 2.  ...
    350                 3.  返回
    351                 33[0m
    352             """)
    353             option = input("请选择:").strip()
    354             if int(option) == 1:
    355                 Admin.create_student(self)
    356             elif int(option) == 2:
    357                 print("扩展中")
    358             else:
    359                 exit_flag = True
    360     def course_manager(self):
    361         exit_flag = False
    362         while not exit_flag:
    363             print("""
    364                 ------- 欢迎进入课程管理 ---------
    365                 33[32;1m 1.  创建课程
    366                 2.  ...
    367                 3.  返回
    368                 33[0m
    369             """)
    370             option = input("请选择:").strip()
    371             if int(option) == 1:
    372                 Admin.create_course(self)
    373             elif int(option) == 2:
    374                 print("扩展中")
    375             else:
    376                 exit_flag = True
    377 
    378 #讲师视图类,继承Teacher类
    379 class Teacher_view(Teacher,):
    380     def __init__(self,teacher_name,teacher_salary,teacher_school):
    381         Teacher.__init__(self,teacher_name,teacher_salary,teacher_school)
    382     def login(self):
    383         menu = u'''
    384         ------- 欢迎进入讲师视图 ---------
    385             33[32;1m  1.  创建上课记录
    386             2.  创建学员成绩
    387             3.  查看学员上课记录
    388             4.  查看学员成绩
    389             5.  返回
    390             33[0m'''
    391         menu_dic = {
    392             '1': Teacher.create_class_record,
    393             '2': Teacher.create_class_grade,
    394             '3': Teacher.tacher_view_record,
    395             '4': Teacher.teacher_view_grade,
    396             '5': "logout",
    397         }
    398         if True:
    399             exit_flag = False
    400             while not exit_flag:
    401                 print(menu)
    402                 option = input("请选择:").strip()
    403                 if option in menu_dic:
    404                     if int(option) == 5:
    405                         exit_flag = True
    406                     else:
    407                         print(menu_dic[option])
    408                         menu_dic[option](self)
    409                 else:
    410                     print("33[31;1m输入错误,重新输入33[0m")
    411 
    412 #学员视图类,继承Student类
    413 class Student_view(Student):
    414     def __init__(self,student_name,student_sex,student_school,student_classes):
    415         Student.__init__(self,student_name,student_sex,student_school,student_classes)
    416 
    417     def login(self):
    418         menu = u'''
    419         ------- 欢迎进入学生管理视图 ---------
    420         33[32;1m 1.  注册
    421         2.  交学费
    422         3.  查看上课记录
    423         4.  查看作业成绩
    424         5.  返回
    425         33[0m'''
    426         menu_dic = {
    427             '1': Student.student_registered,
    428             '2': Student.student_pay_fees,
    429             '3': Student.student_view_record,
    430             '4': Student.student_view_grade,
    431             '5': "logout",
    432         }
    433         if True:
    434             exit_flag = False
    435             while not exit_flag:
    436                 print(menu)
    437                 option = input("请选择:").strip()
    438                 if option in menu_dic:
    439                     if int(option) == 5:
    440                         exit_flag = True
    441                     else:
    442                         menu_dic[option](self)
    443                 else:
    444                     print("33[31;1m输入错误,重新输入33[0m")
    445 
    446 #程序交互类
    447 class Run(object):
    448     def __init__(self):
    449         pass
    450     def interactive(self):
    451         menu = u'''
    452         ------- 欢迎进入选课系统 ---------
    453         33[32;1m 1.  学生视图
    454         2.  讲师视图
    455         3.  管理视图
    456         4.  退出
    457         33[0m'''
    458         menu_dic = {
    459             '1': Student_view,
    460             '2': Teacher_view,
    461             '3': Admin_view,
    462             # '4': logout,
    463         }
    464         exit_flag = False
    465         while not exit_flag:
    466             print(menu)
    467             option_view = input("请选择视图:").strip()
    468             if option_view in menu_dic:
    469                 if int(option_view) == 4:
    470                     exit_flag = True
    471                 else:
    472                     menu_dic[option_view].login(self)
    473             else:
    474                 print("33[31;1m输入错误,重新输入33[0m")
    main.py

    生成uid程序 uid.py

     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 #version:3.5.2
     4 #author:wangeq
     5 
     6 import hashlib
     7 import time
     8 
     9 def create_md():
    10     m = hashlib.md5()
    11     m.update(bytes(str(time.time()),encoding='utf-8'))
    12     return m.hexdigest()
    uid.py

    数据库目录

    4、程序演示:

    管理视图:
    "D:Program Files (x86)Python35-32python.exe" "D:/PycharmProjects/wangeq/day06/作业/course system/bin/course.py"
    
            ------- 欢迎进入选课系统 ---------
             1.  学生视图
            2.  讲师视图
            3.  管理视图
            4.  退出
            
    请选择视图:3
    输入用户名:admin
    输入密码:admin
    
            ------- 欢迎进入管理视图 ---------
                 1.  校区管理
                2.  讲师管理
                3.  学员管理
                4.  课程管理
                5.  返回
                
    请选择:1
    <function Admin_view.school_manager at 0x006D41E0>
    
                    ------- 欢迎进入校区管理 ---------
                    1.  创建校区
                    2.  创建班级
                    3.  返回
                    
                
    请选择:1
    校名:oldboy
    地址:beijing
    ------- school 创建成功 -------
    uid :     bbdd5b596750c01a674cba867cdb6fbd
    地址 :     beijing
    校名 :     oldboy
    
                    ------- 欢迎进入校区管理 ---------
                    1.  创建校区
                    2.  创建班级
                    3.  返回
                    
                
    请选择:1
    校名:oldboy
    地址:shanghai
    ------- school 创建成功 -------
    uid :     b9f82d9c1365bde4840c3f216b298f1b
    地址 :     shanghai
    校名 :     oldboy
    
                    ------- 欢迎进入校区管理 ---------
                    1.  创建校区
                    2.  创建班级
                    3.  返回
                    
                
    请选择:2
    班级名:16
    负责讲师:alex
    所学课程:python
    ------- classes 创建成功 -------
    uid :     d07434b43fb00a4ca43ca408fcd8980e
    负责讲师 :     alex
    课程 :     python
    班级名 :     16
    
                    ------- 欢迎进入校区管理 ---------
                    1.  创建校区
                    2.  创建班级
                    3.  返回
                    
                
    请选择:2
    班级名:15
    负责讲师:wpq
    所学课程:python
    ------- classes 创建成功 -------
    uid :     5e4fc15541e713ee06a56ecd13162e55
    负责讲师 :     wpq
    课程 :     python
    班级名 :     15
    
                    ------- 欢迎进入校区管理 ---------
                    1.  创建校区
                    2.  创建班级
                    3.  返回
                    
    请选择:3
    
            ------- 欢迎进入管理视图 ---------
                 1.  校区管理
                2.  讲师管理
                3.  学员管理
                4.  课程管理
                5.  返回
                
    请选择:2
    <function Admin_view.teacher_manager at 0x006E4228>
    
                    ------- 欢迎进入讲师管理 ---------
                     1.  创建讲师
                    2.  ...
                    3.  返回
                    
                
    请选择:1
    讲师姓名:alex
    讲师工资:100000
    所属学校:oldboy
    {'姓名': 'alex', '所属学校': 'oldboy', '工资': '100000'}
    ------- teacher 创建成功 -------
    姓名 :     alex
    uid :     ffb19d722dc47b6d2e370690a4b6644d
    所属学校 :     oldboy
    工资 :     100000
    
                    ------- 欢迎进入讲师管理 ---------
                     1.  创建讲师
                    2.  ...
                    3.  返回
                    
                
    请选择:3
    
            ------- 欢迎进入管理视图 ---------
                 1.  校区管理
                2.  讲师管理
                3.  学员管理
                4.  课程管理
                5.  返回
                
    请选择:3
    <function Admin_view.student_manager at 0x006E4270>
    
                    ------- 欢迎进入学员管理 ---------
                     1.  创建学员
                    2.  ...
                    3.  返回
                    
                
    请选择:1
    学员姓名:jack
    学员性别:F
    所属学校:oldboy
    学员班级:16
    ------- student 创建成功 -------
    姓名 :     jack
    uid :     4617ecffc46045db1bf14529aef5bb47
    性别 :     F
    学校 :     oldboy
    班级 :     16
    
                    ------- 欢迎进入学员管理 ---------
                     1.  创建学员
                    2.  ...
                    3.  返回
                    
                
    请选择:3
    
            ------- 欢迎进入管理视图 ---------
                 1.  校区管理
                2.  讲师管理
                3.  学员管理
                4.  课程管理
                5.  返回
                
    请选择:4
    <function Admin_view.cource_manager at 0x006E42B8>
    
                    ------- 欢迎进入课程管理 ---------
                     1.  创建课程
                    2.  ...
                    3.  返回
                    
                
    请选择:1
    课程名:python
    周期:7
    价格:110000
    ------- cource 创建成功 -------
    uid :     59bd676e9fb5ab1fd70d91582fd65cec
    课程名 :     python
    周期 :     7
    价格 :     110000
    
                
    讲师视图
    
            ------- 欢迎进入选课系统 ---------
             1.  学生视图
            2.  讲师视图
            3.  管理视图
            4.  退出
            
    
    请选择视图:2
    
            ------- 欢迎进入讲师视图 ---------
                  1.  创建上课记录
                2.  创建学员成绩
                3.  查看学员上课记录
                4.  查看学员成绩
                5.  返回
                
    请选择:1
    <function Teacher.create_class_record at 0x006BDDB0>
    选择学校:oldboy
    选择班级:16
    课次:1
    jack 上课情况:chuqin
    wangeq 上课情况:queqin
    ------- class_record 创建成功 -------
    班级 16
    uid 4617ecffc46045db1bf14529aef5bb47
    姓名 jack
    课次 1
    学校 oldboy
    上课情况 chuqin
    性别 F
    
    
    班级 16
    uid cc151d309c4d50e516b0eb4cc1257c1c
    姓名 wangeq
    课次 1
    学校 oldboy
    上课情况 queqin
    性别 F
    
    
    
            ------- 欢迎进入讲师视图 ---------
                  1.  创建上课记录
                2.  创建学员成绩
                3.  查看学员上课记录
                4.  查看学员成绩
                5.  返回
                
    请选择:2
    <function Teacher.create_class_grade at 0x006BDDF8>
    选择学校:oldboy
    选择班级:16
    课次:1
    jack 成绩:B
    wangeq 成绩:A
    ------- class_grade 创建成功 -------
    班级 16
    uid 4617ecffc46045db1bf14529aef5bb47
    姓名 jack
    成绩 B
    课次 1
    学校 oldboy
    性别 F
    
    
    班级 16
    uid cc151d309c4d50e516b0eb4cc1257c1c
    姓名 wangeq
    成绩 A
    课次 1
    学校 oldboy
    性别 F
    
    
    
            ------- 欢迎进入讲师视图 ---------
                  1.  创建上课记录
                2.  创建学员成绩
                3.  查看学员上课记录
                4.  查看学员成绩
                5.  返回
                
    请选择:3
    <function Teacher.tacher_view_record at 0x006BDE88>
    校名:oldboy
    班级:16
    课次:1
    班级 16
    uid 4617ecffc46045db1bf14529aef5bb47
    姓名 jack
    课次 1
    学校 oldboy
    上课情况 chuqin
    性别 F
    
    
    班级 16
    uid cc151d309c4d50e516b0eb4cc1257c1c
    姓名 wangeq
    课次 1
    学校 oldboy
    上课情况 queqin
    性别 F
    
    
    
            ------- 欢迎进入讲师视图 ---------
                  1.  创建上课记录
                2.  创建学员成绩
                3.  查看学员上课记录
                4.  查看学员成绩
                5.  返回
                
    请选择:4
    <function Teacher.teacher_view_grade at 0x006BDE40>
    校名:oldboy
    班级:16
    课次:1
    班级 16
    uid 4617ecffc46045db1bf14529aef5bb47
    姓名 jack
    成绩 B
    课次 1
    学校 oldboy
    性别 F
    
    
    班级 16
    uid cc151d309c4d50e516b0eb4cc1257c1c
    姓名 wangeq
    成绩 A
    课次 1
    学校 oldboy
    性别 F
    
    
    
            ------- 欢迎进入讲师视图 ---------
                  1.  创建上课记录
                2.  创建学员成绩
                3.  查看学员上课记录
                4.  查看学员成绩
                5.  返回
                
    请选择:5
    
            ------- 欢迎进入选课系统 ---------
             1.  学生视图
            2.  讲师视图
            3.  管理视图
            4.  退出
    
    学生视图:
            ------- 欢迎进入选课系统 ---------
             1.  学生视图
            2.  讲师视图
            3.  管理视图
            4.  退出
            
    请选择视图:1
    
            ------- 欢迎进入学生管理视图 ---------
             1.  注册
            2.  交学费
            3.  查看上课记录
            4.  查看作业成绩
            5.  返回
            
    请选择:1
    欢迎进入学生注册系统
    注册姓名:wangeq
    性别:F
    学校:oldboy
    班级:16
    ------- student 创建成功 -------
    uid :     3fefbe9155d868ebea7cc7aa56f714e5
    班级 :     16
    姓名 :     wangeq
    学校 :     oldboy
    性别 :     F
    
            ------- 欢迎进入学生管理视图 ---------
             1.  注册
            2.  交学费
            3.  查看上课记录
            4.  查看作业成绩
            5.  返回
            
    请选择:3
    校名:oldboy
    班级:16
    课次:1
    姓名:wangeq
    上课情况 queqin
    uid cc151d309c4d50e516b0eb4cc1257c1c
    班级 16
    姓名 wangeq
    学校 oldboy
    课次 1
    性别 F
    
    
    
            ------- 欢迎进入学生管理视图 ---------
             1.  注册
            2.  交学费
            3.  查看上课记录
            4.  查看作业成绩
            5.  返回
            
    请选择:4
    校名:oldboy
    班级:16
    课次:1
    姓名:wangeq
    uid cc151d309c4d50e516b0eb4cc1257c1c
    班级 16
    姓名 wangeq
    学校 oldboy
    课次 1
    性别 F
    成绩 A
    
    
    
            ------- 欢迎进入学生管理视图 ---------
             1.  注册
            2.  交学费
            3.  查看上课记录
            4.  查看作业成绩
            5.  返回
            
    请选择:5
    
            ------- 欢迎进入选课系统 ---------
             1.  学生视图
            2.  讲师视图
            3.  管理视图
            4.  退出
    
    #代码不是很完整,后续会进行改进
    作者:wangeq
    出处:http://www.cnblogs.com/wangeq/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
  • 相关阅读:
    import和require的区别
    React Native--Animated:`useNativeDriver`is not supported because the native animated module is missing
    XMLHttpRequest
    react-native中更改android/ios的入口文件
    react-native 跳转到ios/android 权限设置界面
    CocoaPods安装和使用
    React、React Native面试题
    UIBarButtonSystemItem 样式
    (转)自定义UITabBar
    ios 代码规范
  • 原文地址:https://www.cnblogs.com/wangeq/p/6504644.html
Copyright © 2011-2022 走看看