学生选课系统代码-2view视图层代码【MVC--v】代码
admin.py
src.py
student.py
teacher.py
-------------------------------
admin.py
from interface import admin_interface
from lib import common
from interface import common_interface"""管理员视图
"""admin_info={'user':None
}#管理员注册def register():while True:username=input("请输入用户名:").strip()password=input("请输入密码:").strip()re_password=input("请输入密码:").strip()# 小的逻辑判断# 调用接口层,管理员注册接口if password==re_password:flag,msg=admin_interface.admin_register_interface(username,password)if flag:print(msg)breakelse:print(msg)else:print("两次密码不一致,请重新输入!")#管理员登录
# def login():
# while True:
# username=input("请输入用户名:").strip()
# password=input("请输入密码:").strip()
#
# #1.调用管理员登录接口
# flag,msg=admin_interface.admin_login_interface(
# username,password
# )
#
# if flag:
# print(msg)
# #记录当前用户的登录状态
# #可变类型不需要使用global关键字
# admin_info['user']=username
# break
#
# else:
# print(msg)def login():while True:username=input("请输入用户名:").strip()password=input("请输入密码:").strip()#1.调用管理员登录接口flag,msg=common_interface.login_interface(username,password,user_type="admin")if flag:print(msg)#记录当前用户的登录状态#可变类型不需要使用global关键字admin_info['user']=usernamebreakelse:print(msg)#管理员创建学校
def create_school():while True:school_name=input("请输入学校名称:").strip()school_addr=input("请输入学校地址:").strip()#2.调用接口,保存学校flag,msg=admin_interface.create_school_interface(# 学校名,学校地址,创建学校的管理员school_name,school_addr,admin_info.get('user'))if flag:print(msg)breakelse:print(msg)#管理员创建课程
def create_course():#1.让管理员先选择学校#1.1调用接口,获取所有学校的名称并打印while True:flag,school_list_or_msg=common.get_all_school_interface()if not flag:print(school_list_or_msg)breakfor index,school_name in enumerate(school_list_or_msg):print(f"编号:{index} 学校名:{school_name}")choice=input("请输入学校编号:").strip()if not choice.isdigit():print("请输入数字")continuechoice=int(choice)if choice not in range(len(school_list_or_msg)):print("请输入正确编号!")continue#2.选择学校后,在输入课程名称course_name=input("请输入需要创建的课程名称:").strip()#3.调用创建课程接口,让管理员去创建课程flag,msg=admin_interface.create_course_interface(#传递学校的目的,是为了关联课程school_name,course_name,admin_info.get('user'))if flag:print(msg)breakelse:print(msg)#管理员创建老师
def create_teacher():while True:teacher_name=input("请输入老师的名字:").strip()#调用接口创建老师flag,msg=admin_interface.create_teacher_interface(teacher_name,admin_info.get("user"))if flag:print(msg)breakelse:print(msg)func_dic={'1':register,'2':login,'3':create_school,'4':create_course,'5':create_teacher,}#管理员视图
def admin_view():while True:print("""-1.注册-2.登录-3.创建学校-4.创建课程-5.创建讲师""")# 退出当前视图choice=input("请输入功能编号:").strip()# 退出当前视图if choice == 'q':breakif choice not in func_dic:print("输入有误,请重新输入!")continuefunc_dic.get(choice)()
----------------------
src.py
from core import admin
from core import student
from core import teacherfunc_dic={'1':admin.admin_view,'2':student.student_view,'3':teacher.teacher_view,
}def run():while True:print("""======欢迎来到选课系统====1.管理员功能2.学生功能3.老师功能======END====""")choice=input('请输入功能编号:').strip()# 退出当前视图if choice=='q':breakif choice not in func_dic:print("输入有误,请重新输入!")continuefunc_dic.get(choice)()
----------------------
student.py
"""
学生视图
"""from lib import common
from interface import student_interface
from interface import common_interfacestudent_info={'user':None}#学生注册
def register():while True:username=input("请输入用户名:").strip()password=input("请输入密码:").strip()re_password=input("请确认输入密码:").strip()#小逻辑判断if password==re_password:#调用接口,学生注册接口flag,msg=student_interface.student_register_interface(username,password)if flag:print(msg)breakelse:print(msg)else:print("两次密码不一致,请重新输入!")#学生登录
#学生登录
# def login():
# while True:
# username = input("请输入用户名:").strip()
# password = input("请输入密码:").strip()
#
#
#
# # 1.调用接口,学生登录接口
# flag, msg = student_interface.student_login_interface(
# username, password
# )
# if flag:
# print(msg)
# #记录当前用户登录状态
# #可变类型不需要global声明
# student_info['user']=username
# break
# else:
# print(msg)#学生登录def login():while True:username = input("请输入用户名:").strip()password = input("请输入密码:").strip()# 1.调用接口,学生登录接口flag, msg = common_interface.login_interface(username, password,user_type='student')if flag:print(msg)#记录当前用户登录状态#可变类型不需要global声明student_info['user']=usernamebreakelse:print(msg)#学生选择学校
def choice_school():while True:#1.获取所有学校,让学生选择flag,school_list=common_interface.get_all_school_interface()if not flag:print(school_list)breakfor index,school_name in enumerate(school_list):print(f"编号{index} 学校名:{school_name}")#2.让学生输入学校编号choice=input("请输入选择学校编号:").strip()if not choice.isdigit():print("输入有误 !")continuechoice=int(choice)if choice not in range(len(school_list)):print("输入编号有误@")continueschool_name=school_list[choice]#3.开始调用学生选择学校接口flsg,msg=student_interface.add_school_interface(school_name,student_info.get('user'))if flag:print(msg)breakelse:print(msg)#学生选择课程
def choice_course():while True:#1.先获取“当前学生”所在学校的课程列表flag,course_list=student_interface.get_course_list_interface(student_info.get('user'))if not flag:print(course_list)break#2.打印课程列表,并让用户选择课程for index,school_name in enumerate(course_list):print(f"编号:{index} 学校名:{school_name}")#让学生输入学校编号choice=input("请输入选择学校编号:").strip()if not choice.isdigit():print("输入有误")continuechoice=int(choice)if choice not in range(len(course_list)):print("输入编号有误")continue#3.获取选择的课程的名称course_name=course_list[choice]#4.调用学生选择课程接口flag,msg=student_interface.add_course_interface(course_name,student_info.get('user'))if flag:print(msg)breakelse:print(msg)def check_score():#1.直接调用查看分数接口score=student_interface.check_score_interface(student_info.get('user'))if not score:print("没有选择课程!")print(score)func_dic={'1':register,'2':login,'3':choice_school,'4':choice_course,'5':check_score,
}def student_view():while True:print("""-1.注册-2.登录功能-3.选择校区-4.选择课程[先选择校区,在选择校区中的某一门课程]-5.查看分数""")choice=input("请输入功能编号:").strip()if choice=='q':breakif choice not in func_dic:print("输入错误,请重新输入")continuefunc_dic.get(choice)()
----------------------
teacher.py
from interface import common_interface
from interface import teacher_interface
"""
老师视图
"""teacher_info={'user':None
}#老师登录
def login():while True:username=input("请输入用户名:").strip()password=input("请输入密码:").strip()#1.调用管理员登录接口flag,msg=common_interface.login_interface(username,password,user_type="teacher")if flag:print(msg)#记录当前用户的登录状态#可变类型不需要使用global关键字teacher_info['user']=usernamebreakelse:print(msg)#查看教授课程
def check_course():flag,course_list=teacher_interface.check_course_interface(teacher_info.get('user'))if flag:print(course_list)else:print(course_list)#选择教授课程
def choose_course():while True:#先打印所有学校,并选择flag,school_list=common_interface.get_all_school_interface()if not flag:print(school_list)breakfor index,school_name in enumerate(school_list):print(f"编号:{index} 学校名:{school_name}")#2.让学生输入学校编号choice=input("请输入选择的学校编号:").strip()if not choice.isdigit():print("输入有误")continuechoice=int(choice)if choice not in range(len(school_list)):print("输入编号有误")continue#获取选择的学校名称school_name=school_list[choice]#2.从选择的学校中获取所有的课程flag2,course_list=common_interface.get_course_in_school_interace(school_name)if not flag2:print(course_list)breakfor index2,course_name in enumerate(course_list):print(f"编号:{index2}课程名:{course_name}")choice2=input("请输入选择的课程编号:").strip()if not choice2.isdigit():print("输入有误")continuechoice2=int(choice2)if choice2 not in range(len(course_list)):print("输入编号有误")continue#获取选择的课程名称course_name=course_list[choice2]#3.调用选择教授课程接口,将该课程添加到老师课程列表中flag3,msg=teacher_interface.add_course_interface(course_name,teacher_info.get('user'))if flag3:print(msg)breakelse:print(msg)#查看课程下的学生
def check_stu_from_course():while True:#1.调用获取当前老师下的所有的课程接口flag,course_list=teacher_interface.check_course_interface(teacher_info.get('user'))if not flag:print(course_list)break#2.打印所有课程,并让老师选择for index,course_name in enumerate(course_list):print(f"编号:{index} 课程名:{course_name}")choice=input("请输入课程编号:").strip()if not choice.isdigit():print("输入有误")continuechoice=int(choice)if choice not in range(len(course_list)):print("输入编号有误!")continue#获3.取选择的课程名称course_name=course_list[choice]#4.利用当前课程名称获取所有学生flag2,student_list=teacher_interface.get_student_interface(course_name,teacher_info.get('user'))if flag2:print(student_list)breakelse:print(student_list)break#修改学生分数
def change_score_from_student():"""#1.获取老师下所有的科恒,并选择#2获取选择的课程下所有的学生,并选择修改的学生#3调用修改学生分数接口修改分数:return:"""while True:flag,cour_list=teacher_interface.check_course_interface(teacher_info.get("user"))if not flag:print(cour_list)break#2.打印所有课程,并让老师选择for index,course_name in enumerate(cour_list):print(f"编号:{index}课程名:{course_name}")choice=input("请输入选择的课程编号:").strip()if not choice.isdigit():print("输入有误")continuechoice=int(choice)if choice not in range(len(cour_list)):print("输入编号有误")continue#3.获取选择的课程名称course_name=cour_list[choice]#4.利用当前课程名称获取所有学生flag2,student_list=teacher_interface.get_student_interface(course_name,teacher_info.get('user'))if not flag2:print(student_list)break#5.打印所有学生让老师选择for index2,student_name in enumerate(student_list):print(f"编号:{index2} 学生名:{student_name}")choice2=input("请输入学生编号:").strip()choice2=int(choice2)if choice2 not in range(len(student_list)):print("输入编号有误")continue#获取选择课程名称student_name=student_list[choice2]#老师输入要修改的分数score=input("请输入要修改的成绩:").strip()if not score.isdigit():continuescore=int(score)#6.调用修改学生分数接口修改分数flag3,msg=teacher_interface.change_score_interface(course_name,student_name,score,teacher_info.get("user"))if flag3:print(msg)breakfunc_dic={'1':login,'2':check_course,'3':choose_course,'4':check_stu_from_course,'5':change_score_from_student,}def teacher_view():while True:print("""-1.登录-2.查看教程课程-3.选择教授课程-4.查看课程下学生-5.修改学生分数""")# 退出当前视图choice=input("请输入功能编号:").strip()# 退出当前视图if choice == 'q':breakif choice not in func_dic:print("输入有误,请重新输入!")continuefunc_dic.get(choice)()
----------------------
学生选课系统代码-2view视图层代码【MVC--v】代码相关推荐
- c语言p1-melepeo,学生选课系统c语言程序代码
学生选课系统c语言程序代码 (25页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 #include #includestruct cou ...
- 学生选课系统用例图,以及部分代码实现
上学期软件导论做的文档,学生选课系统,在文档的基础上,再代码实现以下 背景--用例图:一个基础的学生选课系统 ER图设计如下:(学生和课程是n - m的关系,可修改的原图找不到了,悉知) 库表设计: ...
- java选课系统代码mysql_Java swing mysql实现的学生选课系统项目源码附带视频运行教程...
大家好,今天给大家演示一下由Java swing实现的一款简单的学生选课系统,数据库采用的是mysql,实现了简单的选课功能,后面的课程中我们会出Java web版的学生选课系统,今天先看Java s ...
- C++学生选课系统 【含 代码】
目录 1.系统分析 1.1模块划分 1.2功能模块描述 2.系统设计 [系统流程图] [类图] 3.文件说明 4.测试数据 5.系统效果图[部分] 6.源代码 1.系统分析 本系统的用户分为普通用户和 ...
- Springboot学生选课系统的设计与实现毕业设计源码
Springboot学生选课系统的设计与实现 摘 要 随着人类向信息社会的不断迈进,风起云涌的信息时代正掀起一次新的革命,同时计算机网络技术高速发展,网络管理运用也变得越来越广泛.因此,建立一个B/S ...
- springboot学生选课系统毕业设计源码291510
Springboot学生选课系统的设计与实现 摘 要 随着人类向信息社会的不断迈进,风起云涌的信息时代正掀起一次新的革命,同时计算机网络技术高速发展,网络管理运用也变得越来越广泛.因此,建立一个B/S ...
- python最简单选课系统作业_python之路——作业:学生选课系统
一.作业要求: 选课系统: 角色:学校.学员.课程.讲师 要求: 1. 创建北京.上海 2 所学校 2. 创建linux , python , go 3个课程 , linux\py 在北京开, go ...
- jsp+sql的学生选课系统过程
本次课程的作品为"学生选课系统",选此课题初衷是毕竟自己作为一个学生来说最为贴近的就是学生选课系统,平常都是作为一个用户来使用这个系统,没有什么深入的了解其中的实现原理,所以抱着试 ...
- 学生选课系统项目设计报告
设 计 报 告 报告题目:学生选课系统的数据库设计 摘 要 在当下疫情肆虐的时期,线上教学成为了主流方式,各种教学活动都转为线上,网上选课系统成为学生课程分配的主要方式,传统的选课管理模式已经无法满 ...
- 数据库设计之学生选课系统
版权声明:对于本博客所有原创文章,允许个人.教育和非商业目的使用,但务必保证文章的完整性且不作任何修改地以超链接形式注明原始作者.出处及本声明. 博客地址:http://blog.csdn.net/s ...
最新文章
- wget使用代理下载
- 哪个术语描述了服务器软件在专用计算机,计算机网络基础
- 在控制台输出口,根据内存地址,找到被过度释放的对象!
- BCP导出导入大容量数据实践
- (转)版本管理工具介绍——SVN篇(二)
- 算法总结之 生成窗口的最大值数组
- mybatis中转义 大于,小于,大于等于,小于等于
- python读取modis数据
- 远程显示协议对比:RemoteFX vs. HDX vs. PCoIP
- libreoffice word转pdf时中文乱码问题解决
- 天天生鲜商品详情页HTML+css
- 紫猫数据库使用 (二)
- 神州行省内流量套餐6元500M申请,发送BLSN6到10086即可
- Java变量概述与使用
- cf大区服务器显示人数合区后,穿越火线:各大区终合并,跨区作战成现实,以后就只有4个大区了!...
- ws2812C驱动示例主控芯片为HC32F460系列
- 安卓恢复大师怎样恢复手机删除的照片
- 电磁场与仿真软件(17)
- 硬件基础知识----(1)基本概念
- 华为HANA一体机双机操作实例