面向对象版-学生管理系统

1基本需求:

需求:根据操作流程以及系统需求,完成面向对象版学生管理系统项目开发

l

a.可以显示基本的版本信息操作界面;

b.可以通过键盘输入信息来完成基本功能,例如选择序号、确认退出、添加学生、修改信息等;

c.学生属性信息有姓名、性别、年龄、联系方式、描述信息等;

d.使用系统可对学生信息进行添加、修改、删除、查询等操作;

e.可以使用文件对学生信息进行加载、保存;

f.可重复对学生进行增删查改操作,当确认退出系统后,则直接退出系统;

g.请使用面向对象的编程思想完成项目的升级处理。

2、角色分析

角色:学生管理系统  和 学员 2个类

但是由于学生管理系统操作对象为学员,为了方便后期扩展,我们把学员也封装为一个角色。

注意事项

① 为了方便维护代码,一般一个角色一个程序文件

② 项目要有主程序入口,习惯为`main.py`

3、项目文件规划

创建项目目录,例如:" StudentManagerSystem "程序文件如下:

4具体代码

程序入口文件: main.py
	# 导入 StudentCms 类
	from studentcms import StudentCms
	# 判断当前文件是否为主程序
	if __name__ == '__main__':
	   # 创建 StudentCms 类的实例对象
	   student_cam = StudentCms()
	   # 调用实例对象的 start 方法
	   student_cam.start()
学员文件: student.py
class Student():
    def __init__(self,name,age,gender,phone,des):
        self.name = name
        self.age = age
        self.gender = gender
        self.phone = phone
        self.des = des

    def __str__(self):
        return f' 姓名:{self.name} 年龄:{self.age} 性别:{self.gender} 手机号:{self.phone} 描述信息:{self.des}'



管理系统文件: studentcms.py
	# 导包  
	import time  
	from student import Student  
	import os
	# 定义学生管理系统类  
	class StudentCms(object):  
	   # 定义初始化属性.  
	   def __init__(self):  
	       self.student_list = []
	   @staticmethod  
	   def show_operate_view():  
	       '''  
	       定义函数,打印提示信息  
	       :return:无  
	       '''  
	       print("-" * 30)  
	       print('***** 学生管理系统V2.0 *****')  
	       print('\t1.添加学生;')  
	       print('\t2.修改学生;')  
	       print('\t3.删除学生;')  
	       print('\t4.查询某个学生;')  
	       print('\t5.显示所有学生;')  
	       print('\t6.保存信息;')  
	       print('\t0.退出系统;')  
	       print("-" * 30)
	   def start(self):  
	       self.load_student()  
	       while True:  
	           time.sleep(1)  
	           StudentCms.show_operate_view()  
	           num = input("请输入你要操作的序号:")  
	           if num == '1':  
	               print("--------1.修改学生--------")  
	               self.add_student()  
	           elif num == '2':  
	               print("--------2.修改学生--------")  
	               self.update_student()  
	           elif num == '3':  
	               print("--------3.删除学生--------")  
	               self.delete_student()  
	           elif num == '4':  
	               print("--------4.查询某个学生--------")  
	               self.query_student()  
	           elif num == '5':  
	               print("--------5.显示所有学生--------")  
	               self.show_all_student()  
	           elif num == '6':  
	               print("--------6.保存信息--------")  
	               self.save_student()  
	           elif num == '0':  
	               print("--------0.退出系统--------")  
	               out_str = input("您是否真的确认退出(Y/N):")  
	               if out_str.lower() == "y":  
	                   time.sleep(1)  
	                   print("感谢使用,下次再见!")  
	                   break  
	           else:  
	               print("您选中的序号暂不存在,敬请期待")
	   def add_student(self):  
	       '''  
	       定义函数,添加学生信息  
	       :return:  
	       '''  
	       name = input("请输入要添加的姓名:")  
	       age = input("请输入要添加的年龄:")  
	       gender = input("请输入要添加的性别:")  
	       phone = input("请输入要添加的手机号:")  
	       des = input("请输入要添加的信息:")  
	       student = Student(name, age, gender, phone, des)  
	       self.student_list.append(student)  
	       print(f'学生{name}信息已添加成功\n')
	   def update_student(self):  
	       '''  
	       定义函数,修改学生信息  
	       :return:  
	       '''  
	       name = input("请输入你要修改的学生姓名:")  
	       for student in self.student_list:  
	           if student.name == name:  
	               student.age = input('请输入新的年龄:')  
	               student.gender = input('请输入新的性别:')  
	               student.phone = input('请输入新的手机号:')  
	               student.des = input('请输入新的信息:')  
	               print('学生信息已修改成功\n')  
	               break  
	       else:  
	           print('您要修改的学生不存在\n')
	   def delete_student(self):  
	       '''  
	       定义函数, 删除学生信息  
	       :return:  
	       '''  
	       delete_name = input('请输入要删除的学生姓名:')  
	       for student in self.student_list:  
	           if student.name == delete_name:  
	               self.student_list.remove(student)  
	               print(f'学生{student.name}信息已删除成功.\n')  
	               break  
	       else:  
	           print('您要删除的学生不存在\n')
	   def query_student(self):  
	       '''  
	       定义函数, 查询学生信息  
	       :return:  
	       '''  
	       name = input("请输入你要查询的学生姓名:")  
	       for student in self.student_list:  
	           if student.name == name:  
	               print(student)  
	               print()  
	               break  
	       else:  
	           print('您要查询的学生不存在\n')
	   def show_all_student(self):  
	       '''  
	       定义函数, 显示所有学生信息  
	       :return:  
	       '''  
	       if len(self.student_list) <= 0:  
	           print('暂无任何学生信息\n')  
	       else:  
	           for student in self.student_list:  
	               print(f'姓名:{student.name} 年龄:{student.age} 性别:{student.gender} 手机号:{student.phone} 信息:{student

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值