精华内容
下载资源
问答
  • 在这里和大家分享一个用C语言做的一个学生选课系统程序代码
  • Java 学生选课系统代码

    千次阅读 多人点赞 2020-11-03 15:39:06
    Java实现学生系统(实际上是学生、教师管理系统+学生选课系统两部分构成) 需求如下: 程序设计为让上述要求展开。 源代码 由于代码量较大,所有代码以百度网盘链接形式给出(永久有效)。 百度网盘链接 提取码...

    需求


    Java实现学生系统(实际上是学生、教师管理系统+学生选课系统两部分构成)
    需求如下:
    1
    2
    3
    程序设计为让上述要求展开。


    源代码


    由于代码量较大,所有代码以百度网盘链接形式给出(永久有效)。

    链接:百度网盘
    提取码:0713

    复制这段内容后打开百度网盘手机App,操作更方便哦
    解压后里面的内容应该是这样的:
    4
    它包含了所有部分的代码。这里我使用eclipse编程,他们的组织形式是这样的:
    6
    按照这个形式组织好,就可以运行啦,14+的jdk版本没有任何报错。
    我的jdk版本:
    在这里插入图片描述


    效果


    简单(真的很简单)展示下运行效果。
    77
    88

    好了,我很懒所以就贴这些。有什么问题欢迎评论区指正~


    Update

    第一次更新

    2020/11/25
    更新内容:
    之前的代码直接跑是不行的,因为在你的电脑上没有创建那几个文本文件并且配置好源代码中文件路径的话会报错… …因为之前我已经创建好了,所以没有考虑到文件不存在就创建的问题。当然,这是个很小的问题,奈何就是有大哥他不会啊…
    现在的效果就是,可以直接运行。网盘链接已经更新了,源码可以直接下载!

    第二次更新

    2020/12/13 00:12
    更新内容:
    还是有人说不会弄那几个文本文件,之前解决了文件的创建问题但是那些文本文件的创建路径是我的电脑上的路径(绝对路径),和你的极大概率是不一样的,所以直接运行肯定还是不行的…
    解决方案就是将所有文件路径更改为相对路径即可,这样当你将项目跑起来之后就可以在项目文件夹下看到这些文本文件,我自己也试了一下是可以的,效果如图:
    11
    可以看到在工程文件夹下这几个文本文件被成功创建。
    源代码进行少许更改,网盘链接也进行了更新,可以直接下载。

    FAQ 1

    222
    进入网盘链接点击保存到网盘,然后进入你的百度网盘中将其下载到本地即可。

    FAQ 2

    1
    还是文本文件创建的问题,已经解决了。


    End

    如果这篇文章对你有帮助不要吝惜你的点赞和评论呀!写代码也是很辛苦滴!!

    展开全文
  • 一、要求: 选课系统管理员:创建老师:姓名、性别、年龄、资产创建课程:课程名称、上课时间、课时费、关联老师使用pickle保存在文件学生学生:用户名、密码、性别、年龄、选课列表[]、上课记录{课程1:【di,a,】...

    一、要求: 选课系统

    管理员:

    创建老师:姓名、性别、年龄、资产

    创建课程:课程名称、上课时间、课时费、关联老师

    使用pickle保存在文件

    学生:

    学生:用户名、密码、性别、年龄、选课列表[]、上课记录{课程1:【di,a,】}

    1、列举所有课程

    2、选择课程

    3、学生上课,

    4、ret = 课程.work() 获取课程的返回; 资产+=课时费

    二、代码思路

    1.类的关联:

    a、Teacher类:关联管理员,由哪个管理员创建

    b、 Course类:关联老师对象、管理员对象(注意:关联的是对象)

    2.文件的写入:

    a、管理员文件:写入的是管理员对象(封装管理员的用户名和密码)

    b、学生文件:写入的是学生对象(封装了学生已选课程列表,已经上过的课程字典:key:课程对象 value:上课信息列表,是列表格式)

    c、课程列表course_list、老师列表teacher_lis,都是列表格式。

    三、文件概述

    bin目录:存放administrator.py文件和students.py文件

    config目录:存放settings.py文件,即配置文件

    db目录:存放与数据相关的文件,包括课程列表course_list、老师列表teacher_list、学生文件夹、管理员文件夹

    lib目录:存放models.py文件,即存放公共的模块

    log目录:存放日志文件

    四、代码实现

    4.1配置文件settings.py

    import os

    BASE_DIR = os.path.dirname(os.path.dirname(__file__)) #配置文件的上级目录

    BASE_ADMIN_DIR = os.path.join(BASE_DIR, "db", "admin") #管理员目录

    BASE_STUDENTS_DIR = os.path.join(BASE_DIR, "db", "students") #学生目录

    TEACHER_DB_DIR = os.path.join(BASE_DIR, "db", "teacher_list") #老师列表目录

    COURSE_DB_DIR = os.path.join(BASE_DIR, "db", "course_list") #课程列表目录

    4.2公共模块modules.py

    #!/usr/bin/env python

    # -*- coding:utf-8 -*-

    import random

    import time

    import pickle

    from config import settings

    import os

    class Teacher:

    """

    封装老师的相关信息

    """

    def __init__(self, name, age, admin):

    self.name = name

    self.age = age

    self.__assets = 0

    self.create_time = time.strftime('%Y-%m-%d %H:%M:%S')

    self.create_admin = admin

    def gain(self, cost):

    """

    增加资产

    :param cost: 增加的数量

    :return:

    """

    self.__assets += cost

    def decrease(self, cost):

    """

    减少资产

    :param cost: 减少的数量

    :return:

    """

    self.__assets -= cost

    class Course:

    """

    课程相关信息

    """

    def __init__(self, course_name, cost, teacher_obj, admin):

    self.course_name = course_name

    self.cost = cost

    self.teacher = teacher_obj

    self.create_time = time.strftime('%Y-%m-%d %H:%M:%S')

    self.create_admin = admin

    def have_lesson(self):

    """

    课程上课,自动给相关联的任课老师增加课时费

    :return: 课程内容返回给上课者

    """

    self.teacher.gain(self.cost)

    content = random.randrange(10, 100)

    r = time.strftime('%Y-%m-%d %H:%M:%S')

    temp = "课程:%s;老师:%s;内容:%d;时间:%f" % (self.course_name, self.teacher, content, r)

    return temp

    def absence(self):

    """

    教学事故

    :return:

    """

    self.teacher.decrease(self.cost * 2)

    class Admin:

    def __init__(self):

    self.username = None

    self.password = None

    def login(self, user, pwd):

    """

    管理员登陆

    :param user:

    :param pwd:

    :return:

    """

    if self.username == user and self.password == pwd:

    return True

    else:

    return False

    def register(self, user, pwd):

    """

    管理员注册

    :param user:

    :param pwd:

    :return:

    """

    self.username = user

    self.password = pwd

    path = os.path.join(settings.BASE_ADMIN_DIR, self.username) #管理员目录

    pickle.dump(self, open(path, 'xb')) #将管理员对象写入文件

    class Student:

    """

    学生相关信息

    """

    def __init__(self):

    self.username = None

    self.password = None

    self.course_list = []

    self.study_dict = {}

    def select_course(self, course_obj):

    """

    学生选课

    :param course_obj:

    :return:

    """

    self.course_list.append(course_obj) #将课程对象添加进课程列表

    def study(self, course_obj):

    """

    学生上课

    :param course_obj:

    :return:

    """

    class_result = course_obj.have_lesson() #获取学生上课信息

    if course_obj in self.study_dict.keys(): #key:课程对象 value:上课信息列表,是列表格式

    self.study_dict[course_obj].append(class_result) #将上课信息列表添加进上一次的列表中

    else:

    self.study_dict[course_obj] = [class_result, ] #创建该课程对象的键值对

    def login(self, user, pwd):

    """

    学生登陆

    :param user:

    :param pwd:

    :return:

    """

    if self.username == user and self.password == pwd:

    return True

    else:

    return False

    def register(self, user, pwd):

    """

    学生注册

    :param user:

    :param pwd:

    :return:

    """

    self.username = user

    self.password = pwd

    path = os.path.join(settings.BASE_STUDENTS_DIR, self.username) #学生目录

    pickle.dump(self, open(path, 'xb')) #将学生对象写入学生目录

    4.3管理员文件administrator.py

    #!/usr/bin/env python

    # -*- coding:utf-8 -*-

    import os

    import sys

    sys.path.append(os.path.dirname(os.path.dirname(__file__)))

    import random

    import time

    import pickle

    import os

    from lib import models

    from config import settings

    from lib.models import *

    def create_course(admin_obj):

    teacher_list = pickle.load(open(settings.TEACHER_DB_DIR, 'rb')) #读取老师清单

    for num, item in enumerate(teacher_list, 1): #打印老师清单

    print(num, item.name,item.age,item.create_time,item.create_admin.username)

    course_list = [] #创建课程列表

    while True:

    name = input('请输入课程名称(q退出):')

    if name == 'q':

    break

    cost = input('请输入课时费:')

    num = input('选择老师(序号):')

    obj = models.Course(name, cost, teacher_list[int(num)-1], admin_obj) #创建课程对象

    course_list.append(obj)

    if os.path.exists(settings.COURSE_DB_DIR): #如果有课程列表

    exists_list = pickle.load(open(settings.COURSE_DB_DIR, 'rb'))

    course_list.extend(exists_list) #对原有课程列表进行扩展

    pickle.dump(course_list, open(settings.COURSE_DB_DIR, 'wb')) #将学生列表写入文件

    def create_teacher(admin_obj):

    teacher_list = [] #创建老师列表

    while True:

    teacher_name = input('请输入老师姓名(q表示退出)')

    if teacher_name == 'q':

    break

    teacher_age = input('请输入老师年龄')

    obj = models.Teacher(teacher_name, teacher_age, admin_obj) #创建老师对象

    teacher_list.append(obj)

    if os.path.exists(settings.TEACHER_DB_DIR):

    exists_list = pickle.load(open(settings.TEACHER_DB_DIR, 'rb'))

    teacher_list.extend(exists_list) #对原有老师列表进行扩展

    pickle.dump(teacher_list, open(settings.TEACHER_DB_DIR, 'wb')) #将老师列表写入文件

    def login(user,pwd):

    if os.path.exists(os.path.join(settings.BASE_ADMIN_DIR, user)):

    # 从文件中将管理员对象读取出来(里面封装了用户信息以及提供了登录方法)

    admin_obj = pickle.load(open(os.path.join(settings.BASE_ADMIN_DIR, user), 'rb'))

    if admin_obj.login(user, pwd):

    print('登录成功')

    while True:

    sel = input("1、创建老师;2、创建课程")

    if sel == '1':

    create_teacher(admin_obj)

    elif sel == '2':

    create_course(admin_obj)

    else:

    break

    else:

    return 1

    else:

    return 0

    def regiter(user,pwd):

    admin_obj = models.Admin()

    admin_obj.register(user, pwd)

    def main():

    inp = input("1、管理员登录;2、管理员注册;\n >>>")

    user = input('请输入用户名:')

    pwd = input('请输入密码:')

    if inp == '1':

    ret = login(user, pwd)

    if ret == 1:

    print('密码错误')

    elif ret == 0:

    print('用户不存在')

    elif inp == '2':

    regiter(user, pwd)

    if __name__ == "__main__":

    main()

    4.4学生文件students.py

    #!/usr/bin/env python

    # -*- coding:utf-8 -*-

    import os

    import sys

    sys.path.append(os.path.dirname(os.path.dirname(__file__)))

    import pickle

    from lib import models

    from config import settings

    from lib.models import Course

    from lib.models import Admin

    from lib.models import Teacher

    def course_info(student_obj): #打印已选课程信息

    for item in student_obj.course_list:

    print(item.course_name, item.teacher.name)

    def select_course(student_obj): #选择课程

    course_list = pickle.load(open(settings.COURSE_DB_DIR, 'rb')) #从文件读取课程

    for num, item in enumerate(course_list, 1):

    print(num, item.course_name, item.cost, item.teacher.name) #打印课程列表

    while True:

    num = input("请选择课程(q退出):")

    if num == "q":

    break;

    selected_course_obj = course_list[int(num)-1] #根据序号选择课程

    if selected_course_obj not in student_obj.course_list:

    student_obj.course_list.append(selected_course_obj) #添加进该学生的课程列表

    pickle.dump(student_obj, open(os.path.join(settings.BASE_STUDENTS_DIR, student_obj.username), 'wb'))#将学生对象dump进文件,封装学生选课列表,上课字典信息

    def login(user, pwd):

    if os.path.exists(os.path.join(settings.BASE_STUDENTS_DIR, user)):

    student_obj = pickle.load(open(os.path.join(settings.BASE_STUDENTS_DIR, user), 'rb'))

    if student_obj.login(user,pwd): #如果登陆成功

    while True:

    inp = input('1、选课;2、上课;3、查看课程信息')

    if inp == '1':

    select_course(student_obj)

    elif inp == '3':

    course_info(student_obj)

    else:

    break

    else:

    print('密码错误')

    else:

    print('用户不存在')

    def register(user, pwd):

    obj = models.Student()

    obj.register(user,pwd)

    def main():

    inp = input('1、登录;2、注册 \n >>>')

    user = input("用户名:")

    pwd = input("密码:")

    if inp == "1":

    login(user,pwd)

    elif inp == "2":

    register(user, pwd)

    if __name__ == "__main__":

    main()

    展开全文
  • C 程序设计 课程设计 题 目学生选课系统 专业班级 通信工程 1班 姓 名 学 号 指导教师 成 绩 摘 要 学生选课系统是一个教育单位不可缺少的重要系统组成部分,它 对于学校的决策者管理者管理查看课程来说都有至关重要,...
  • 包括原代码,原始数据库,把源程序目录从光盘上复制到硬盘上,取消文件夹及其子目录和文件的只读属性。 应用程序默认的普通用户和密码有:SY0206121/123456 SY0206122/123456
  • 代码评审检查表 NO 检查项 是否符合 1 变量生存周期合适 O 2 代码不仅包含单元测试用例而且测试均已通过 X 3 代码包含了恰当的注释和代码文档 O 4 代码符合代码格式规范 O 5 代码有健全的出错处理子程序 X 6 删除...
  • 学生选课系统

    2018-03-27 10:14:34
    学生选课系统代码,功能:增添删改。程序可运行!运用hibernate和struts技术!
  • cout操作系统/4 c++语言程序设计/5 数据库/6 "; cout语言程序设计/7 退出/e"; cin>>ch; } } void show2() { char ch; cout你是否继续选修其他的课程:"; cout是/Y 否/e"; cin>>ch; while(ch!='e') {...
  • 随着在校大学生人数的不断增加,教务系统的数据量也不断的上涨。针对学 生选课这一环节,过去的选课方法是采用人工的方法去管理文件档案,而这种管理方式存在许多的缺点:保密性差、效率低,另外时间一长,将会产生...
  • 详细的描述了学生选课系统的各个过程typedef struct student{ char name[MAX]; int num[MAX]; char sex[MAX]; int chinese; int mathematic; int english; int computer; struct student *next; } ...
  • C++程序设计_报告_及源代码___--学生选课系统
  • 选课程序代码

    2013-06-16 10:12:11
    //需求分析:写一个较为严谨的学生选课系统,实现学生可以选择多门选课课程,并将有效选课结果保存到数据库。学生需要登录后,才能选课。让学生可以在选课系统通过多种方式查询到要选的课程信息。 //选课规则:1、...
  • 基于javaEE学生选课系统

    千次阅读 2019-07-16 16:27:00
    摘 要本人结合学生选课管理的实际需要,完成了对学生选课管理系统的需求分析、功能模块划分、数据库模式分析等,...最后,给出了学生选课系统应用程序的设计过程,以及每个功能模块的核心代码。系统可以实现学生选课...
        

    摘 要

    本人结合学生选课管理的实际需要,完成了对学生选课管理系统的需求分析、功能模块划分、数据库模式分析等,并由此设计了后台数据库以及前台应用程序。

    文中首先对课题背景,数据库基础理论和SQL语言进行了简单的讨论;对学生选课管理系统进行了详细分析,划分了具体的功能模块;最后,给出了学生选课系统应用程序的设计过程,以及每个功能模块的核心代码。

    系统可以实现学生选课的一些重要功能,如:课程的添加、删除,信息查询、选课、生成课表,以及学生选课管理人员、用户个人信息的维护等。学生选课系统主要是为学生选课的管理提供全面、准确、科学的管理方法,方便快捷地处理选课的管理信息;避免了信息处理错误,提高了信息管理的工作效率,便捷的网上选课,大大地节省人力和物力的开支。

    1. 开发工具选择

    采用一个开放源代码的、基于Java的可扩展开发平台eclipse作为主要开发工具,以及一个大型关系数据库管理系统SQL Server作为数据管理工具

    2. 开发环境

    开发系统:Win7

    系统开发平台:eclipse5.0

    系统开发语言:javaEE

    18702784-70a86de0d15dca3e.png

    点击此处下载源码

    展开全文
  • 采用java技术构建的一个管理系统。整个开发过程首先对系统进行需求分析,得出系统的主要功能。...包括程序毕设程序代码一份,数据库一份,完美运行。配置环境里面有说明。如有不会运行源代码私信。
  • 用C++编写的学生选课管理系统 里面包含详细的报告和源代码
  • 学生选课系统C++.pdf

    2020-06-02 20:35:07
    一需求分析 选课在大学生活中是必不可少的 为了能让学生们更加便利的查看并选择各 种课程 自然就需要一个网络结构建立一个选课系统这样可以方便管理学生 和课程等内容 二程序的主要功能 1添加功能 添加课程以
  • 本“学生选课系统”是以SQLserver2000为平台,用VB应用程序来实现访问的。 二、系统介绍 这是一个学生选课系统,主要用来实现学生信息的添加、查询与修改,教师信息的添加、查询与修改、学生选课与选课信息的查询...
  • 学生选课管理系统

    2018-01-16 17:27:16
    <压缩包包含:程序代码一份、SQL备份一份、系统设计需求说明书一份> 基于EasyUI的学生选课管理系统,包含学院管理、课程管理、教师管理、学生管理、授课管理、选课管理(既对所有数据信息的增删改查),C# ,开发...
  • bin:start.py #启动目录conf:settings.py #配置文件,用于保存项目目录、课程、选课、以及用户等文件目录core: #主要代码块main.py #主程序目录authentication.py #登录认证student.py #学生类manager.py #管理...

    开发环境:

    Python3.7

    Windows

    各文件夹说明:

    bin:

    start.py    #启动目录

    conf:

    settings.py  #配置文件,用于保存项目目录、课程、选课、以及用户等文件目录

    core:       #主要代码块

    main.py    #主程序目录

    authentication.py   #登录认证

    student.py    #学生类

    manager.py     #管理员类

    course.py     #课程类和公共类

    db:#数据存储

    course    #课程数据,存储类型为pickle

    select_course   #学生已选课程信息,存储类型为pickle

    user      #用户表,明文存储

    bin 目录下:

    start.py

    conf 目录下:

    #!/usr/bin/python#-*- coding:utf-8 -*-#Author :wangliujun

    importos

    path= r'E:\老男孩Python\Class_27\Class_27\CourseSelectionSystem' #项目目录

    course_file= os.path.join(path, 'db\course') #存储课程

    user_file = os.path.join(path, r'db\user') #存储用户

    select_course = os.path.join(path, 'db\select_course') #已选课程

    settings.py

    core 目录下:

    1 #!/usr/bin/python

    2 #-*- coding:utf-8 -*-

    3 #Author :wangliujun

    4

    5 importsys6 from core importauthentication as au7 from core importmanager as ma8 from core importstudent as stu9

    10

    11 defmain():12 ret =au.login()13 ifret:14 whileTrue:15 usr, role = ret[0], ret[2]16 if role == 'Student':17 cls =getattr(stu, role)18 elif role == 'Manager':19 cls =getattr(ma, role)20 obj =cls.init(usr)21 print('-' * 40)22 for index, i in enumerate(cls.menu_list, 1): #遍历列表中菜单

    23 print(index, i[0])24 print('-' * 40)25 choice = int(input('请选择序号:').strip())26 func = obj.menu_list[choice - 1][1] #取出选择序号对应的方法名,字符串类型

    27 getattr(obj, func)() #执行对象中的方法

    28 #cls = getattr(sys.modules[__name__], role)

    29 #obj = cls.init(usr)

    30 #print('-' * 40)

    31 #for index, i in enumerate(cls.menu_list, 1): # 遍历列表中菜单

    32 #print(index, i[0])

    33 #print('-' * 40)

    34 #choice = int(input('请选择序号:').strip())

    35 #func = obj.menu_list[choice - 1][1] # 取出选择序号对应的方法名,字符串类型

    36 #getattr(obj, func)() # 执行对象中的方法

    main.py

    1 #!/usr/bin/python

    2 #-*- coding:utf-8 -*-

    3 #Author :wangliujun

    4

    5 importos6 importsys7 from conf importsettings as cof8

    9

    10 deflogin():11 input_usr = input('请输入用户名:').strip()12 input_pwd = input('请输入密码:').strip()13 with open(cof.user_file, mode='r', encoding='utf-8') as f:14 for line inf:15 ifline:16 usr, pwd, role = line.strip().split('|')17 if usr == input_usr and pwd ==input_pwd:18 print('%s登录成功,欢迎您%s' %(role, usr))19 returnusr, pwd, role20 else:21 print('账号密码错误')22 return None

    authentication.py

    1 #!/usr/bin/python

    2 #-*- coding:utf-8 -*-

    3 #Author :wangliujun

    4

    5 importpickle6 from conf importsettings as cof7 from core importcourse as co8

    9 class Course(): #课程类

    10 def __init__(self, name, price, cycle, teacher):11 self.name =name12 self.price =price13 self.cycle =cycle14 self.teacher =teacher15

    16

    17 class Public(object): #公共类

    18 def show_courses(self): #查看所有课程

    19 with open(cof.course_file, mode='rb') as f:20 print('序号:\t课程名\t课程价格\t课程周期\t老师')21 n = 1

    22 whileTrue:23 try:24 course =pickle.load(f)25 tplt = '{0:<3}{1:<15}{2:<10}{3:<10}{4:<10}'

    26 print(tplt.format(n, course.name, course.price, course.cycle, course.teacher))27 n += 1

    28 exceptEOFError:29 break

    30

    31 def exit(self): #退出

    32 exit('bye')

    course.py

    1 #!/usr/bin/python

    2 #-*- coding:utf-8 -*-

    3 #Author :wangliujun

    4

    5 importsys6 importpickle7 from core importstudent as stu8 from core importcourse as co9 from conf importsettings as cof10

    11

    12 class Manager(co.Public): #管理员

    13 menu_list =[14 ('创建课程', 'create_course'),15 ('查看所有课程', 'show_courses'),16 ('创建学生账号', 'create_stu'),17 ('查看所有学生', 'show_students'),18 ('查看所有选课情况', 'show_sit'),19 ('退出程序', 'exit')] #管理员菜单

    20

    21 def __init__(self, name):22 self.name =name23

    24 @classmethod25 definit(cls, username):26 return cls(username) #返回实例化对象

    27

    28 defcreate_course(self):29 name = input('课程名:')30 price = input('课程价格:')31 cycle = input('课程周期:')32 teacher = input('老师:')33 course = co.Course(name, price, cycle, teacher) #创建新的课程对象

    34 with open(cof.course_file, 'ab') as f:35 pickle.dump(course, f)36 print('课程创建成功') #创建课程

    37

    38 def create_stu(self): #创建学生账号

    39 user = input('请输入学生用户名:').strip()40 pwd = input('请输入密码:').strip()41 cof_pwd = input('确认密码:').strip()42 if pwd == cof_pwd and user andpwd:43 with open(cof.user_file, 'a', encoding='utf-8') as f:44 f.write('\n%s|%s|%s' % (user, pwd, 'Student'))45 print('用户%s创建成功' %user)46 stu_obj =stu.Student(user)47 with open(cof.select_course, mode='ab') as f:48 pickle.dump(stu_obj, f)49 else:50 print('帐号密码格式不符合')51

    52 def show_students(self): #查看所有学生

    53 with open(cof.select_course, mode='rb') as f:54 n = 1

    55 whileTrue:56 try:57 obj =pickle.load(f)58 print('%s %s' %(n, obj.name))59 n += 1

    60 exceptEOFError:61 print('-' * 50)62 break

    63

    64 def show_sit(self): #查看所有选课情况

    65 with open(cof.select_course, 'rb') as f:66 n = 1

    67 whileTrue:68 try:69 stu_obj =pickle.load(f)70 print('%s 用户:%s\t' % (n, stu_obj.name), end='所选课程:')71 for i in stu_obj.course_list: print(i.name, end=' ')72 n += 1

    73 print()74 exceptEOFError:75 break

    manager.py

    1 #!/usr/bin/python

    2 #-*- coding:utf-8 -*-

    3 #Author :wangliujun

    4 importpickle5 importos6 from conf importsettings as cof7 from core importcourse as co8

    9 class Student(co.Public): #学生类

    10 #存储学生菜单

    11 menu_list =[12 ('查看可选课程', 'opt_course'),13 ('选择课程', 'select_course'),14 ('查看所选课程', 'show_selected_course'),15 ('退出', 'exit')16 ]17

    18 def __init__(self, name):19 self.name =name20 self.course_list =[]21

    22 @classmethod23 definit(cls,username):24 with open(cof.select_course, mode='rb') as f:25 whileTrue:26 try:27 stu_obj =pickle.load(f)28 if stu_obj.name ==username:29 returnstu_obj30 exceptEOFError:31 break

    32

    33 def opt_course(self): #查看可选课程

    34 co.Public.show_courses(self)35

    36 def select_course(self): #选择课程

    37 co.Public.show_courses(self)38 choice = int(input('请输入要选择的序号:').strip())39 n = 1

    40 with open(cof.course_file, 'rb') as f:41 whileTrue:42 try:43 obj =pickle.load(f)44 if choice ==n:45 self.course_list.append(obj)46 print('用户%s,添加课程%s成功' %(self.name, obj.name))47 break

    48 n += 1

    49 exceptEOFError:50 print('没有要选的课程')51 tmp = os.path.dirname(cof.select_course) + '/tmp'

    52 with open(cof.select_course, mode='rb') as f1, open(tmp, mode='wb') as f2:53 #with open(select_course, mode='rb'):

    54 whileTrue:55 try:56 obj =pickle.load(f1)57 if obj.name ==self.name:58 obj =self59 pickle.dump(obj, f2)60 exceptEOFError:61 break

    62 os.remove(cof.select_course)63 os.rename(tmp, cof.select_course)64

    65 def show_selected_course(self): #查看已选课程

    66 with open(cof.select_course, 'rb') as f:67 whileTrue:68 try:69 obj =pickle.load(f)70 if self.name ==obj.name:71 for i inobj.course_list:72 print(i.name)73 exceptEOFError:74 break

    student.py

    db 目录下:

    存储格式: 用户名|密码|角色 例: alex|alex3714|Manager

    展开全文
  • 针对学生选课这一环节,本系统从学生网上自主选课以及教师的课程发布教务处审核教学计划教研室上传教学计划四个大方面进行了设计,基本实现了学生的在线信息查询、选课功能以及教师对课程信息发布的管理等功能。...
  • 采用java技术构建的一个管理系统。整个开发过程首先对系统进行需求分析,得出系统的主要功能。... 包括程序毕设程序代码一份,数据库一份,完美运行。配置环境里面有说明。如有不会运行源代码或定制私信。
  • 学生选课信息管理系统管理端 面向对象程序设计——课程设计(c++) 必须使用vs,因为dev c++会报错。 程序详情见下面代码块或访问https://download.csdn.net/download/zhanjuex/12733258 一、项目名称:学生选课信息...
  • 学生选课系统是我们很常见的一种web应用程序,大家可以通过web登陆校园网,并且访问后台数据库,修改个人信息等方式进行选课,其实现原理大家可能并不是特别了解,下面这段代码则简单的将这个过程进行了一次演示,这...
  • vb实训学生选课系统

    2011-11-25 17:09:29
    这是我们课程设计时用vb做的学生选课系统,里面含有详细的课程设计文档,源代码程序中所用到的数据库表,希望能够帮到大家!
  • 学生选课系统.rar

    2020-06-30 09:48:19
    JSP全名为Java Server Pages,其根本是一个简化的Servlet设计,他实现了Html语法中的java扩张...Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户端。

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 131
精华内容 52
关键字:

学生选课系统程序代码