学生数据库

学生管理系统

介绍

学生信息管理系统是针对学校学生处的大量工作处理工作而开发的管理软件,主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、科学化、规范化和自动化,其主要任务是用手机和计算机对学生各种信息进行日常管理,如查询、修改、增加、删除等。

主要功能

学生管理系统主要有增加、删除、查询、修改四个功能。那么我们就安装脑图的思维顺序,来对我们的程序进行编写
在这里插入图片描述

如何制作

首先我们要制作的分为一下四个点
1.添加学生信息
2.删除学生信息
3.修改学生信息
4.查询学生信息
5.然后合并,制作程序

制作学生表

先做个学生表,运用之前课程学习的知识将学生表制作处理,然后将学生信息保存到文本文件里,用空格来隔开每个字段。
行——记录——元组
列——字段——属性

在这里插入图片描述
以下是学生表信息
2021001 李晓红 女 19 2021级软件4班 软件技术 人工智能与大数据学院 15945456780
2021002 王晓刚 男 18 2021级软件4班 软件技术 人工智能与大数据学院 13890904567
2021003 唐雨涵 女 19 2021级软件4班 软件技术 人工智能与大数据学院 18878789023
2021101 张三丰 男 18 2021级大数据1班 大数据技术 人工智能与大数据学院 15945456780
2021102 肖雨林 男 18 2021级大数据1班 大数据技术 人工智能与大数据学院 18890904560
2021103 郑小翠 女 19 2021级大数据1班 大数据技术 人工智能与大数据学院 15890904567
然后将我们的文本保存在一个文件夹(最好文件放在一个文件夹,方便后面链接文件打开),注意要将文件保存的方式为ANSI在这里插入图片描述

增加学生信息

我们已经做好了学生表,那么 接下来我们就可以开始我们的步骤了。我们可以运用链接,然后打开我们保存的程序表。用students=[ ]和f = open(‘你的学生表保存的名称’)来创建链接,然后打开链接,并用空格等来让文本输出的更美观
在这里插入图片描述在这里插入图片描述
如果我们不使用空格等字符隔开,那么输出的学生表将会很混乱。
然后我们加入语句,来插入学生信息。
在这里插入图片描述

删除学生信息

接下来我们制作删除学生信息。用插入(input)来插入或者增加我们需要加入得到内容。我们也可以加入一个判断条件来是我们的删除更加完美,如果我们输入删除学生信息错误,我们就可以知道自己想删除的学生内容存不存在。

在这里插入图片描述
这是输入错误或者学生表里面没有这个学生。
在这里插入图片描述

修改学生信息

接下来我们制作修改学生信息。要修改,那么我们就要去查询,利用查询语句,从我们的学生表里面查找我们想要修改的学生信息是否存在。和删除一样我们也可以加入判断语句,来看我们想修改的学生存不存在。
在这里插入图片描述
如果没有我们修改的学生信息,他就会帮我们判断。在这里插入图片描述

查询学生信息

接下来就是查询。这里一样也可以加入判断,看我们想查找的信息是否存在。查询我们就要在后续增加我们是查询一个学生信息还是所有的学生信息,跟着我我们继续探究。
在这里插入图片描述

加强完善

这里我们将对上面的程序进行加强和完善。首先我使用了我室友帮助我的del函数来完善我们的程序。
下面我们就可以来增加我们想要增加的内容和信息:id、name、sex等等,然后运用输出语句,让我们增加的学生信息加入我们的学生表。
在这里插入图片描述在这里插入图片描述
接下来我们就去完善删除。这里我加入了另一个字符,这让我们的删除有了多个选择,可以让我们去判断或者说给我们更好的反馈。
在这里插入图片描述
下面就是我们的修改程序的完善。一样这里我们让修改,不再是单一的修改一个信息,假如我们有多个需要去修改的时候,我们就可以一次性全部修改完毕。
在这里插入图片描述
接下来就是查询的完善,这一步我们要加入单个学生的信息查询和多个学生的信息查询,或者加入条件来帮助我们进行查询。在这里插入图片描述

登录系统

一个系统肯定要有他的登录。在这里插入图片描述在这里插入图片描述

这里也要完善我们的登录程序,让我们有用户登录,username和密码我们的都是可以自己设置的,然后我们加入更多的选择让我们的登录界面有更的运行选择。

效果展示

系统开始运行,那我们就开始选择,这里我们可以选择1.登录 或者2.退出

在这里插入图片描述
登录后的选择。
在这里插入图片描述
选择1添加学生信息后,我们便可以增加我们的学生信息了。
在这里插入图片描述
然后,我们一个个运行看我们程序是否完善。在这里插入图片描述
修改学生信息。
在这里插入图片描述
我们的查询系统,让我们有更多选择,查询一个或者多个。或者根据其他的关键字来查询。
在这里插入图片描述
全部查询。
在这里插入图片描述
最后退出程序。
在这里插入图片描述

全部代码

def get_the_whole_students_information():
students = []
f = open('student.txt')
for line in f:
    line = line.replace('\n', '')
    student = line.split(' ')
    students.append(student)
f.close()
return students

def add_student_information():  
students = get_the_whole_students_information()
id = input('输入需要添加信息的学生的学号: ')
name = input('输入需要添加信息的学生的姓名: ')
sex = input('输入需要添加信息的学生的性别: ')
age = input('输入需要添加信息的学生的年龄: ')
grade_class = input('输入需要添加信息的学生的班级: ')
major = input('输入需要添加信息的学生的专业: ')
college = input('输入需要添加信息的学生的学院: ')
phone_number = input('输入需要添加信息的学生的电话号码: ')

students.append([id, name, sex, age, grade_class, major, college, phone_number])

f = open('student.txt', 'w')
for i in range(len(students)):
   student = ' '.join(students[i]) + '\n'
   f.write(student)
 f.close()
print('学生信息添加成功!')

def disaplay_all_students_information():  
students = get_the_whole_students_information()
for i in range(len(students)):
    for j in  range(len(students[i])):
        print(students[i][j], end=' ')
    print()

def id_disaplay_student():  
id = input('请输入学号: ')
found = False
students = get_the_whole_students_information()
for i in range(len(students)):
    if (students[i][0] == id):
        found =True
        for j in range(len(students[i])):
            print(students[i][j], end=' ')
        break
if not found:
    print('学生信息中没有学号为{id}的学生!')

def name_disaply_student():  
name = input('姓名: ')
students = get_the_whole_students_information()
found = False
for i in range(len(students)):
    if (students[i][1] == name):
        found = True
        for j in range(len(students[i])):
            print(students[i][j], end=' ')
        break
if not found:
    print('学生信息中没有姓名为{name}的学生!')
    
def delete_student_information():
students = get_the_whole_students_information()
id = input('输入要删除信息的学生的学号:')
found = False
for i in range(len(students)):
    if (students[i][0] == id):
        found = True
        break
if not found:
    print('学生信息中没有学号为{id}的学生!')
else:
    del students[i]
    print('学号为{id}的信息已成功删除!')
f = open('student.txt', 'w')
for i in range(len(students)):
    student = ' '.join(students[i]) + '\n'
    f.write(student)
f.close()
    
def revise_student_information(): 
students = get_the_whole_students_information()
id = input('输入需要修改信息的学生的学号: ')
new_name = input('输入需要修改信息的学生的姓名: ')
new_sex = input('输入需要修改信息的学生的性别: ')
new_age = input('输入需要修改信息的学生的年龄: ')
new_grade_class = input('输入需要修改信息的学生的班级: ')
new_major = input('输入需要修改信息的学生的专业: ')
new_college = input('输入需要修改信息的学生的学院: ')
new_phone_number = input('输入需要修改信息的学生的电话号码: ')

 found = False
for i in range(len(students)):
    if (students[i][0] == id):
        found = True
        students[i][1] = new_name
        students[i][2] = new_sex
        students[i][3] = new_age
        students[i][4] = new_grade_class
        students[i][5] = new_major
        students[i][6] = new_college
        students[i][7] = new_phone_number
        print('修改成功!')
        for j in range(len(students[i])):
            print(students[i][j], end=' ')
        break
if not found:
    print(f'学生信息中没有学号为{id}的学生!')

f = open('student.txt', 'w')
for i in range(len(students)):
    student = ' '.join(students[i]) + '\n'
    f.write(student)
f.close()

def find_student_information():  
while True:
    print('\n查询学生信息\n')
    print('1.按学号查询学生信息')
    print('2.按姓名查询学生信息')
    print('3.查询全部学生信息')
    print('4.返回')
    s3 = int(input('请输入您的选择:'))
    if s3 == 1:
        id_disaplay_student()
    elif s3 == 2:
        name_disaply_student()
    elif s3 == 3:
        disaplay_all_students_information()
    else:
        break

def app():
username = input('输入用户名: ')
password = input('输入密码: ')
if username == 'zxl' and password == '1234':
    while True:
        print('\n学生信息管理\n')
        print('1. 添加学生信息')
        print('2. 删除学生信息')
        print('3. 修改学生信息')
        print('4. 查询学生信息')
        print('5. 返回')
        s2 = int(input('请输入你的选择: '))
        if s2 == 1:
            add_student_information()
        elif s2 == 2:
            delete_student_information()
        elif s2 == 3:
            revise_student_information()
        elif s2 == 4:
            find_student_information()
        else:
            break
else:
    print('\n用户名或密码错误,请重新登录\n')

while True:
print('学生管理系统用户登录')
print('-' * 10)
print('1.登录')
print('2.退出')
print('-' * 10)
s1 = int(input('请输入您的选择: '))
if s1 == 1:
    app()
elif s1 == 2:
    print('\n谢谢使用学生管理系统\n')
    break

设计困难

在结合前面一个个的程序的时候毫无头绪,需要室友帮忙完善,程序都是课上老师交的,还是自己的思维和程序运用能力不足。

如果程序复制运行不出来就改一下格式

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值