python---面向对象程序设计之图书管理系统

class Student:
    StudentDataBase=dict() #学生数据库
    def __init__(self,student_name='',student_id=0):
        """初始化"""
        self.setstudent_name(student_name)
        self.setstudent_id(student_id)

    def setstudent_name(self,student_name):
        """设置学生姓名"""
        if not isinstance(student_name,str):
            print("student_name must be str.")
            return
        self.student_name=student_name

    def setstudent_id(self,student_id):
        """设置学生学号"""
        if not isinstance(student_id,int):
            print("student_id must be int.")
            return
        self.student_id=student_id

    def AddStudent(self,student_id=0,student_name=''):
        """添加学生,该生刚入校,把他注册进数据库"""
        student_id=int(input("请输入学号:"))
        student_name=input("请输入姓名:")
        self.StudentDataBase.update({student_id:student_name})

    def DeleteStudent(self,studet_id=0,student_name=''):
        """删除学生,就是该生毕业啦,把他从数据库中剔除"""
        student_id=int(input("请输入学号:"))
        student_name=input("请输入姓名:")
        self.StudentDataBase.pop(student_id)

    def Search(self):
        """展示学生数据库中的学生"""
        print("(学号,姓名)")
        for item in self.StudentDataBase.items():
            print(item,end=' ') 
        print("")

class Book:
    BookDataBase=dict() #书本数据库
    def __init__(self,book_id=0,book_name=''):
        """初始化"""
        self.setbook_id(book_id)
        self.setbook_name(book_name)

    def setbook_id(self,book_id):
        """设置书本编号"""
        if not isinstance(book_id,int):
            print("book_id must be integer.")
            return 
        self.book_id=book_id

    def setbook_name(self,book_name):
        """设置书本名称"""
        if not isinstance(book_name,str):
            print("book_name must be string.")
            return 
        self.book_name=book_name
    def Addbook(self,book_id=0,book_name=' '):
        book_id=int(input("请输入书本编号:"))
        book_name=input("请输入书本名字:")
        self.BookDataBase.update({book_id:book_name})

    def Deletebook(self,book_id=0,book_name=''):
        book_id=int(input("请输入书本编号:"))
        book_name=input("请输入书本名字:")
        self.BookDataBase.pop(book_id)
    
    def Search(self):
        """展示学生数据库中的学生"""
        print("(书本编号,书名)")
        for item in self.BookDataBase.items():
            print(item,end=' ')
        print("")
        
class StudentBorrowBook(Book,Student):
    BorrowDataBase={}#借阅关系数据库

    def __init__(self):
        pass
    def Borrow(self,student_id,student_name,book_id,book_name,time=1):
        self.BorrowDataBase.update({student_id:(student_name,book_id,book_name,time)})

    def Return(self,student_id,student_name,book_id,book_name):
        '''还书'''
        self.BorrowDataBase.pop(student_id)

    def Search(self):
        print("(借阅者学号,(借阅者姓名,借阅图书编号,借阅图书,借阅天数))")
        for item in self.BorrowDataBase.items():
            print(item,' ')
        print('')
def StudentManger():#已经实现
    print("------欢迎来到学生信息管理系统")
    print("1.------------------添加学生")
    print("2.------------------删除学生")
    print("3.---------展示学生数据库信息")
    print("4.------------------返回主页")
    choice=input("请选择对应的功能:")
    choice=int(choice)
    student=Student()#创建一个学生类实例化对象
    '''choice=1 ====>添加学生
       choice=2 ====>删除学生
       choice=3 ====>展示学生信息库
       chocie=4=====>主页
    '''
    if choice==1:
        student.AddStudent()
        print("成功添加!")
        StudentManger()

    elif choice==2:
        student.DeleteStudent()
        print("成功删除!")
        StudentManger()
        
    elif choice==3:
        student.Search()
        StudentManger()

    elif choice==4:
        Meau()
        
    else:
        print("你选择的功能有误!")
    
def BookManger():#已经实现
    print("------欢迎来到图书信息管理系统")
    print("1.------------------添加图书")
    print("2.------------------删除图书")
    print("3.---------展示图书数据库信息")
    print("4.------------------返回主页")
    choice=input("请选择对应的功能:")
    choice=int(choice)
    book=Book()#创建一个图书类实例化对象
    '''choice=1 ====>添加图书
       choice=2 ====>删除图书
       choice=3 ====>展示图书信息库
       chocie=4=====>主页
    '''
    if choice==1:
        book.Addbook()
        print("成功添加!")
        BookManger()
        
    elif choice==2:
        book.Deletebook()
        print("成功删除!")
        BookManger()
        
    elif choice==3:
        book.Search()
        print('')
        BookManger()
        
    elif choice==4:
        Meau()

    else:
        print("你选择的功能有误!")
    

def BorrowManger():#已经实现
    print("------欢迎来到借阅信息管理系统")
    print("1.------------------借阅图书")
    print("2.------------------归还图书")
    print("3.------展示借阅关系数据库信息")
    print("4.------------------返回主页")
    choice=int(input("请选择对应的功能:"))
    student_borrow=StudentBorrowBook()#创建一个借阅关系类实例化对象
    '''choice=1 ====>借阅图书
       choice=2 ====>归还图书
       choice=3 ====>展示借阅关系信息库
       chocie=4=====>主页
    '''
    if choice==1:
        ''' def Borrow(self,student_id,student_name,book_id,book_name,time=1):'''
        student_id=int(input("请输入学号:"))
        student_name=input("请输入姓名:")
        book_id=int(input("请输入书本编号:"))
        book_name=input("请输入书本名字:")
        time=int(input("请输入借阅天数:"))
        student_borrow.Borrow(student_id,student_name,book_id,book_name,time)
        print("成功借书!")
        BorrowManger()

    elif choice==2:
        '''def Return(self,student_id,student_name,book_id,book_name):'''
        student_id=int(input("请输入学号:"))
        student_name=input("请输入姓名:")
        book_id=int(input("请输入书本编号:"))
        book_name=input("请输入书本名字:")
        student_borrow.Return(student_id,student_name,book_id,book_name)
        print("成功还书!")
        BorrowManger()

    elif choice==3:
        student_borrow.Search()       
        print('')
        BorrowManger()

    elif choice==4:
        Meau()

    else:
        print("你选择的功能有误!")
    

def Meau():
    '''菜单'''
    print("--------欢迎来到图书馆借阅系统--------")
    print("1.-----------------------学生信息管理")
    print("2.-----------------------图书信息管理")
    print("3.-----------------------借阅信息管理")
    print("0.---------------------------退出系统")
    while True:
        option=input("请输入对应的功能按钮:")
        option=int(option)
        if option==0:
            print("正在退出********")
            exit(0)
        elif option==1:      #已经实现
            StudentManger()
        elif option==2:      #已经实现
            BookManger()
        elif option==3:      #已经实现
            BorrowManger()
        else:
            print("你的选择不正确!")
                   
if __name__ == '__main__':
    Meau()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值