2021-09-16

选课管理系统

1.制作课程管理信息系统,是对学生信息的录入、删除、修改、查询等一系列操作,而系统先输出一段文字,操作者根据系统的提示来操作系统,调用指定的函数来实现所需要的操作,老师登录对学生信息进行录入、删除、修改、查询等一系列操作,学生登录是对个人的信息查询、修改等一系列操作。
老师的主要代码实现:student_sys类中:
add_student() #对学生信息的录入

   def add_student(self):
        student_name = input("输入学生姓名(账号):")
        student_number = input("输入学生学号(密码):")
        student_sex = input("输入学生性别:")
        student_age = input("输入学生年龄:")
        student_i=int(input("输入选了几门课:"))
        for i in range(student_i):
            student_course = input("输入学生的选课:")
            student_sourse = input("输入课程的分数:")
            acourse={"选课":student_course,"分数":student_sourse}
            acourse_path="C:\\Users\\雷\\Desktop\\课设\\选课\\"+student_name
            file_acourse=open(acourse_path,"a")
            file_acourse.write(str(acourse))
            file_acourse.write('\n')
            file_acourse.close()

        user_student={"账号":student_name,"密码":student_number}
        file=open("C:\\Users\\雷\Desktop\\课设\\账号信息\\"+student_name,"w")
        file.write(str(user_student))
        file.close()

        astudent={'姓名': student_name, "学号": student_number, "性别": student_sex, "年龄": student_age}
        astudent_path="C:\\Users\\雷\Desktop\\课设\\学生信息\\"+student_name
        file_astudent=open(astudent_path,"w")
        file_astudent.write(str(astudent))
        file_astudent.close()

del_student() #对学生信息的删除

       del_name=input("删除该姓名学生的信息:")
        student_list=os.listdir("C:\\Users\\雷\Desktop\\课设\\学生信息")
        for j in student_list:
            if j == del_name:
                os.remove("C:\\Users\\雷\Desktop\\课设\\学生信息\\"+del_name)
                os.remove("C:\\Users\\雷\\Desktop\\课设\\选课\\"+del_name)
                print("删除成功")
                break
        else:print("没有这个人")

find_student() #查询学生信息

        find_name=input("查询该姓名学生的信息:")
        student_list = os.listdir("C:\\Users\\雷\Desktop\\课设\\学生信息")
        for j in student_list:
            if j == find_name:
               file=open("C:\\Users\\雷\Desktop\\课设\\学生信息\\"+find_name)
               for line in file:
                   print(line)
               file.close()
               file2 = open("C:\\Users\\雷\\Desktop\\课设\\选课\\" + find_name)
               for line2 in file2:
                   print(line2,end="")
               file2.close()

xiugai_student() #修改学生信息

    def xiugai_student(self):
        xiugai_name=input("修改该姓名学生的信息:")
        student_list = os.listdir("C:\\Users\\雷\Desktop\\课设\\学生信息")
        for i in student_list:
            if i == xiugai_name:
                os.remove("C:\\Users\\雷\Desktop\\课设\\学生信息\\" + xiugai_name)
                os.remove("C:\\Users\\雷\\Desktop\\课设\\选课\\"+xiugai_name)
                student_name=input("学生姓名修改为:")
                student_number=input("学生学号修改为:")
                student_sex=input("学生性别修改为:")
                student_age=input("学生年龄修改为:")
                student_i=int(input("修改成的科目数为:"))
                for i in range(student_i):
                    student_course = input("修改学生的课程为:")
                    student_sourse = input("修改课程的分数为:")
                    acourse = {"选课": student_course, "分数": student_sourse}
                    acourse_path = "C:\\Users\\雷\\Desktop\\课设\\选课\\" + student_name
                    file_acourse = open(acourse_path, "a")
                    file_acourse.write(str(acourse))
                    file_acourse.write('\n')
                    file_acourse.close()

                student ={'姓名': student_name, "学号": student_number, "性别": student_sex, "年龄": student_age}
                student_path = "C:\\Users\\雷\Desktop\\课设\\学生信息\\" + student_name
                file_student = open(student_path, "w")
                file_student.write(str(student))
                file_student.close()
                print("修改完成")
                break
        else:print("没有这个人")

display_student() #显示所有学生的信息

        student_list = os.listdir("C:\\Users\\雷\Desktop\\课设\\学生信息")
        for j in student_list:
                file = open("C:\\Users\\雷\Desktop\\课设\\学生信息\\" + j)
                for line in file:
                    print(line)
                file.close()
                file2 = open("C:\\Users\\雷\\Desktop\\课设\\选课\\" + j)
                for line2 in file2:
                        print(line2,end="")
                file2.close()

av_student() #计算指定学生所有课程分数的平均值

    def av_student(self):
        student_list = os.listdir("C:\\Users\\雷\\Desktop\\课设\\选课")
        j,g=0,0
        student_av=input("输入求平均分数人的姓名:")
        file_name="C:\\Users\\雷\\Desktop\\课设\\选课\\"+student_av
        for i in student_list:
            if i==student_av:
                 file_user=open(file_name)
                 for line in file_user.readlines():
                    line=eval(line)
                    line['分数']=int(line['分数'])
                    g=g+line['分数']
                    j=j+1
                 file_user.close()
        print("输出所有学生课程分数的平均值:", g/j)

学生的主要代码实现:add类中
astudent(self,xiugai_name) #对个人信息的修改

    def astudent(self,xiugai_name):

        student_list = os.listdir("C:\\Users\\雷\Desktop\\课设\\学生信息")
        for i in student_list:
            if i == xiugai_name:
                os.remove("C:\\Users\\雷\Desktop\\课设\\学生信息\\" + xiugai_name)
                student_name=input("姓名修改为:")
                student_number=input("学号修改为:")
                student_sex=input("性别修改为:")
                student_age=input("年龄修改为:")
                student ={'姓名': student_name, "学号": student_number, "性别": student_sex, "年龄": student_age}
                student_path = "C:\\Users\\雷\Desktop\\课设\\学生信息\\" + student_name
                file_student = open(student_path, "w")
                file_student.write(str(student))
                file_student.close()
                os.rename("C:\\Users\\雷\Desktop\\课设\\选课\\" + xiugai_name,
                          "C:\\Users\\雷\Desktop\\课设\\选课\\" + student_name)
                print("修改完成")
                break

find_student(self,find_name) #对个人信息的查询

    def find_student(self,find_name):
        student_list = os.listdir("C:\\Users\\雷\Desktop\\课设\\学生信息")
        for j in student_list:
            if j == find_name:
               file=open("C:\\Users\\雷\Desktop\\课设\\学生信息\\"+find_name)
               for line in file:
                   print(line)
               file.close()
               file2 = open("C:\\Users\\雷\\Desktop\\课设\\选课\\" + find_name)
               for line2 in file2:
                   print(line2,end="")
               file2.close()

av_student(self,student_av) #对查询自己所有课程的平均分数

    def av_student(self,student_av):
        student_list = os.listdir("C:\\Users\\雷\\Desktop\\课设\\选课")
        j,g=0,0
        file_name="C:\\Users\\雷\\Desktop\\课设\\选课\\"+student_av
        for i in student_list:
            if i==student_av:
                 file_user=open(file_name)
                 for line in file_user.readlines():
                    line=eval(line)
                    line['分数']=int(line['分数'])
                    g=g+line['分数']
                    j=j+1
                 file_user.close()
        print("输出所有学生选课分数的平均值:", g/j)

main() #进行功能的实现

def main():
    lu=部件.add()
    co = student_sys()
    j=input("是否需要注册教师信息Y/N:")
    if j=="Y":
        lu.add_teacher()
    print("进行账号登录")
    print("1-教师登录")
    print("2-学生登录")
    print("*" * 30)
    while True:
        user_type_select = input("请选择登录用户类型:")
        while user_type_select == "1":
            while True:
                print("*****教师登录*****")
                teacher_name = input("请输入账号名:")
                teacher_number = input("请输入密码:")
                file_root = open("C:\\Users\\雷\Desktop\\课设\\账号信息\\" + teacher_name)
                root = eval(file_root.read())
                if teacher_name == root["登录账号"] and teacher_number == root["密码"]:
                    print("登录成功")
                    file_root.close()
                    break
                else:
                    print("登录失败")

            co.show_menu()
            while True:
                n = int(input("请输入您要进行的操作编号:"))
                if n == 1:
                    co.add_student()
                elif n == 2:
                    co.del_student()
                elif n == 3:
                    co.find_student()
                elif n == 4:
                    co.xiugai_student()
                elif n == 5:
                    co.av_student()
                elif n == 6:
                    co.display_student()
                elif n == 0:
                    co.exit_student()
                else:
                    print("退出登录")
                    break
            break

        if user_type_select == "2":
            while True:
                print("*****学生登录*****")
                student_name = input("请输入账号名:")
                student_number = input("请输入密码:")
                file_root1 = open("C:\\Users\\雷\Desktop\\课设\\学生信息\\" + student_name)
                root1 = eval(file_root1.read())
                if student_name == root1["姓名"] and student_number == root1["学号"]:
                    print("登录成功")
                    file_root1.close()
                    break
                else:
                    print("登录失败")
            print("*"*30)
            print("1.修改个人信息:")
            print("2.查找个人信息:")
            print("3.显示个人课程分数的平均值:")
            print("0.退出选课系统:")
            print("其他.退出登录")
            while True:
                i=int(input("输入想操作的课程编号:"))
                if i==1:
                    lu.astudent(student_name)
                    print("请重新登录")
                    break
                elif i==2:
                    lu.find_student(student_name)
                elif i==3:
                    lu.av_student(student_name)
                elif i==0:
                    co.exit_student()
                else:
                    print("退出登录")
                    break
            break

def show_menu(self):对你进行指导操作
    def show_menu(self):
        print("*" * 30)
        print("欢迎使用课程管理系统!")
        print("1.添加学生信息(账号密码):")
        print("2.删除学生信息:")
        print("3.查找学生信息:")
        print("4.修改学生信息:")
        print("5.显示学生课程分数的平均值")
        print("6.显示课程管理系统")
        print("0.退出课程管理系统")
        print("其他.退出登录")

感谢观看,如果对你有帮助请点个赞

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哓_唁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值