python汽车销售管理系统_python汽车销售管理系统 课程设计

知乎链接:https://zhuanlan.zhihu.com/p/149846892

仅供参考!!!仅供参考!!!仅供参考!!

(本人课程设计已验收,代码也已验收过,切勿直接照搬!!!)

老师所问的问题也不难,代码功能搞懂便可轻松验收过关!!

不必私聊问具体细节,试试便知=-=!

一、课程设计题目:

汽车销售管理系统

二、项目基本要求:

1、基本要求:

(1)复习并深入理解Python语言基本特性、数据文件读取方法及面向对象思想;

(2)掌握Python语言相关特性,熟悉相关常用函数的使用;

(3)研究并掌握Python面向对象的语法特点和使用方法;

2、创新要求:

在基本要求达到后,可进行创新设计,如调用matplotlib模块显示销售数据等功能,或者使用基于WEB的界面进行交互。

三、设计方法和基本原理:

1、问题描述(功能要求):

根据实验指导书要求,完成相关软件系统的设计,要求内容翔实,条理清晰,主要(关键代码)须有详细注释,写清楚测试结果,并分析存在的问题:

1)能够实现汽车销售管理与相关信息的保存(到文件)和读取;

2)实现所有库存汽车相关信息的录入、显示、销售、修改等功能;

3)系统界面应类似下图所示的控制台界面(鼓励使用WEB或桌面窗体界面):

其中,选择相应菜单代码之后进入相应的功能,可以:1录入汽车信息(最后保存到文件);2显示已经保存的汽车信息(库存);3销售汽车:先显示已有汽车数据,选择销售的汽车编号之后将该车的信息删除;4修改汽车信息,先通过编号选定汽车信息,然后更改;5显示已经销售的汽车信息;6退出。

2、问题的解决方案:

根据系统功能要求,可以将问题解决分为以下步骤:

(1)分析系统中的相关功能和信息的关系;

(2)根据问题描述,设计数据访问流程和访问界面(控制台界面);

(3)完成类中各个成员函数的定义;

(4)功能调试;

(5)完成系统总结报告以及系统使用说明书。

(在输入汽车编号时没有判断所填写的信息汽车编号是否已存在,可以在录取汽车功能函数里加一个判断语句,若车库中已有该汽车编号,则需要重新输入才可录入)

class Sale(object):

def __init__(self):

self.cars = []

# 注册登录功能

def login(self):

user = []

while True:

print("""

*********************************

*1 注册 2 登录*

*********************************

""")

num = input("请输入您要使用的功能:")

if num == "1":

user_name = input("用户名:")

user_pwd = input("密码:")

user.extend([user_name, user_pwd])

file = open("账号存储.txt", "w")

file.write(str(user))

file.close()

print("恭喜您注册成功!")

elif num == "2":

f = open("账号存储.txt", "a+")

f.seek(0)

a = f.read()

name = input("请输入您的用户名:")

pwd = input("请输入您的密码:")

num = []

num.extend([name, pwd])

if str(num) == a:

print("登录成功!")

break

else:

print("您还未注册账号,请先注册再使用!")

else:

print("输入错误,请重新输入!")

self.run()

# 主界面

def menu(self):

print("""

*************************************************************************

* *欢迎您使用* *

* *汽车销售管理系统* *

*************************************************************************

* 1 录入汽车信息 2 显示汽车信息 *

*************************************************************************

* 3 销售汽车 4 修改汽车信息 *

*************************************************************************

* 5 销售数据 6 退出系统 *

*************************************************************************

""")

# 录入汽车信息功能

def car_entering(self):

while True:

car = {}

number = input("请输入汽车编号:")

name = input("请输入汽车名:")

brand = input("请输入汽车的品牌:")

origin = input("请输入汽车的原产地:")

age = input("请输入汽车车龄:")

emissions = input("请输入汽车的排放量:")

price = input("请输入汽车的价格:")

car["number"] = number

car["name"] = name

car["brand"] = brand

car["origin"] = origin

car["age"] = age

car["emissions"] = emissions

car["price"] = price

self.cars.append(car)

control = input("是否继续添加(Y/N):")

if control == "Y":

print("请您继续录入:\n")

else:

print("您已录入成功!")

break

self.save_info()

# 显示汽车信息功能

def car_display(self):

print("\n")

print("当前车库车辆的信息:")

print("~" * 70)

print("汽车编号\t汽 车 名 \t品 牌\t原 产 地\t车 龄\t排放量\t价 格\t")

for car in self.cars:

msg = car["number"] + "\t\t" + car["name"] + \

"\t\t" + car["brand"] + "\t" + car["origin"] + \

"\t\t" + car["age"] + "\t" + car["emissions"] + \

"\t\t" + car["price"]

print("~" * 70)

print(msg)

print("~" * 70)

print("\n")

# 销售汽车功能

def car_del(self):

self.car_display() # 调用显示功能,在销售前将车库车辆信息先显示出来

number = input("请输入要售出的汽车编号:")

for car in self.cars:

# 以汽车编号为索引值,如果该汽车编号不在车库车辆信息库里则提示该编号汽车已经出售

if number == car.get("number"):

# 将售出的汽车信息存入文件,每次储存覆盖上一次的数据

f = open("汽车销售数据信息.txt", "a+")

f.write("\t汽车编号:" + str(car["number"]) + \

"\t汽车名:" + str(car["name"]) + \

"\t品牌:" + str(car["brand"]) + \

"\t原产地:" + str(car["origin"]) + \

"\t车龄:" + str(car["age"]) + \

"\t排放量:" + str(car["emissions"]) + \

"\t价格:" + str(car["price"]) + "\n")

f.close() # 关闭销售数据文件

self.cars.remove(car) # 移除销售的汽车信息

self.car_display()

print("该编号汽车已出售!")

self.save_info()

# 修改汽车信息

def car_amend(self):

self.car_display() # 修改汽车信息前先把车库中的汽车信息显示出来

number = input("请输出修改车辆所对应的汽车编号:")

for car in self.cars:

# 以汽车编号为索引值,如果该汽车编号在车库车辆信息库中则可进行修改

if number == car.get("number"):

print("此车的车辆信息如下:\n")

print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")

q = "汽车编号:" + car["number"] + \

"\n汽车名:" + car["name"] + \

"\n品牌:" + car["brand"] + \

"\n原产地:" + car["origin"] + \

"\n车龄:" + car["age"] + \

"\n排放量:" + car["emissions"] + \

"\n价格:" + car["price"]

print(q)

print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")

new_number = input("请输入新的汽车编号:")

car["number"] = new_number

new_name = input("请输入新的汽车名:")

car["name"] = new_name

new_brand = input("请输入新的汽车的品牌:")

car["brand"] = new_brand

new_origin = input("请输入新的汽车的原产地:")

car["origin"] = new_origin

new_age = input("请输入新的汽车车龄:")

car["age"] = new_age

new_emissions = input("请输入新的汽车的排放量:")

car["emissions"] = new_emissions

new_price = input("请输入新的汽车的价格:")

car["price"] = new_price

self.car_display() # 将修改后的车库车辆信息显示

print("已成功修改信息!")

self.save_info()

# 显示销售数据功能

def car_s(self):

print("汽车销售数据:\n")

fl = open("汽车销售数据信息.txt", "a+")

fl.seek(0) # 移动文件读取指针到开头

# 将汽车销售数据信息一行一行显示

for line in fl:

print(line)

# 文件保存

def save_info(self):

f = open("车库车辆信息.txt", "w")

f.write(str(self.cars)) # 保存

f.close() # 关闭资源

def run(self):

while True:

self.menu()

select = input("请输入您的指令:")

# 判断用户输入的内容

if select == "1":

self.car_entering()

elif select == "2":

self.car_display()

elif select == "3":

self.car_del()

elif select == "4":

self.car_amend()

elif select == "5":

self.car_s()

elif select == "6":

print("告辞!\n")

break

else:

print("输入错误!!!请输入正确指令!\n")

# 入口函数

def main(self):

self.login()

# 创建实例对象,调用方法

car = Sale()

car.main()

原文链接:https://blog.csdn.net/qq_43661776/article/details/106908379

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值