图书馆管理系统源代码

import os

userlogin = False
loginname = ‘’

#检查有C盘下是否有library_sys文件夹(用于存放系统数据) 没有则创建
def creat():
admin = {‘admin’: ‘admin’, ‘password’: ‘123456’}
if not os.path.exists(r’C:\library_sys’):
os.mkdir(r’C:\library_sys’)
with open(r’C:\library_sys\user.txt’,‘a’) as wstream:#创建用于储存用户信息的txt文件
pass
with open(r’C:\library_sys\books.txt’,‘a’) as wstream:#创建用于储存书籍信息的txt文件
pass
with open(r’C:\library_sys\borrow.txt’,‘a’) as wstream:#创建用于储存借阅书籍信息的txt文件
pass
with open(r’C:\library_sys\admin.txt’,‘a’) as wstream:#创建用于储存管理员信息的txt文件
wstream.write(str(admin)+’\n’)
else:
pass

目录

def menu():
creat()
while True:
print(’-’ * 20 + ‘请选择所使用的功能’ + ‘-’ * 20)
print(’ ’ * 20 + ‘1.登录账号’ + ’ ’ * 20)
print(’ ’ * 20 + ‘2.注册账号’ + ’ ’ * 20)
print(’ ’ * 20 + ‘3.查找书籍’ + ’ ’ * 20)
print(’ ’ * 20 + ‘4.查看全部书籍’ + ’ ’ * 20)
print(’ ’ * 20 + ‘5.还书’ + ’ ’ * 20)
print(’ ’ * 20 + ‘6.管理员系统’ + ’ ’ * 20)
print(’ ’ * 20 + ‘7.退出’ + ’ ’ * 20)
chooice = input(’ ’ * 20 + ‘请选择所需的功能:’)
if chooice == ‘1’:
login()
elif chooice == ‘2’:
register()
elif chooice == ‘3’:
query()
elif chooice == ‘4’:
show_book()
elif chooice == ‘5’:
rem()
elif chooice == ‘6’:
ad_sys()
elif chooice == ‘7’:
break
else:
print(‘选择错误请从新选择’)

1.登录

def login():
username = input(‘请输入用户户名:’)
passworld = input(‘请输入密码:’)
with open(r’C:\library_sys\user.txt’,encoding=‘utf-8’) as rstream:
list_user = rstream.readlines()
for s in list_user:
i = eval(s)
if i[‘username’] == username and i[‘passworld’] == passworld:
global userlogin,loginname
userlogin = True
loginname = username
print(‘登录成功!’)
break
else:
chioce = input(‘账号密码错误!,请问是(1)否(0)继续登录’)

2.注册账号

def register():
while True:
username = input(‘请输入用户户名:’)
passworld = input(‘请输入密码(六位数以上):’)
confirm_passworld = input(‘请确认您的密码(六位数以上):’)
if passworld == confirm_passworld :
if len(passworld)>=6:
user_information = {‘username’: username, ‘passworld’: passworld}
with open(r’C:\library_sys\user.txt’, ‘a’,encoding=‘utf-8’) as wstream:
if os.path.getsize(r’C:\library_sys\user.txt’) != 0:
wstream.write(’\n’)
wstream.write(str(user_information))
print(’{}注册成功’.format(username))
break
else:
l = input(‘密码不足六位!请问是继续注册(是则输入y,退出则随机输入:’)
if l.lower() == ‘y’:
pass
else:
break
else:
chioce = input(‘两个密码不一致请问是继续注册(是则输入y,退出则随机输入:’)
if chioce.lower() == ‘y’:
pass
else:
break

#3.查找书籍
def query():
p=’’
print(’-’*10+‘查询选项’+’-’*10)
print(’-’*10+‘1.书名’)
print(’-’*10+‘2.作者名’)
print(’-’*10+‘3.序列号’)
print(’-’ * 10 + ‘4.退出’)
choice=input(’-’*10+‘请输入查询方法:’)
if choice==‘1’:
name=input(’-’*10+‘请输入书名:’)
with open(r’C:\library_sys\books.txt’,‘r’,encoding=‘utf-8’) as files:
b=files.readlines()
for file in b:
book=eval(file)
if book[‘bookname’]name:
print(’-’*10+‘找到了’+’\n’+’-’*10+‘书名:{} 作者:{} 序列号:{} 数量:{}’.format(book[‘bookname’],book[‘author’],book[‘serial’],book[‘number’]))
c=input(‘请问是否需要借阅(y/n)’)
if c.lower()
‘y’:
if userlogin:
for i in b:
a=eval(i)
if a[‘bookname’]==name:
a[‘number’]-=1
p+=str(a)
else:
p+=str(a)
with open(r’C:\library_sys\books.txt’,‘w’,encoding=‘utf-8’) as files:
files.write§
print(‘您已经成功借阅{}’.format(name))
for i in b:
z=eval(i)
if z[‘bookname’]name:
z[‘borrowname’]=loginname
z[‘number’]=1
with open(r’c:\library_sys\borrow.txt’,‘a’) as bstream:
bstream.write(str(z)+’\n’)
else:
print(‘你还未登录请先登录’)
login()
elif choice
’2’:
name=input(’-’*10+‘请输入作者名:’)
with open(r’C:\library_sys\books.txt’,‘r’,encoding=‘utf-8’) as files:
b=files.readlines()
for file in b:
book=eval(file)
if book[‘author’]name:
print(’-’*10+‘找到了:’+‘书名:{} 作者:{} 序列号:{} 数量:{}’.format(book[‘bookname’],book[‘author’],book[‘serial’],book[‘number’]))
c=input(‘请问是否需要借阅(y/n)’)
if c.lower()
‘y’:
if userlogin:
with open(r’C:\library_sys\books.txt’,‘r’,encoding=‘utf-8’) as files:
b = files.readlines()
for i in b:
a=eval(i)
if a[‘author’]==name:
a[‘number’]-=1
p+=str(a)
else:
p+=str(a)
with open(r’C:\library_sys\books.txt’,‘w’,encoding=‘utf-8’) as files:
files.write§
print(‘您已经成功借阅{}’.format(name))
for i in b:
z=eval(i)
if z[‘author’]name:
z[‘borrowname’]=loginname
z[‘number’]=1
with open(r’c:\library_sys\borrow.txt’,‘a’) as bstream:
bstream.write(str(z)+’\n’)
else:
print(‘你还未登录请先登录’)
login()
elif choice
’3’:
name=input(’-’*10+‘请输入书的序列号:’)
with open(r’C:\library_sys\books.txt’,‘r’,encoding=‘utf-8’) as files:
b=files.readlines()
for file in b:
book=eval(file)
if book[‘serial’]name:
print(’-’*10+‘找到了:’+‘书名:{} 作者:{} 序列号:{} 数量:{}’.format(book[‘bookname’],book[‘author’],book[‘serial’],book[‘number’]))
c=input(‘请问是否需要借阅(y/n)’)
if c.lower()
‘y’:
if book[‘number’]>0:
if userlogin:
with open(r’C:\library_sys\books.txt’,encoding=‘utf-8’) as files:
b = files.readlines()
for i in b:
a=eval(i)
if a[‘serial’]==name:
a[‘number’]-=1
p+=str(a)+’\n’
else:
p+=str(a)+’\n’
with open(r’C:\library_sys\books.txt’,‘w’,encoding=‘utf-8’) as files:
files.write§
print(‘您已经成功借阅{}’.format(name))
for i in b:
z=eval(i)
if z[‘serial’]==name:
z[‘borrowname’]=loginname
z[‘number’]=1
with open(r’c:\library_sys\borrow.txt’,‘a’,encoding=‘utf-8’) as bstream:
bstream.write(str(z)+’\n’)
else:
print(‘你还未登录请先登录’)
login()
else:
print(’{}数量不足不能够借阅!!!’.format(book[‘bookname’]))

#4.查看全部书籍
def show_book():
with open(r’C:\library_sys\books.txt’,‘r’,encoding=‘utf-8’) as rtream:
books=rtream.readlines()
print(‘本图书馆所有的书为:’)
for book in books:
i=eval(book)
print(‘书名:{} 作者:{} 序列号:{} 数量:{}’.format(i[‘bookname’], i[‘author’], i[‘serial’],i[‘number’]))

#5.还书
def rem():
p=’’
if userlogin:
bookname=input(‘请输入需要还的书籍名称:’)
with open(r’C:\library_sys\borrow.txt’) as bstream:
books=bstream.readlines()
for i in books:
book=eval(i)
if book[‘bookname’]==bookname:
pass
else:
p+=str(i)
else:
with open(r’C:\library_sys\borrow.txt’,‘w’) as wstream:
wstream.write§
print(’{}还书{}成功’.format(loginname,bookname))
else:
print(‘您还没有登录请先登录’)
login()

#6.管理员系统
def ad_sys():
admin=input(‘请输入管理员账号:’)
ad_pass=input(‘请输入管理员密码:’)
if admin==‘admin’ and ad_pass==‘123456’:
while True:
bookname=input(‘请输入您所需要添加的书本名称:’)
author = input(‘请输入您所需要添加的书本作者:’)
serial = input(‘请输入您所需要添加的书本序列号:’)
number = int(input(‘请输入您所需要添加的书本数量:’))
book={‘bookname’:bookname,
‘author’:author,
‘serial’:serial,
‘number’:number}
with open(r’C:\library_sys\books.txt’,‘a’,encoding=‘utf-8’) as astream:
astream.write(str(book)+’\n’)
choice=input(‘请问是否要继续添加图书(y/n):’)
if choice.lower()==‘y’:
pass
else:
break

if name == ‘main’:
menu()

#照着拷贝

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值