学生信息管理系统
一、课程设计内容概述
1.1 开发环境和开发工具说明
使用 Python 语言开发,在 Jupyter notebook 下进行编译,用 Python3.5 解释器。
1.2 课程设计的任务
开发一个学生信息管理系统,学生信息包括学生姓名,学号,年龄,可以对学生信息进行添加,修改,删除,查询,遍历等。
1.3 程序运行顺序说明
在 Jupyter notebook 下一次运行各个功能函数,最后再运行主函数 main()。
二、系统设计方案
2.1 功能分析
由于学生信息包括学生姓名,学号,年龄,可以建立一个字典来存储这些对应的信息。对于学生的学号,要注意验证学生的学号是否重复。可以将对学生信息进行添加,修改,删除,查询,遍历等操作写成功能函数,选择该功能后,调用对应的功能函数即可。
2.2 功能模块图
2.3 各模块功能
- 添加信息:添加学生的姓名,学号,年龄信息,并对学号信息进行重复检验。
- 修改信息:输入正确的学生的学号后,可以对学生的姓名,学号,年龄信息进行修改。
- 删除信息:输入正确的学生的学号,将该学生的信息删除。
- 查询信息:输入正确的学生学号后,显示此学生的信息。
- 遍历信息:显示所有学生的姓名,学号,年龄信息。
三、程序主要代码分析
添加学生信息部分:
```c++ #验证学号是否唯一 #leap是学生学号重复的标志位 #leap=1,表示学生学号有重复 leap = 0 for temp in students: #stuId表示输入的学生的学号 if temp['id'] == stuId: leap = 1 break if leap == 1: print("输入学生学号重复,添加失败!") else: # 定义一个字典,存放单个学生信息 stuInfo = {} stuInfo['name'] = name stuInfo['id'] = stuId stuInfo['age'] = age
```
删除学生信息部分:
```c++ #验证学号是否唯一 #leap是学生学号重复的标志位 #leap=1,表示学生学号有重复 leap = 0 for temp in students: #stuId表示输入的学生的学号 if temp['id'] == stuId: leap = 1 break if leap == 1: print("输入学生学号重复,添加失败!") else: # 定义一个字典,存放单个学生信息 stuInfo = {} stuInfo['name'] = name stuInfo['id'] = stuId stuInfo['age'] = age
```
修改学生学号部分:
```c++ if alterNum == 1: newId=input("输入更改后的学号:") #修改后的学号要验证是否唯一 i = 0 leap1 = 0 for temp1 in students: if temp1['id'] == newId: leap1 = 1 break else: i = i + 1 if leap1 == 1: print("输入学号不可重复,修改失败!") else: temp['id']=newId print("学号修改成功")
```
查找学生信息部分:
```c++ leap = 0 for temp in students: #searchID表示要查找的学号 if temp['id'] == searchID: leap = 1 break else: i = i + 1 if leap == 0: print("没有此学生学号,查询失败!") else: print("找到此学生,信息如下:") print("学号:%s\n姓名:%s\n年龄:%s\n"%(temp['id'], temp['name'], temp['age']))
```
四、程序调试中出现的问题及解决办法
在程序调试过程中,出现了输入错误的学号,在学号数组中查不到元素而报错的问题。我就加了一个学号检验,设置了一个标志位 leap,输入学号后,先遍历所有的学号,如果有这个学号,那么标志位为 1;如果没有这个学号,那么标志位为 0。加一个判断,在有这个学号时,标志位为 1,执行对应操作;在没有这个学号时,标志位为 0,提示没有找到这个学生的学号。
在删除学生信息时,出现了删除错了信息,删除成了上一个学生的信息,这是因为记录的要删除的学生信息的下标出现了错误,依次往后加一的那个语句的位置不对。由于在查询到学号之后直接退出了循环,所以需要在上一次时都给下标加 1,成为下一个的下标。理顺逻辑关系后,将要要删除的学生信息的下标的值用上正确的逻辑关系后,就解决了这个错误。
五、主要参考资料
Python 基础教程第 2 版
六、程序及解释
参考文献
- 阿坝师专学生信息管理系统的设计与实现(电子科技大学·官孙平)
- 学生管理系统的设计与实现(电子科技大学·贾林蓉)
- 高校学生信息管理系统的设计与实现(湖北工业大学·赵楠)
- 学生综合信息管理平台的设计与实现(吉林大学·刘铁刚)
- 基于S2SH高校学生工作管理系统的设计与实现(青岛理工大学·窦传海)
- 基于B/S架构的高校学生管理系统的设计与实现(东北大学·孙郑)
- 学生综合信息管理平台的设计与实现(吉林大学·刘铁刚)
- 基于B/S模式的高校学生管理平台的设计与实现(吉林大学·谷洪彦)
- 基于MVC与ASP.NET的学生信息管理系统的设计与实现(吉林大学·朱帮明)
- 高校学生信息管理系统的设计与实现(湖北工业大学·赵楠)
- 高校学生信息综合管理系统开发实践(电子科技大学·窦继惠)
- 基于ASP.NET技术的高校学生管理信息系统设计与实现(厦门大学·张娟)
- 学生信息管理系统的分析与设计(云南大学·张灵敏)
- 基于JSP体系架构的学生信息查询系统的研究与实现(北京工业大学·徐宏昌)
- 基于JSP体系架构的学生信息查询系统的研究与实现(北京工业大学·徐宏昌)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:代码驿站 ,原文地址:https://bishedaima.com/yuanma/36146.html