学生信息管理系统,实现功能(以函数方式实现):学生信息链表创建、学生信息输入、学生信息 查询、学生信息修改、学生信息删除、学生信息输出,学生信息按学号排序。
时间: 2023-11-27 12:03:10 浏览: 39
好的,我可以为您提供一个简单的学生信息管理系统的程序,实现上述功能。代码如下:
```python
# 定义学生信息节点类
class StudentNode:
def __init__(self, id, name, age, gender):
self.id = id
self.name = name
self.age = age
self.gender = gender
self.next = None
# 定义学生信息链表类
class StudentList:
def __init__(self):
self.head = None
# 学生信息链表创建
def create(self):
n = int(input("请输入学生人数:"))
for i in range(n):
id = input("请输入学号:")
name = input("请输入姓名:")
age = input("请输入年龄:")
gender = input("请输入性别:")
node = StudentNode(id, name, age, gender)
if self.head is None:
self.head = node
else:
p = self.head
while p.next is not None:
p = p.next
p.next = node
# 学生信息输入
def insert(self):
id = input("请输入学号:")
name = input("请输入姓名:")
age = input("请输入年龄:")
gender = input("请输入性别:")
node = StudentNode(id, name, age, gender)
if self.head is None:
self.head = node
else:
p = self.head
while p.next is not None:
p = p.next
p.next = node
# 学生信息查询
def search(self):
id = input("请输入要查询的学号:")
p = self.head
while p is not None:
if p.id == id:
print("学号:%s,姓名:%s,年龄:%s,性别:%s" % (p.id, p.name, p.age, p.gender))
return
p = p.next
print("该学号不存在!")
# 学生信息修改
def modify(self):
id = input("请输入要修改的学号:")
p = self.head
while p is not None:
if p.id == id:
name = input("请输入姓名:")
age = input("请输入年龄:")
gender = input("请输入性别:")
p.name = name
p.age = age
p.gender = gender
print("修改成功!")
return
p = p.next
print("该学号不存在!")
# 学生信息删除
def delete(self):
id = input("请输入要删除的学号:")
if self.head is None:
print("链表为空!")
return
if self.head.id == id:
self.head = self.head.next
print("删除成功!")
return
p = self.head
while p.next is not None and p.next.id != id:
p = p.next
if p.next is None:
print("该学号不存在!")
else:
p.next = p.next.next
print("删除成功!")
# 学生信息输出
def output(self):
if self.head is None:
print("链表为空!")
return
p = self.head
while p is not None:
print("学号:%s,姓名:%s,年龄:%s,性别:%s" % (p.id, p.name, p.age, p.gender))
p = p.next
# 学生信息按学号排序
def sort(self):
if self.head is None:
print("链表为空!")
return
arr = []
p = self.head
while p is not None:
arr.append(p)
p = p.next
arr.sort(key=lambda x: x.id)
self.head = arr[0]
for i in range(len(arr) - 1):
arr[i].next = arr[i + 1]
arr[-1].next = None
print("排序成功!")
# 测试程序
list = StudentList()
while True:
print("1、学生信息链表创建")
print("2、学生信息输入")
print("3、学生信息查询")
print("4、学生信息修改")
print("5、学生信息删除")
print("6、学生信息输出")
print("7、学生信息按学号排序")
print("0、退出程序")
choice = input("请输入功能编号:")
if choice == "1":
list.create()
elif choice == "2":
list.insert()
elif choice == "3":
list.search()
elif choice == "4":
list.modify()
elif choice == "5":
list.delete()
elif choice == "6":
list.output()
elif choice == "7":
list.sort()
elif choice == "0":
break
else:
print("输入有误,请重新输入!")
```
这个程序实现了您所要求的学生信息管理系统,包括学生信息链表创建、学生信息输入、学生信息查询、学生信息修改、学生信息删除、学生信息输出,以及学生信息按学号排序。您可以根据需要进行修改和完善。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)