C++学习笔记 | 基于Qt框架开发实时成绩显示排序系统1

时间:2024-02-11 23:37:36 标签:  学习笔记  

目标:旨在开发一个用户友好的软件工具,用于协助用户基于输入对象的成绩数据进行排序。该工具的特色在于,新输入的数据将以红色高亮显示,从而直观地展现出排序过程中数据变化的每一个步骤。

结果展示:

        本程序是一个基于Qt框架开发的用户友好型软件工具,专为管理和展示运动员成绩信息而设计。 该程序的亮点在于其直观的数据展示方式。新输入或更新的运动员数据会以红色高亮显示,使用户能够清晰地追踪每次操作后数据的变化。 通过精心设计的GUI,该工具提供了清晰、易于导航的用户界面,包括用于数据展示的表格视图、用于输入和编辑运动员信息的表单,以及一系列操作按钮,如排序、添加新运动员、编辑选定运动员和删除运动员等。整个应用旨在为教练、体育分析师或团队管理者等用户提供一个高效、直观的运动员管理和分析平台。 

        话不多说直接上代码!


一、算法实现 (此步请直接跳过)

关于如何使用VSCode实现C++编程给大家推荐这个博文,写的很好:vscode配置C/C++环境(超详细保姆级教学)-CSDN博客

1)先定义一个对象,包含姓名、年龄、身高和成绩等属性。

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;class Athlete {
public:string name;int age;float height;float score;Athlete(string n, int a, float h, float s) : name(n), age(a), height(h), score(s) {}bool operator < (const Athlete& athlete) const {return score < athlete.score;}
};

2)若数据集小直接插入排序最快,数据集大快速排序比较好,因此选取了这两种方法,可根据数据集大小自行选择。

// 直接插入排序
void insertionSort(vector<Athlete>& arr) {for (int i = 1; i < arr.size(); i++) {Athlete key = arr[i];int j = i - 1;while (j >= 0 && arr[j].score > key.score) {arr[j + 1] = arr[j];j = j - 1;}arr[j + 1] = key;}
}// 快速排序
int partition(vector<Athlete>& arr, int low, int high) {float pivot = arr[high].score;int i = (low - 1);for (int j = low; j <= high - 1; j++) {if (arr[j].score < pivot) {i++;swap(arr[i], arr[j]);}}swap(arr[i + 1], arr[high]);return (i + 1);
}void quickSort(vector<Athlete>& arr, int low, int high) {if (low < high) {int pi = partition(arr, low, high);quickSort(arr, low, pi - 1);quickSort(arr, pi + 1, high);}
}

算法相关的内容大概就这些,现在开始使用Qt实现可视化界面。


二、Qt 实现

Qt下载:Index of /archive/qt
关于Qt的学习分享一个up主的课程:1.4 Qt的安装_哔哩哔哩_bilibili

程序结构文件:

1)athlete.h
#ifndef ATHLETE_H
#define ATHLETE_H#include <string>
using std::string;class Athlete {
public:string name;float scores[6] = {0}; // 假设有6轮成绩float totalScore = 0; // 总成绩// 更新指定轮次的成绩并重新计算总成绩void updateScore(int round, float score) {if (round >= 1 && round <= 6) { // 确保轮次有效scores[round - 1] = score; // 更新成绩,轮次从1开始,数组索引从0开始calculateTotalScore(); // 重新计算总成绩}}// 计算总成绩void calculateTotalScore() {totalScore = 0;for (int i = 0; i < 6; ++i) {totalScore += scores[i];}}
};#endif // ATHLETE_H
2)athletemodel.h
#ifndef ATHLETEMODEL_H
#define ATHLETEMODEL_H#include <QStandardItemModel>
#include "athlete.h" // 确保这里正确包含了你的Athlete类定义class AthleteModel : public QStandardItemModel {Q_OBJECTpublic:explicit AthleteModel(QObject *parent = nullptr);// 添加或更新运动员的成绩,根据需要创建新运动员void updateAthleteScore(const std::string& name, int round, float score);private:// 辅助函数,根据运动员名字查找对应的行。如果找不到,返回-1int findRowByName(const std::string& name);
};#endif // ATHLETEMODEL_H
3)mainwindow.h
//mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <vector>
#include "athlete.h"
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();void displayAthleteInfo(const std::vector<Athlete>& athletes);
private:Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
4)athletemodel.cpp
#include "athletemodel.h"
#include <QStandardItem>
#include <QBrush> // 用于设置颜色AthleteModel::AthleteModel(QObject *parent) : QStandardItemModel(parent) {setHorizontalHeaderLabels({"Name", "1", "2", "3", "4", "5", "6", "Total"});
}void AthleteModel::updateAthleteScore(const std::string& name, int round, float score) {int row = findRowByName(name);QBrush redBrush(Qt::red);QBrush defaultBrush(Qt::black); // 默认颜色int newRow = -1; // 新行索引// 首先,将所有行的颜色设置回默认颜色for (int r = 0; r < rowCount(); ++r) {for (int c = 0; c < columnCount(); ++c) {auto item = this->item(r, c);item->setForeground(defaultBrush);}}if (row == -1) {// 运动员不存在,创建新运动员QList<QStandardItem*> items;items << new QStandardItem(QString::fromStdString(name));for (int i = 1; i <= 6; ++i) {items << new QStandardItem(QString::number(i == round ? score : 0.0f)); // 除了当前轮次外其他成绩初始化为0}items << new QStandardItem(QString::number(score)); // 总成绩初始化为当前轮次成绩newRow = rowCount(); // 新添加的行是当前行数(因为还没有实际添加)appendRow(items);} else {// 运动员已存在,更新成绩auto scoreItem = item(row, round);float oldScore = scoreItem->text().toFloat();scoreItem->setText(QString::number(score));// 更新总成绩auto totalItem = item(row, 7);float totalScore = totalItem->text().toFloat() - oldScore + score;totalItem->setText(QString::number(totalScore));newRow = row; // 更新的行就是找到的行if (newRow != -1) {for (int column = 0; column < columnCount(); ++column) {auto item = this->item(newRow, column);item->setForeground(redBrush);}}}
}int AthleteModel::findRowByName(const std::string& name) {for (int row = 0; row < rowCount(); ++row) {if (item(row, 0)->text() == QString::fromStdString(name)) {return row;}}return -1; // 运动员不存在
}
5)main.cpp
#include "mainwindow.h"
#include "athlete.h"
#include <QApplication>int main(int argc, char *argv[])
{// 应用程序类,在一个qt应用程序中,该对象只有一个QApplication a(argc, argv);// 窗口对象MainWindow w;// 显示函数w.show();// 阻塞函数,程序事件循环return a.exec();
}
6)mainwindow.cpp
//mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "athletemodel.h"
#include <QSortFilterProxyModel>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui->setupUi(this);// 设置窗口标题setWindowTitle("运动员成绩显示系统");// 设置窗口图标setWindowIcon(QIcon("E:\\CoachManagementSystem\\shooting coaches and athletes.png"));auto model = new AthleteModel(this);auto proxyModel = new QSortFilterProxyModel(this);proxyModel->setSourceModel(model);ui->tableView->setModel(proxyModel);ui->comboBox->addItems({"1", "2", "3", "4", "5", "6"});connect(ui->pushButton, &QPushButton::clicked, this, [this, model, proxyModel]() {QString name = ui->textEdit_2->toPlainText().trimmed();float score = static_cast<float>(ui->doubleSpinBox->value());int round = ui->comboBox->currentIndex() + 1; // +1 because rounds are 1-basedif (name.isEmpty()) {// Handle empty name input appropriatelyreturn;}// 更新或添加运动员成绩model->updateAthleteScore(name.toStdString(), round, score); // 此方法需要在model中实现// 重新排序,这里假设proxyModel已经设置为根据总成绩降序排序proxyModel->sort(7, Qt::DescendingOrder); // 假设总成绩在第8列(列索引为7)ui->tableView->reset();});
}MainWindow::~MainWindow() {delete ui;
}
7)mainwindow.ui
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0"><class>MainWindow</class><widget class="QMainWindow" name="MainWindow"><property name="geometry"><rect><x>0</x><y>0</y><width>1061</width><height>589</height></rect></property><property name="windowTitle"><string>MainWindow</string></property><widget class="QWidget" name="centralwidget"><widget class="QPushButton" name="pushButton"><property name="geometry"><rect><x>470</x><y>500</y><width>91</width><height>31</height></rect></property><property name="text"><string>更新</string></property></widget><widget class="QDoubleSpinBox" name="doubleSpinBox"><property name="geometry"><rect><x>350</x><y>500</y><width>91</width><height>31</height></rect></property><property name="maximum"><double>999.990000000000009</double></property></widget><widget class="QLabel" name="label"><property name="geometry"><rect><x>220</x><y>480</y><width>31</width><height>16</height></rect></property><property name="text"><string>姓名</string></property></widget><widget class="QLabel" name="label_2"><property name="geometry"><rect><x>380</x><y>480</y><width>31</width><height>16</height></rect></property><property name="text"><string>成绩</string></property></widget><widget class="QLabel" name="label_3"><property name="geometry"><rect><x>510</x><y>20</y><width>91</width><height>16</height></rect></property><property name="text"><string>实时成绩展示</string></property></widget><widget class="QTextEdit" name="textEdit_2"><property name="geometry"><rect><x>150</x><y>500</y><width>171</width><height>31</height></rect></property></widget><widget class="QComboBox" name="comboBox"><property name="geometry"><rect><x>30</x><y>500</y><width>101</width><height>31</height></rect></property></widget><widget class="QTableView" name="tableView"><property name="geometry"><rect><x>15</x><y>41</y><width>1031</width><height>421</height></rect></property></widget></widget><widget class="QMenuBar" name="menubar"><property name="geometry"><rect><x>0</x><y>0</y><width>1061</width><height>26</height></rect></property></widget><widget class="QStatusBar" name="statusbar"/></widget><resources/><connections/>
</ui>
来源:分享自作者个人站点/博客

智能推荐

目标&#xff1a;旨在开发一个用户友好的软件工具&#xff0c;用于协助用户基于输入对象的成绩数据进行排序。该工具的特色在于&#xff0c;新输入的数据将以红色高亮显示&#xff0c;从而直观地展现出排序过程中数据变化的每一个步骤。 结果展示&#xff1a;      

标签:学习笔记  

在我们Qt项目设计中,经常需要显示系统时间。本文讲解如何实现。 该实例使用label和lcdNumber两种控件进行分别显示。 创建窗口项目,添加控件

标签:程序设计  

1.功能描述 在上位机中显示系统的实时时间 2.代码部分 步骤1&#xff1a;添加文本框控件并设置参数 #此处注意将BackColor颜色修改为非Control&#xff0c;即可正常显示ForeColor颜色&#xff0c;否则该颜色不变&#xff0c;原因暂且不明。 步骤2&

标签:上位  

学生成绩管理系统主要包括录入学生信息、查找学生信息、删除学生信息、修改学生信息、排序、统计学生总人数、显示学生信息和退出系统。 系统界面编写&#xff08;菜单显示函数&#xff09;&#xff1a; def menu():print(&#39;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;学生信息管理系统&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#39;)print(&#39;---------------功能菜单------------

标签:入门  

Flask框架小程序后端分离开发学习笔记《1》网络知识 Flask是使用python的后端&#xff0c;由于小程序需要后端开发&#xff0c;遂学习一下后端开发。 一、网址组成介绍 协议&#xff1a;http&#

标签:学习笔记  

Flask框架开发学习笔记《6》前后端不分离基础框架 Flask是使用python的后端&#xff0c;由于小程序需要后端开发&#xff0c;遂学习一下后端开发。 主要包含如下文件&#xff1a; static 目录中存

标签:框架  

点击以下链接获取源码&#xff1a; https://download.csdn.net/download/qq_64505944/88820889?spm&#61;1001.2014.3001.5503

标签:成绩管理系统  

大家好✌&#xff01;我是Dwzun。很高兴你能来阅读我&#xff0c;我会陆续更新Java后端、前端、数据库、项目案例等相关知识点总结&#xff0c;还为大家分享优质的实战项目&#xff0c;本人在Java项目开发领域有多年的经验&#xff0c;陆续会

标签:成绩管理系统  

原理在一个班级学生成绩管理系统中,希望处理每个学生的学习情况信息,其中包括学生的学号、姓名、各科名称和成绩等并能使管理人员通过界面完成对学生信息的录入及对学生信息的录入及对数据的查找、浏览、插入、排序、保存。要求:1、提供用户界面2、每一条记录包括一个学生的学号、姓名、三门课成绩、平均成绩3、输入功能:可以一次完成若干条记录的输入4、显示功能:完成全部学生记录的显示5、查找功能:完成按姓名查找学生记录,并显示6、排序功能:按学生平均成绩进行排序7、插入功能:按平均成绩高低插入一条学生记录8、将学生记录存在文件score中&nbsp;

标签:语言  操作  成绩管理系统  文件  学生  

题干 c&#43;&#43;实现

标签:成绩  

《[含文档&#43;PPT&#43;源码等]精品基于Uniapp&#43;ssm学生成绩管理系统App》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功&#xff01; 软件开发环境及开发工具&#xff1a; 开发语言&#xff1a;Java 后台框架&#xff1a;ssm 安卓框架&#xff1a;Uniapp JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat9.0 数据库&#xff1a;mysql 5.7 数据库工具&#xff1a;Navicat11

标签:成绩管理系统  

学生成绩管理系统C&#43;&#43;语言&#xff0c;编程要求&#xff1a; 1&#xff09;学生基本信息及成绩所选科目成绩的录入。 2&#xff09;基本信息的查询&#xff08;分系、班级&#xff1b;分科目&#xff09;与修改。 3&#xff09;对每系或每班各科成绩进行分析&#xff08;即求单科平均成绩、及格率和优秀率&#xff09;&#xff1b; 4&#xff09;对所开课程的成绩分析&#xff08;求其平均成绩&#xff0c;最高分和最低分&#xff09;&#xff1b; 5&#xff09;对学生考试成绩进行排名&#xff08;单科按系别或班级进行排名&#xff0c;对每一

标签:语言  

css负责布局 js负责动作 2.磁盘路径

标签:学习笔记  

css负责布局 js负责动作 2.磁盘路径 3.水平线标签

标签:学习笔记  

目录 第一步&#xff0c;配置ui界面  第二步&#xff0c;头文件

标签:对话框  

先赞后看&#xff0c;养成习惯&#xff01;&#xff01;&#xff01;❤️ ❤️ ❤️ 文章码字不易&#xff0c;如果喜欢可以关注我哦&#xff01; ​如果本篇内容对你有所启发&#xff0c;欢迎访问我的个人博客了解更多内容&#xff1a;链接地址 MyBatisPlus &#xff08;简称MP&#xff09;是基于MyBatis框架基础上开发的增强型工具&#xff0c;旨在&#61;&#61;简化开发、提高效率&#61;&#61; MP的特性:

标签:学习笔记  

先赞后看&#xff0c;养成习惯&#xff01;&#xff01;&#xff01;❤️ ❤️ ❤️ 文章码字不易&#xff0c;如果喜欢可以关注我哦&#xff01; ​如果本篇内容对你有所启发&#xff0c;欢迎访问我的个人博客了解更多内容&#xff1a;链接地址 MyBatisPlus &#xff08;简称MP&#xff09;是基于MyBatis框架基础上开发的增强型工具&#xff0c;旨在&#61;&#61;简化开发、提高效率&#61;&#61; MP的特性:

标签:学习笔记  

1.1 为什么要学 QtQt是一个跨平台的 C++ 图形用户界面应用程序框架Qt 为应用程序开发者提供建立艺术级图形界面所需的所有功能Qt 是完全面向对象的,很容易扩展,并且允许真正的组件编程(1)Qt 发展史在讲解学习 Qt 的必要性之前, 先来了解下 Qt 的发展历史:1991年,Qt 最早由 奇趣科技(TrollTech)开发1996年,进入商业领域,它也是目前流行的 Linux 桌面环境 KDE 的基础2008年,奇趣科技被诺基亚公司收购,Qt 成为诺基亚旗下的编程语言2012年,Qt 又被 Digia

标签:基础  笔记  Qt  

Java基础1.1. Java简介与安装1.2. Java基本语法1.3. 数据类型与变量1.4. 运算符与表达式1.5. 流程控制(分支与循环)1.6. 数组面向对象编程2.1. 类与对象2.2. 继承与多态2.3. 接口与抽象类2.4. 封装与访问控制2.5. 重载与覆盖2.6. Java内存管理与垃圾回收Java常用类库3.1. 字符串与StringBuilder3.2. 数学类(Math、BigInteger、BigDecimal)3.

标签:框架  java  

代码框架 // 在数组nums将下标从left到right中进行从小到大排序// 原理是先将一个元素排好序&#xff0c;然后将其他的元素排好序void sort(int[] nums, int left, int right) {if (left >&#61; right) {return;}// 对数组nums[left,right]进行切分&#xff0c;使得nums[left,p-1]<&#61;nums[p]<&#61;nums[p&#43;1,right]int p &#61; partition(nums, left, right);// 去左右数组进行切分sort(nu

标签:学习笔记  

目 录 目 录 I 摘 要 III ABSTRACT IV 1 绪论 1 1.1 课题背景 1 1.2 研究现状 1 1

标签:框架  

由于工作原因,需要使用到深度学习pytorch框架,所以,跟随视频学习了深度学习框架的使用方法,视频链接如下:PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】_哔哩哔哩_bilibili1、安装pytorch在windows下使用pytorch,首先找到anaconda官网,安装64位windows版本,然后使用清华的源替换掉anaconda默认源,详细教程如下(2条消息) 【2022】保姆级Anaconda安装与换国内源教程_anaconda换源_NoBug2022的博客-CSDN博客打开anaconda promptconda create -n your_env_name py

标签:学习笔记  框架  深度  Pytorch  

Qt 学习笔记全系列传送门:Qt 学习笔记 - 第一章 - 快速开始、信号与槽Qt 学习笔记 - 第二章 - 添加图片、布局、界面切换Qt 学习笔记 - 第三章 - Qt的三驾马车之一 - 串口编程 + 程序打包成Windows软件Qt 学习笔记 - 第四章 - Qt的三驾马车之二 - 网络编程【本章】Qt 学习笔记 - 第五章 - Qt 时间编程 - Qt 时钟目录

标签:第五章  时钟  学习笔记  时间  Qt  

1.基本介绍 2.基本使用 在mapper中定义 在xml中定义&#xff0c;id为方法名&#xff0c;resultType为实体类的

标签:学习笔记  

Flask框架开发学习笔记《5》 Flask是使用python的后端&#xff0c;由于小程序需要后端开发&#xff0c;遂学习一下后端开发。 简易服务器代码 接口解析那一块很关键&#xff0c;学后端服务器这一块&#xff0

标签:简易  

猜你喜欢

2018年5月 python web 框架Django学习笔记 Django 架站的16堂课 MVC架构设计师大部分框架或大型程序项目中一种软件工程的架构模式&#xff0c;

标签:学习笔记  

Flask框架小程序后端分离开发学习笔记《2》构建基础的HTTP服务器 Flask是使用python的后端&#xff0c;由于小程序需要后端开发&#xff0c;遂学习一下后端开发。本节提供一个构建简单的本地服务器的代码&#xff0c;仔细看注释&#xff0c;学

标签:学习笔记  

目录 前言&#xff1a; 一、Qt Creator 使用技巧 

标签:笔记  

基于实例的学习 文章目录 基于实例的学习1 基本概念与最近邻方法2 K-近邻&#xff08;KNN&#xff09;3 距离加权 KNN4 基

标签:学习笔记  

1.使用mybatis基本步骤 2.引入依赖 <!-- mysql--><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId></dependency><!-

标签:注解  

计算机毕业设计&#xff1a;打造安全、高效的信息管理系统在这个数字化时代&#xff0c;信息安全和高效管理是至关重要的。为了帮助学校或机构更好地管理和保护信息&#xff0c;我们为您设计了一套功能强大的信息管理系统。该系统利用先进的技术&#xff0c;结合MD5加密&#x1f512;、SSM框架&#x1f3a8;和Layui框架&#x1f384;&#xff0c;旨在提供稳定可靠的服务。主要功能如下&#xff1a;1. 管理员的登录与登出&#xff1a;通过安全的身份验证机制&#xff0c;确保只有授权的管理员能够访问系统&#xff0c;保障信息安全。2. 管理员、班级、学生、宿舍&#xff0c;卫生&#xff0c

标签:框架  

简介hyperf-im&nbsp;是基于&nbsp;Hyperf&nbsp;微服务协程框架和&nbsp;Layim&nbsp;网页聊天系统 所开发出来的聊天室。体验地址hyperf-im&nbsp;im.jayjay.cn功能Githubhyperf-im登录注册(Http)单点登录(Websocket)私聊(Websocket)群聊(Websocket)在线人数(Websocket)获取未读消息(Websocket)好友在线状态(W

标签:框架  系统  hyperf  layim  

1.时钟树 从图中可以看出一共有四个时钟来源&#xff0c;分别是内部

标签:时钟  

树是一种非常重要的数据结构&#xff0c;它在计算机科学中的应用非常广泛。在本篇博客中&#xff0c;我们将介绍树的基本概念和C&#43;&#43;中如何实现树。 目录

标签:学习笔记  

python&#43;tkinter&#43;matplotlib学生管理系统 一.需求分析 读取学生成绩的excel表格到数据库中将学生成绩导出到excel文件中学生成绩单增删改查与展示

标签:期末  

基于嵌入式Linux 的完整系统软件由三个部分组成&#xff1a;系统引导程序、Linux 操作系统内核

标签:学习笔记  

版本日期备注1.02021.5.9文章首发这是我的学习笔记,大量摘抄网上、书本里的内容,

标签:学习笔记  框架  数据  

版本日期备注1.02021.5.9文章首发

标签:学习笔记  框架  数据  

文章目录 一、AOP1.AOP简介2.AOP入门案例分析3.AOP工作流程4.AOP切入点表达式6.AOP通知获取数据

标签:学习笔记  

D2:开始程序实现程序结构分类C:client-单机(几乎不和网络关联S:server-服务器应用(兼容性好,跨平台C/S:ClientServe-客户端与服务器应用-端应用(功能强,稳定性好,用户体验良好/更新维护成本高,比如双十一,及时性不太好,需要updateB/S:BrowserServer-浏览器与服务器应用-页应用(轻量级,跨平台跨终端,即时性高,维护成本低/稳定性低,依赖网络环境等Hybird App:C/S + B/S B/S + C/S微信小程序,快应用技术,5+app,weex

标签:笔记  程序  成理  

Qt学习笔记 1 使用Qt Creator 新建项目2 项目代码解释3 创建第一个 Hello World 程序4 关于内存泄漏问题5 Qt 中的对象树6 关

标签:学习笔记  

主要核心代码如下 功能介绍

标签:实时  

文章目录 第1章 统计学习方法概论1.1 统计学习1&#xff0e;统计学习的特点2&#xff0e;统计学习的对象3&#xff0e;统计学习的目

标签:学习方法  

前言 准备工作包括&#xff1a;需求分析、项目创建、主菜单实现、退出功能实现 目录 1 机房预约系统需求 1.1 简单介绍

标签:准备工作  

微信小程序开发学习笔记《8》tabBar 博主正在学习微信小程序开发&#xff0c;希望记录自己学习过程同时与广大网友共同学习讨论。tabBar官方文档 t

标签:程序开发  

开发板:JZ2440(裸板烧写)一、使用oflash烧写&nbsp; &nbsp; &nbsp; &nbsp;工具:EasyOpenJTAG

标签:学习笔记  开发板  程序  

记得开插件&#xff1a; 1、锚点场 在锚点场范围内的物体静止且不被其他力场损坏

标签:学习笔记  

SQL实践1借着学校的数据库实验,来对之前学习的SQL语言进行实践和总结。实验环境:macOS 13.2 (22D49)mysql Ver 8.0.32 for macos13.0 on arm64 (Homebrew)DataGrip 2022.3.3一. DataGrip连接本地MySQL由于我之前都是用vs code的插件连接MySQL的(可能是我不会用,我感觉不太好使

标签:学习笔记  mysql  SQL  

基于java的SSM框架实现在线学习系统演示 摘要 本论文主要论述了如何使用JAVA语言开发一个在线学习系统 &#xff0c;本系统将严格按照软件开发流程进行各个阶段的工作&#xff0c;采用B/S架构&#xff0c;面向对象编程思想进行项目开发。在引言中&#xff0c;作者将论述在线学习系统的当前背景以及系统开发的

标签:在线  

 学校图书馆里有大量的各种领域的图书&#xff0c;可供学校各个专业的师生来借阅与做科学和论文研究&#xff0c;但过去图书馆的借阅、归还及图书资料的管理完全依靠图书馆工作人员的手工记录与引导师生找寻借阅的书籍&#xff0c;其耗时费力且低效&#xff0c;开发的学校图书管理系统成为图书馆亟需要做的一件事情。该学校图书管理系统是一款为学校内广大的师生用户提供图书的借还高效服务的系统。该学校图书管理系统采用前后端分离设计的思路进行开发&#xff0c;其中前端采用小程序和Vue.js技术设计用户以角色不同的使用页面&#xff0c;后端采用SpringBoot框架和Java技术并结合MySQL数据

标签:图书管理系统  

相关问题

相关文章

热门文章

推荐文章

相关标签