基于python+控制台+txt文档实现学生成绩管理系统(含课程实训报告)
目录
第一章 需求分析
第二章 系统设计
2.1 系统功能结构
2.1.1 学生信息管理系统的七大模块
2.1.2 系统业务流程
2.2 系统开发必备环境
第三章 主函数设计
3.1 主函数界面运行效果图
3.2 主函数的业务流程
3.3 函数设计
第四章 详细设计及实现
4.1 学生信息录入模块的设计与实现
4.1.1 实现录入学生信息功能
4.1.2 信息录入业务流程
4.1.3 信息录入具体实现
4.2 学生信息删除模块的设计与实现
4.2.1 实现学生信息删除功能
第一章 需求分析
1、添加学生及成绩信息
2、将学生信息保存到文件中
3、修改和删除学生信息
4、查询学生信息
5、根据学生成绩进行排序
6、统计学生总分
第二章 系统设计
2.1 系统功能结构
2.1.1 学生信息管理系统的七大模块
七大模块的设计如图2-1所示:

添加图片注释,不超过 140 字(可选)
图2-1 模块设计
1、录入学生信息模块
2、查找学生信息模块
3、删除学生信息模块
4、修改学生信息模块
5、学生成绩排名模块
6、统计学生总人数谋爱
7、显示全部学生信息模块
2.1.2 系统业务流程
业务流程图如图2-2所示:

添加图片注释,不超过 140 字(可选)
图2-2 业务流程
2.2 系统开发必备环境
2.2.1 系统开发环境
1、操作系统:win10
2、Python解析器版本:Python3.8
3、开发工具:PyCharm
4、Python内置模块:os、re

添加图片注释,不超过 140 字(可选)
2.2.2 项目目录结构
图2-3 目录结构
第三章 主函数设计
3.1 主函数界面运行效果图
如图3-1所示:

添加图片注释,不超过 140 字(可选)
图3-1 运行效果图
3.2 主函数的业务流程
如图3-2所示:

添加图片注释,不超过 140 字(可选)
图3-2 业务流程
3.3 函数设计
主函数的实现如表3-1所示:
表3-1 函数实现表
| 编号 | 功能 |
|---|---|
| 0 | 退出系统 |
| 1 | 录入学生信息,调用insert()函数 |
| 2 | 查找学生信息,调用search()函数 |
| 3 | 删除学生信息,调用delete()函数 |
| 4 | 修改学生信息,调用modify()函数 |
| 5 | 对学生成绩排序,调用sort()函数 |
| 6 | 统计学生总人数,调用total()函数 |
| 7 | 显示所有的学生信息,调用show()函数 |
第四章 详细设计及实现
4.1 学生信息录入模块的设计与实现
4.1.1 实现录入学生信息功能
从控制台录入学生信息,并将他们保存在磁盘文件中,如图4-1所示:

添加图片注释,不超过 140 字(可选)
图4-1 信息录入
4.1.2 信息录入业务流程
如图4-2所示:

添加图片注释,不超过 140 字(可选)
图4-2 业务流程
4.1.3 信息录入具体实现
1、save(student)函数,用于将学生信息保存到文件
2、insert()函数,用于录入学生信息。

添加图片注释,不超过 140 字(可选)
实现结果如图4-3所示:
图4-3 信息录入
4.2 学生信息删除模块的设计与实现
4.2.1 实现学生信息删除功能
从控制台录入学生id,到裁判文件中找到对应的学生信息,并将其删除,效果如图4-4所示:

添加图片注释,不超过 140 字(可选)
图4-4 信息删除
4.2.2 信息删除业务流程
如图4-5所示:

添加图片注释,不超过 140 字(可选)
图4-5 信息删除业务流程
4.2.3 具体实现
1、编写主函数中调用的删除学生信息的函数delete();
2、调用show()函数显示学生信息,该函数的功能将在后面完成。
具体效果如图4-6所示:

添加图片注释,不超过 140 字(可选)
图4-6 信息删除
4.3 学生信息修改模块的设计与实现
4.3.1 实现修改学生信息功能
从控制台录入学生的id,到磁盘文件中找到对应的学生信息,将其进行修改如图4-7所示:

添加图片注释,不超过 140 字(可选)
图4-7 信息修改
4.3.2 业务流程
如图4-8所示:

添加图片注释,不超过 140 字(可选)
图4-8 业务流程
4.3.2 具体实现
1、编写主函数中调用的修改学生信息的函数modify()
2、调用show()函数显示学生信息,该函数的功能将在后面完成
具体效果如图4-9所示:

添加图片注释,不超过 140 字(可选)
图4-9 信息修改
4.4 学生信息查找模块的设计与实现
4.4.1 实现查找学生信息功能
从控制台录入学生ID或姓名,到磁盘文件中找到对应的学生信息。如图4-10所示:

添加图片注释,不超过 140 字(可选)
图4-10 查找信息
4.4.2 业务流程
如图4-11所示:

添加图片注释,不超过 140 字(可选)
图4-11 业务流程
4.4.3 具体实现
1、编写主函数中调用的查找学生信息的函数search()
2、定义显示查询结果的函数show_student(query_student)

添加图片注释,不超过 140 字(可选)
具体效果如图4-12所示:
图4-12 具体实现
4.5 统计学生总人数模块的设计与实现
4.5.1 实现学生总人数功能

添加图片注释,不超过 140 字(可选)
统计学生信息文件中保存的学生信息个数,如图4-13所示:
图4-13 人数统计
4.5.2 业务流程
如图4-14所示:

添加图片注释,不超过 140 字(可选)
图 4-14 业务流程
4.5.3 具体实现

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)
编写主函数中调用的统计学生总人数的函数total(),具体实现如图4-15所示:
图4-15 具体实现
4.6 显示所有学生信息模块的设计与实现
4.6.1 实现显示所有学生信息功能
将学生信息文件中保存的全部学生信息获取并显示,如图4-16所示:

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)
图4-16 显示信息
4.6.2 业务流程
如图4-17所示:

添加图片注释,不超过 140 字(可选)
图4-17 业务流程
4.6.3 具体实现

添加图片注释,不超过 140 字(可选)
编写主函数中调用的查询学生信息的函数show(),具体实现如图4-18所示:
图4-18 具体实现
4.7 排序模块的设计与实现
4.7.1 实现按学生成绩排序功能
主要对学生信息按英语和产能及、Python成绩、Java成绩、总成绩进行升序或降序排序,具体实现效果如图4-19所示:
图4-19

添加图片注释,不超过 140 字(可选)
成绩排序
4.7.2 业务流程
如图4-20所示:

添加图片注释,不超过 140 字(可选)
图4-20 业务流程
4.7.3 具体实现
编写主函数中调用的排序函数sort()。
第五章 项目打包
5.1 项目打包操作流程
1、进入cmd,输入pip install PyInstaller,
执行效果如图5-1和5-2所示:

添加图片注释,不超过 140 字(可选)
图5-1

添加图片注释,不超过 140 字(可选)
图5-2
2、pyinstaller -F C:\Users\26478\Desktop\stusystem.py
(需要程序的路径+程序名)
3、生成的exe文件放在红框里:
如图5-3所示:

添加图片注释,不超过 140 字(可选)
图5-3 文件路径
4、效果图:
如图5-4所示:

添加图片注释,不超过 140 字(可选)
图5-4 程序展示
相关文章:
基于python+控制台+txt文档实现学生成绩管理系统(含课程实训报告)
目录 第一章 需求分析 第二章 系统设计 2.1 系统功能结构 2.1.1 学生信息管理系统的七大模块 2.1.2 系统业务流程 2.2 系统开发必备环境 第三章 主函数设计 3.1 主函数界面运行效果图 3.2 主函数的业务流程 3.3 函数设计 第四章 详细设计及实现 4.1 学生信息录入模块的设计与实…...
Spring Boot 整合MyBatis-Plus 实现多层次树结构的异步加载功能
文章目录 1,前言2,什么是多层次树结构?3,异步加载的意义4,技术选型与实现思路5,具体案例5.1,项目结构5.2,项目配置(pom.xml)5.3,配置文件…...
网络工程师指南:防火墙配置与管理命令大全,零基础入门到精通,收藏这一篇就够了
本指南详细介绍了防火墙的配置与管理命令,涵盖了防火墙的工作原理、常见配置命令、安全策略与访问控制、日志管理与故障排查,并通过实战案例展示了如何有效防御网络攻击。通过学习本指南,网络工程师能够系统掌握防火墙的配置与管理技能&#…...
英特尔终于找到了Raptor Lake处理器崩溃与不稳定问题的根源
技术背景 在过去的几个月里,一些用户报告称他们的第13代和第14代Intel Core“Raptor Lake”处理器遇到了系统崩溃和不稳定的情况。这些问题最初在2024年7月底被英特尔识别出来,并且初步的诊断显示,这些问题与微码有关,该微码使CP…...
Shp2pb:Shapefile转Protocol Buffers的高效工具
Shp2pb是一个实用工具,专门用于将Shapefile(shp)格式转换为Protocol Buffers(protobuf)文件。这对于以更高效、更紧凑的方式处理地理数据特别有用。以下是关于如何安装和使用Shp2pb工具的详细说明,以及一个…...
Elasticsearch使用Easy-Es + RestHighLevelClient实现深度分页跳页
注意!!!博主只在测试环境试了一下,没有发到生产环境跑。因为代码还没写完客户说不用弄了( •̩̩̩̩_•̩̩̩̩ ) 也好,少个功能少点BUG 使用from size的时候发现存在max_result_window10000的限制&…...
基于ASRPRO的语音应答
做这个的起因是为了送女朋友,而且这东西本身很简单,所以在闲暇之余尝试了一下。 这个工程很简单,只通过对ASRPRO进行编程即可。 先看效果。(没有展示所有效果,后续会列出来所有对话触发) 语音助手示例1 语音助手示例2 代码部分使用天文Block编辑,找了一圈好像只…...
3D看车汽车案例,车模一键换皮肤,开关车门,轴距,电池功能
3D 汽车案例 网址: http://car.douchuanwei.com/...
数据结构-4.栈与队列
本篇博客给大家带来的是栈和队列的知识点, 其中包括两道面试OJ题 用队列实现栈 和 用栈实现队列. 文章专栏: Java-数据结构 若有问题 评论区见 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条, 如果分享不成功, 那我就会回你一下,那样你就分享成功啦. 你们的…...
芝士AI写作有什么特色? 大模型支撑,智能改写续写,让写作更轻松
又到了一年的毕业季,大学四年眨眼间匆匆就过去了,毕业,求职,考研,工作,升学,但是在这之前,我们必须要完成论文的写作,这也是每一位大学生都必须要面对~ 芝士AI官网&…...
【计网】从零开始学习http协议 --- http的请求与应答
如果你不能飞,那就跑; 如果跑不动,那就走; 实在走不了,那就爬。 无论做什么,你都要勇往直前。 --- 马丁路德金 --- 从零开始学习http协议 1 什么是http协议2 认识URL3 http的请求和应答3.1 服务端设计…...
记录linux环境下搭建本地MQTT服务器实现mqtt的ssl加密通讯
1、ubuntu安装mosquitto sudo apt-get update//安装服务端 sudo apt-get install mosquitto//安装客户端 sudo apt-get install mosquitto-clients 2、安装openssl 3、mqtts/tls加密传输 mosquitto原生支持了TLS加密,TLS(传输层安全)是SSL&…...
基于python+django+vue的电影数据分析及可视化系统
作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏:Java精选实战项目…...
HJ50-四则运算:栈的运用、中缀表达式转后缀表达式并计算结果
文章目录 题目一、分析1.1表达式预处理1.2中缀表达式转后缀1.3 后缀表达式计算结果 二、答案 题目 一、分析 通过利用栈将中缀表达式转换为后缀表达式,在根据后缀表达式计算运算结果。由于包含负数操作数的情况,并且操作数位数不固定为1,因此…...
C++编程:实现简单的高精度时间日志记录小程序
0. 概述 为了检查是否存在系统时间跳变,本文使用C实现了一个简单的高精度时间日志记录小程序。该程序能够每隔指定时间(默认40毫秒)记录一次系统时间到文件中,并具备以下功能: 自定义时间间隔和文件名:通…...
QQ机器人搭建
使用QQ官方机器人Python SDK和三方框架搭建QQ群聊机器人 文章目录 使用QQ官方机器人Python SDK和三方框架搭建QQ群聊机器人前言编写机器人代码机器人监听群聊进行文字回复机器人监听群聊进行图片回复机器人监听群聊进行文件发送机器人监听群聊进行视频发送机器人监听群聊进行语…...
flink设置保存点和恢复保存点
增加了hdfs package com.qyt;import org.apache.flink.api.java.functions.KeySelector; import org.apache.flink.api.java.tuple.Tuple2;import org.apache.flink.runtime.state.storage.FileSystemCheckpointStorage;import org.apache.flink.streaming.api.datastream.Dat…...
使用python获取百度一下,热搜TOP数据详情
一、查找对应链接 # 警告:以下代码仅供学习和交流使用,严禁用于任何违法活动。 # 本代码旨在帮助理解和学习编程概念,不得用于侵犯他人权益或违反法律法规的行为。 1、打开百度页面 百度一下,你就知道 2、点击F12 或 右键鼠标…...
Go conc库学习与使用
文章目录 主要功能和特点conc 的安装典型使用场景示例代码并行执行多个 Goroutines错误处理限制并发 Goroutines 数量使用 context.Context 进行任务控制 常见问题1. **任务中发生 panic**原因:解决方法: 2. **conc.Group 重复调用 Wait()**原因…...
大模型prompt先关
对于未出现的任务,prompt编写技巧: 1、假设你是资深的摘要生成专家,根据提供的内容,总结对应的摘要信息。请生成一个指令,指令中带有一个使用例子。直接提供给大型模型以执行此任务。 2、基于大模型提供的内容再进行二…...
国际首都公报:湖北省放飞炬人国际控股集团国际总裁方达炬批准《湖北省放飞炬人国际控股集团国际军务涉军事法院规章》施行
国际首都公报:湖北省放飞炬人国际控股集团国际总裁方达炬批准《湖北省放飞炬人国际控股集团国际军务涉军事法院规章》施行...
Phi-3-mini-128k-instruct与智能车仿真:生成自然语言控制逻辑与调试报告
Phi-3-mini-128k-instruct与智能车仿真:生成自然语言控制逻辑与调试报告 最近在折腾一个智能车仿真项目,发现一个挺有意思的事儿:让AI来帮忙写控制逻辑和看报告,效率提升了不少。以前我们得手动把“绕过前面那个障碍物࿰…...
别再重复积分了!手把手教你用IMU预积分优化LIO-SAM(附代码避坑点)
激光SLAM实战:IMU预积分在LIO-SAM中的高效实现与调优指南 当你在深夜调试LIO-SAM时,是否曾被重复积分导致的性能瓶颈折磨得抓狂?IMU预积分技术正是解决这一痛点的银弹。不同于传统惯性积分对初始状态的强依赖,预积分将相对运动量…...
避坑指南:通达信指标加密的4种方法实测,哪种最难被破解?
通达信指标加密技术深度测评:从入门到防破解实战 在量化交易和个性化指标分析领域,通达信作为国内主流证券分析软件,其自定义指标功能一直备受投资者青睐。但随之而来的指标被盗用、滥用问题也让许多开发者头疼不已——一个经过数月验证的高胜…...
ESP32 FreeRTOS任务状态全解析:从就绪态到挂起态的深度理解与应用
ESP32 FreeRTOS任务状态全解析:从就绪态到挂起态的深度理解与应用 在嵌入式系统开发中,任务调度是实时操作系统(RTOS)的核心功能之一。对于ESP32开发者而言,深入理解FreeRTOS的任务状态模型,能够帮助我们编写出更高效、更可靠的多…...
STM32一键下载电路设计与CH340应用
STM32一键下载电路设计与实现1. 项目概述1.1 功能需求STM32系列微控制器在开发过程中,通常需要通过串口进行程序下载。传统下载方式需要手动操作BOOT0和RESET引脚,过程繁琐且容易出错。本项目设计了一种基于CH340芯片的自动下载电路,通过软件…...
Polars 2.0 + Delta Lake + DuckDB三端协同清洗方案(附GitHub Star 1.2k的私有化部署模板)
第一章:Polars 2.0 Delta Lake DuckDB三端协同清洗方案概览现代数据工程正面临高吞吐、低延迟与强一致性三重挑战。Polars 2.0 以 Rust 驱动的惰性执行引擎提供亚毫秒级列式计算能力;Delta Lake 2.4 引入统一元数据协议与事务日志快照机制,…...
# 状态通道实战:用Solidity实现高效链下交易与链上结算 在区块链世界中,**扩展性瓶颈**一直是开发者绕
状态通道实战:用Solidity实现高效链下交易与链上结算 在区块链世界中,扩展性瓶颈一直是开发者绕不开的话题。传统智能合约每笔交互都需上链,不仅成本高昂,还导致网络拥堵。而**状态通道(State Channel)**技…...
手把手教你搞定VMware VCP-DCV 2024线下考试预约(附北上广考位抢票攻略)
2024年VMware VCP-DCV认证考试抢位全攻略:一线城市实战技巧 凌晨三点,北京中关村某科技公司的运维工程师小李又一次刷新了Pearson VUE页面——这已经是他连续第七天蹲守VCP-DCV 2024的考位。作为晋升技术主管的硬性条件,这张认证对他来说价值…...
Java 25正式支持ZGC 2.0仅剩72小时!你还没掌握这8个颠覆性调优参数?
第一章:ZGC 2.0在Java 25中的里程碑意义与演进全景ZGC 2.0 是 Java 25 中最具突破性的垃圾回收器升级,标志着低延迟 GC 技术从“亚毫秒停顿”正式迈向“纳秒级停顿保障”的新纪元。它不再仅依赖染色指针(Colored Pointers)和读屏障…...
