共享单车管理系统(新手摸索)

day1
pt1 主要页面编写进行中

import tkinter
from tkinter import *
from denglu import db1
import pymysql
import time
#来自 teamlycjzyhjh
db = pymysql.connect(host='localhost',user='root',password='123',database='zhihuidanche')
cusor = db.cursor()
#创建初始页面
from tkinter import messagebox

window_01=Tk()
window_01.geometry('600x600+500+100')
window_01.title('智慧单车')
title01 = Label(window_01,text='您好,欢迎来到智慧单车')
title01.pack()

#创建一个按钮
button01=Button(window_01)
button01['text'] = '感谢您的支持'
button01.pack()
def dednglu01(e):
    messagebox.showinfo('messege','WELCOME')
button01.bind('<Button-1>',dednglu01)

#布局整个页面的按钮以及用处
userids = StringVar()
password = StringVar()
pagezhu = Frame(window_01)
pagezhu.pack()
Label(pagezhu).grid(row=4,column=4)
Label(pagezhu,text='账户(ID)').grid(row=5,column=6)
Entry(pagezhu,textvariable=userids).grid(row=5,column=7)
Label(pagezhu,text='密码(PW)').grid(row=5,column=9)
Entry(pagezhu,textvariable=password).grid(row=5,column=10)
Label(pagezhu).grid(row=6,column=6)


#定义一个登陆的程序以及页面,也可以在后台收到提示
def loginsucc():
    userid = userids.get()
    passwords = password.get()
    mesage=db1.check_login(userid,passwords)
    print(mesage)
    if mesage == 1:
        print('该用户登陆成功')
        def zuche():
            bikeid = Variable()
            windowzuche = Tk()
            window_03.geometry('600x600+500+100')
            pagezhuche = Frame(window_03)
            pagezhuche.pack()
            Label(pagezhuche).grid(row=4, column=4)
            Label(pagezhuche, text='请输入你所需要的车辆编号').grid(row=5, column=6)
            Entry(pagezhuche, textvariable=bikeid).grid(row=5, column=7)
            buttonzuche = Button(window_03)
            buttonzuche['text'] = '确定租车'
            buttonzuche.pack()
            def zuche01(e):
                bid = bikeid.get()#接收我们输入的bikeid到该方法中
                sql = 'update bike set bikecondition = 1 where bikeid == bid'
                cusor.execute(sql)#更改状态,0代表未使用,现在改为1.则该车可在可使用查询车的界面被删除

                #更改被租用的车的信息,更新
            buttonzuche.bind('<Button-1>', zuche01)
        window_03 = Tk()
        window_03.geometry('600x600+500+100')
        window_03.title('欢迎您的使用')
        menu1 = Menu(window_03, tearoff=0)
        menu1.add_command(label="租车",command=zuche)
        menu1.add_separator()
        menu1.add_command(label="还车")
        menu1.add_separator()
        menu1.add_command(label="投诉与反馈")
        menu1.add_separator()
        menu1.add_command(label="关于我们")
        mebubar = Menu(window_03)
        mebubar.add_command(label="你好")
        mebubar.add_cascade(label="功能", menu=menu1)  # 原理:先在主菜单中添加一个菜单,与之前创建的菜单进行绑定。
        mebubar.add_command(label="退出", command=window_03.quit)
        window_03.config(menu=mebubar)
        window_03.mainloop()
    else:
        messagebox.showinfo('请检查账号和密码','用户不存在或者账号密码错误')




#定义一个找回密码的函数,用于执行操作
def findpassword():

    window_02 = Tk()
    window_02.geometry('600x600+500+100')
    window_02.title('找回密码')
    title01 = Label(window_02, text='您好,请输入其他验证信息')
    title01.pack()
    username = StringVar()
    phonenumber = StringVar()
    pagezhaohui = Frame(window_02)
    pagezhaohui.pack()
    Label(pagezhaohui).grid(row=4, column=4)
    Label(pagezhaohui, text='账户(ID)').grid(row=5, column=6)
    Entry(pagezhaohui, textvariable=username).grid(row=5, column=7)
    Label(pagezhaohui, text='手机(ph)').grid(row=5, column=9)
    Entry(pagezhaohui, textvariable=phonenumber).grid(row=5, column=10)
    Label(pagezhaohui).grid(row=6, column=6)

    def zhaohui(e):
        flag = 0
        list1 = 'select * from yonghu'
        cusor.execute(list1)
        alluserlist = cusor.fetchall()
        print(alluserlist)
        name1 = username.get()
        phn1 = phonenumber.get()
        paswlist = []
        a = len(alluserlist)
        listname = []
        listphn = []
        for i in alluserlist:
            listname.append(i[-1])
            listphn.append(i[0])
            paswlist.append(i[1])
        if name1 in listname and phn1 in listphn:
            messagebox.showinfo('您的密码', paswlist[phn1.index(phn1)])
        else:
            messagebox.showinfo('请您注册', '请您先注册!')

    button02 = Button(window_02)
    button02['text'] = '找回'
    button02.pack()
    button02.bind('<Button-1>', zhaohui)
    window_02.mainloop()



Button(pagezhu,text='注册').grid(row=7,column=6)
Button(pagezhu,text='登录',command=loginsucc).grid(row=7,column=7)
Button(pagezhu,text='忘记密码',command=findpassword).grid(row=7,column=9)
Button(pagezhu,text='退出',command=pagezhu.quit).grid(row=7,column=10)
window_01.mainloop()#生成运营管理页面

pt2 denglu页面

from tkinter import *
from tkinter import messagebox
import pymysql
db = pymysql.connect(host='localhost',user='root',password='123',database='zhihuidanche')
cusor = db.cursor()

class mysqldabase:
    def __init__(self):
        findid = 'select * from yonghu'
        cusor.execute(findid)
        alluser = cusor.fetchall()
        self.users = alluser
        findadmin = 'select * from admin'
        cusor.execute(findid)
        allad = cusor.fetchall()
        self.admin = allad
        self.flag = 0
    def check_login(self,userid,passwords):
        for user in self.users:
            if userid == user[-2]:
                if passwords == user[-3]:
                    messagebox.showinfo('用户登陆成功')
                    flag = 1
                    break
                else:
                    messagebox.showinfo('密码错误')
                    flag = 2
            else:
                flag = 3

        return flag



db1 = mysqldabase()
if __name__ == '__main__':
   print(db1.check_login('101133334','1'))

pt3 找回密码部分`

from tkinter import *
from tkinter import messagebox
import pymysql
db = pymysql.connect(host='localhost',user='root',password='123',database='zhihuidanche')
cusor = db.cursor()
window_02 = Tk()
window_02.geometry('600x600+500+100')
window_02.title('找回密码')
title01 = Label(window_02, text='您好,请输入其他验证信息')
title01.pack()
username = StringVar()
phonenumber = StringVar()
pagezhaohui = Frame(window_02)
pagezhaohui.pack()
Label(pagezhaohui).grid(row=4, column=4)
Label(pagezhaohui, text='账户(ID)').grid(row=5, column=6)
Entry(pagezhaohui, textvariable=username).grid(row=5, column=7)
Label(pagezhaohui, text='手机(ph)').grid(row=5, column=9)
Entry(pagezhaohui, textvariable=phonenumber).grid(row=5, column=10)
Label(pagezhaohui).grid(row=6, column=6)
def zhaohui(e):
    flag = 0
    list1 = 'select * from yonghu'
    cusor.execute(list1)
    alluserlist = cusor.fetchall()
    print(alluserlist)
    name1 = username.get()
    phn1 = phonenumber.get()
    paswlist = []
    a=len(alluserlist)
    listname = []
    listphn = []
    for i in alluserlist:
        listname.append(i[-1])
        listphn.append(i[0])
        paswlist.append(i[1])
    if name1 in listname  and phn1 in listphn:
        messagebox.showinfo('您的密码',paswlist[phn1.index(phn1)])
    else:
        messagebox.showinfo('请您注册','请您先注册!')
button01 = Button(window_02)
button01['text'] = '找回'
button01.pack()
button01.bind('<Button-1>',zhaohui)
window_02.mainloop()
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
目前大家比较熟悉共享单车的使用。请编制一个共享单车的管理程序,实现如下基本功能。假设有5种品牌的共享单车(品牌内容自定)。 针对该5种品牌的共享单车,自行设计一套包含每种单车的品牌名称、投放量、投放点、某一时间点的在用数量、每辆车的每天骑行次数及单次里程和总里程、开锁过程中发现的损坏次数等信息(所有相关数据均自行设计)的数据结构; 随着骑行活动的开展,待使用单车的数量将发生变化。要求能对每种单车的使用数量及待使用的数量进行查询统计并输出; 对于某一投放点的某一品牌的单车,如果无备用车(待使用的车均为备用车),或备用车均为损坏的车,系统应能给出信息提示; 对于损坏报修的车辆,系统能够进行及时的统计,并能在投放数量中削减损坏车辆的数量,形成真实的有效投放量; 能够对客户信息进行处理,包括注册的用户名、电话号码、骑行里程、骑行习惯(比如70%以上的出行时间集中在某个时间段,时间段按时钟整点划分)、每天平均的骑行时间等; 该系统能进行当日使用状况的统计,请用链表排序(排序算法不限)提示交易使用次数排在前三名的单车品牌; 假设每种单车的使用是收费的,如第一个小时是免费的,第二个小时开始每小时收费0.5元,各品牌可各自推出优惠收费条件(优惠条件请自定义),然后根据假设的使用情况,统计出各种品牌的日营业额,并对各品牌的受欢迎程度进行排序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值