基于python+控制台+txt文档实现学生成绩管理系统(含课程实训报告)

news2024/11/17 20:46:20

目录

第一章 需求分析

第二章 系统设计

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 程序展示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2175016.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024.9.28 作业+思维导图

widget.cpp #include "widget.h"Widget::Widget(QWidget *parent): QWidget(parent) {this->setFixedSize(320,448);this->setWindowFlag(Qt::FramelessWindowHint);//QPushButtonQPushButton *PushButton1 new QPushButton("登录",this);PushButto…

先进封装技术 Part02---TSV科普

一、引言 随着电子设备向更小型化、更高性能的方向发展,传统的芯片互连技术已经无法满足日益增长的需求。在这样的背景下,TSV(Through-Silicon Via,硅通孔)技术应运而生,成为先进封装技术中的核心之一。 如果我们看大多数主板,可以看到两件事:第一,芯片之间的大多数连…

《深度学习》自然语言处理 统计、神经语言模型 结构、推导解析

目录 一、语言转换方法 1、如何将语言转换为模型可以直接识别的内容 1)数据预处理 2)特征提取 3)模型输入 4)模型推理 二、语言模型 1、统计语言模型 1) 案例: • 运行结果: • 稀疏…

AI Agent如何落地?来看看在教育行业大厂的落地实践

大家好,我是Shelly,一个专注于输出AI工具和科技前沿内容的AI应用教练,体验过300款以上的AI应用工具。关注科技及大模型领域对社会的影响10年。关注我一起驾驭AI工具,拥抱AI时代的到来。 以正教育AI Agent 以正教育大模型AI Agen…

【4.7】图搜索算法-DFS和BFS解根到叶子节点数字之和

一、题目 给定一个二叉树,它的每个结点都存放一个 0-9 的数字, 每条从根到叶子节点的路径都代表一个数字 。 例如,从根到叶子节点路径 1->2->3 代表数字 123。计算从根到叶子节点生成的所有数字之和。 说明 : 叶子节点是指没有子节点…

CF补题第二天

题1 先来一道最短路热身 题目描述: 思路:第一眼SPFA,结果直接超时,正解思路:每一条边只走一次,那么我们找出不同的连通块,然后拓扑排序求最短路(因为无环),…

有问题未解决(9.28)

#include <stdio.h> int main() {int a 1;int b 2;int c 3;int arr[] { a,b,c };arr[0] 10;printf("%d\n", a);//打印结果为1&#xff1b;return 0; } 颠覆认知了&#xff0c;或许也没有颠覆 arr是一个int类型的数组&#xff0c;他存的就是一个数&…

Android——ContentObserver监听短信

概述 内容观察器ContentObserver给目标内容注册一个观察器&#xff0c;目标内容的数据一旦发生变化&#xff0c;观察器规定好的动作马上触发&#xff0c;从而执行开发者预先定义的代码。 思路 注册一个监听 getContentResolver().registerContentObserver(uri, true, mObser…

QT+ESP8266+STM32项目构建三部曲三--QT从环境配置到源程序的解析

一、阿里云环境配置 大家在编写QT连接阿里云的程序之前&#xff0c;先按照下面这篇文章让消息可以在阿里云上顺利流转 QTESP8266STM32项目构建三部曲二--阿里云云端处理之云产品流转-CSDN博客文章浏览阅读485次&#xff0c;点赞7次&#xff0c;收藏4次。创建两个设备&#xff…

找不到msvcp110.dll怎么办,总结6种解决msvcp110.dll的方法

在电脑使用过程中&#xff0c;我们可能会遇到各种各样的问题&#xff0c;其中之一就是系统提示某个文件丢失。msvcp110.dll丢失是一个比较常见的问题&#xff0c;它可能导致某些程序无法正常运行。那么&#xff0c;如何解决这个问题呢&#xff1f;本文将详细介绍6种修复msvcp11…

手把手教你用PyTorch从零训练自己的大模型(非常详细)零基础入门到精通,收藏这一篇就够了

长按关注《AI科技论谈》 LLM是如今大多数AI聊天机器人的核心基础&#xff0c;例如ChatGPT、Gemini、MetaAI、Mistral AI等。这些LLM背后的核心是Transformer架构。 本文介绍如何一步步使用PyTorch从零开始构建和训练一个大型语言模型&#xff08;LLM&#xff09;。该模型以Tra…

OpenHarmony标准系统上实现对rk系列芯片NPU的支持(npu使用)

在上篇文章中&#xff0c;我们学习了移植rk的npu驱动到OpenHarmony提供的内核。本文我们来学习如何在OpenHarmony标准系统rk系列芯片如何使用npu OpenHarmony RK系列芯片运行npu测试用例 在移植npu驱动到OpenHarmony之后&#xff0c;来运行npu样例进行简单测试 1.O 测试准备…

【球形空间产生器】

题目 代码 #pragma GCC optimize(3) #include <bits/stdc.h> using namespace std; const double eps 1e-6; const int N 12; double g[N][N]; double ss[N]; int n; void gauss() {int c, r, t;for(c 1, r 1; c < n; c){int t r;for(int i r1; i < n; i)i…

Wayfair封号的常见原因及解决方案解析

近期关于Wayfair账号封禁的问题引发了广泛讨论。许多用户报告称&#xff0c;他们的Wayfair账户被突然封禁&#xff0c;这一现象不仅影响了用户的购物体验&#xff0c;也对Wayfair的品牌形象造成了一定的冲击。本文将深入探讨Wayfair封号的原因&#xff0c;并提出相应的解决方案…

【SpringCloud】服务注册/服务发现-Eureka

服务注册/服务发现-Eureka 1. 背景1.1 问题描述1.2 解决思路1.3 什么是注册中⼼1.4 CAP理论1.5 常⻅的注册中⼼ 2. Eureka 介绍3. 搭建Eureka Server 1. 背景 1.1 问题描述 上个章节的例⼦中可以看到, 远程调⽤时, 我们的URL是写死的 String url "http://127.0.0.1:90…

Flink CDC实时同步MySQL到Doris

文章目录 1.开启Flink集群2.MySQL准备数据并开启Binlog3.FlinkCDC 提交任务到集群任务提交同步变更库表迁移 问题总结 Apache Flink CDC&#xff08;Change Data Capture&#xff09;是一个用于捕获和跟踪数据库更改的技术&#xff0c;它能够实时地从数据库中获取数据变更&…

★ C++进阶篇 ★ map和set

Ciallo&#xff5e;(∠・ω< )⌒☆ ~ 今天&#xff0c;我将继续和大家一起学习C进阶篇第四章----map和set ~ ❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️ 澄岚主页&#xff1a;椎名澄嵐-CSDN博客 C基础篇专栏&#xff1a;★ C基础篇 ★_椎名澄嵐的博客-CSDN博…

AVLTree【c++实现】

目录 AVL树1.AVL树的概念2.AVLTree节点的定义3.AVLTree的插入4.AVLTree的旋转4.1左单旋4.2右单旋4.3左右双旋4.4右左双旋 5.AVLTree的验证6.AVLTree的性能 AVL树 AVLTree的代码实现连接&#xff1a; AVLTree 代码链接 1.AVL树的概念 学习了二叉搜索树之后&#xff0c;我们知…

18年408数据结构

第一题&#xff1a; 解析&#xff1a;这道题很简单&#xff0c;按部就班的做就可以了。 画出S1&#xff0c;S2两个栈的情况&#xff1a; S1: S2: 2 3 - 8 * 5 从S1中依次弹出两个操作数2和3&a…

甄选范文“论企业应用系统的数据持久层架构设计”,软考高级论文,系统架构设计师论文

论文真题 数据持久层(Data Persistence Layer)通常位于企业应用系统的业务逻辑层和数据源层之间,为整个项目提供一个高层、统一、安全、并发的数据持久机制,完成对各种数据进行持久化的编程工作,并为系统业务逻辑层提供服务。它能够使程序员避免手工编写访问数据源的方法…