【python语言】学生宿舍信息管理系统,含完整代码,截图

bebd50296db54f6f9fa1db25d19ce6d6.gif

目录

项目说明

数据结构设计

功能实现

主菜单设计

文件操作

系统使用

项目展示

主菜单功能界面

添加信息

查询信息

修改信息

删除信息

退出程序

完整代码

结语 


在这篇博客中,我们将学习如何使用Python语言来开发一个简单的学生宿舍信息管理系统。该系统将允许我们添加、删除、修改和查询学生信息,并且我们还将设计数据结构来管理宿舍、来访者和保修信息。尽管我们提供的代码示例中只实现了与学生信息相关的功能,但你可以根据需要扩展它来包含其他功能。

项目说明

数据结构设计

首先,我们设计了几个类来存储不同类型的信息:

  1. Student(学生):存储学生ID、姓名、性别、年龄、院系和宿舍号。
  2. Dormitory(宿舍):存储宿舍号、容纳人数和当前人数。
  3. Visitor(来访者):存储来访者ID、姓名、来访时间和被访宿舍号。
  4. Repair(保修):存储保修ID、宿舍号、问题描述和当前状态。

功能实现

接下来,我们将实现几个关键的函数来处理学生信息:

  1. addStudent()(添加学生):通过接收用户输入,创建一个新的学生记录并将其追加到文件中。
  2. deleteStudent()(删除学生):根据用户输入的ID,从文件中找到并删除相应的学生记录。
  3. modifyStudent()(修改学生):允许用户根据ID修改学生的详细信息。
  4. queryStudent()(查询学生):根据ID查询并显示学生的详细信息。

主菜单设计

我们还将设计一个简单的文本菜单系统,让用户可以选择执行的操作(添加、删除、修改或查询学生信息)。该系统将持续运行,直到用户选择退出。

文件操作

所有的学生信息都将存储在一个文本文件中。通过使用文件I/O操作,我们可以持久化这些信息,即使在程序关闭后也不会丢失。

系统使用

用户可以通过简单的文本界面与系统进行交互。例如,要添加学生信息,用户可以选择相应的菜单项,然后输入学生的详细信息。系统将把这些信息追加到文件中,以便将来查询或修改。

项目展示

4bdd64a10ed34d7387682ba58a01723f.png

主菜单功能界面

09edf881af1c4380a9c5ea62fd5de6cf.png

添加信息

5f42a66cb6a546a78189461b49018672.png

查询信息

0db1b00b86bd4aaca6d6cf978c4bfd71.png

修改信息

97bf59e4973343a6b1244c1005c5b90a.png

删除信息

de3517e488114f60b97aaa1ed8a87d0f.png

退出程序

f93d97c0ab234b63aa18226f7f0b1e85.png

完整代码

import os

class Student:
    def __init__(self, id, name, gender, age, department, dormitory):
        self.id = id
        self.name = name
        self.gender = gender
        self.age = age
        self.department = department
        self.dormitory = dormitory

def addStudent():
    students_file = "students.txt"
    print("输入学生ID: ")
    id = int(input())
    print("输入学生姓名: ")
    name = input()
    print("输入性别: ")
    gender = input()
    print("输入年龄: ")
    age = int(input())
    print("输入院系: ")
    department = input()
    print("输入宿舍号: ")
    dormitory = input()

    with open(students_file, "a") as file:
        file.write(f"{id} {name} {gender} {age} {department} {dormitory}\n")

    print("学生信息已添加。")

def deleteStudent():
    students_file = "students.txt"
    temp_file = "temp.txt"
    print("输入要删除的学生ID: ")
    id = int(input())

    found = False
    with open(students_file, "r") as file, open(temp_file, "w") as temp:
        for line in file:
            s_id, *_ = line.split()
            if int(s_id) != id:
                temp.write(line)
            else:
                found = True

    os.remove(students_file)
    os.rename(temp_file, students_file)

    if found:
        print("学生信息已删除。")
    else:
        print("未找到该学生信息。")

def modifyStudent():
    students_file = "students.txt"
    temp_file = "temp.txt"
    print("输入要修改的学生ID: ")
    id = int(input())

    found = False
    with open(students_file, "r") as file, open(temp_file, "w") as temp:
        for line in file:
            s_id, s_name, s_gender, s_age, s_department, s_dormitory = line.split()
            if int(s_id) == id:
                print("输入新的学生姓名: ")
                s_name = input()
                print("输入新的性别: ")
                s_gender = input()
                print("输入新的年龄: ")
                s_age = int(input())
                print("输入新的院系: ")
                s_department = input()
                print("输入新的宿舍号: ")
                s_dormitory = input()
                found = True
            temp.write(f"{s_id} {s_name} {s_gender} {s_age} {s_department} {s_dormitory}\n")

    os.remove(students_file)
    os.rename(temp_file, students_file)

    if found:
        print("学生信息已修改。")
    else:
        print("未找到该学生信息。")

def queryStudent():
    students_file = "students.txt"
    print("输入要查询的学生ID: ")
    id = int(input())

    found = False
    with open(students_file, "r") as file:
        for line in file:
            s_id, s_name, s_gender, s_age, s_department, s_dormitory = line.split()
            if int(s_id) == id:
                print(f"学生ID: {s_id}\n姓名: {s_name}\n性别: {s_gender}\n年龄: {s_age}\n院系: {s_department}\n宿舍号: {s_dormitory}\n")
                found = True
                break

    if not found:
        print("未找到该学生信息。")

def displayMenu():
    print("\n====== 学生宿舍信息管理系统 ======")
    print("1. 添加学生信息")
    print("2. 删除学生信息")
    print("3. 修改学生信息")
    print("4. 查询学生信息")
    print("0. 退出")
    print("===================================")

def main():
    while True:
        displayMenu()
        print("请输入您的选择:")
        choice = int(input())
        if choice == 1:
            addStudent()
        elif choice == 2:
            deleteStudent()
        elif choice == 3:
            modifyStudent()
        elif choice == 4:
            queryStudent()
        elif choice == 0:
            print("感谢使用,再见!")
            break
        else:
            print("无效的选择,请重新输入。")

if __name__ == "__main__":
    main()

结语 

希望这个博客能够帮助你开始开发自己的学生宿舍信息管理系统。记得点赞、收藏,并留下你的评论! 

a6a3e4f087b04053909a75a09fc579ee.gif

 

  • 11
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

命运之光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值