自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

田乐蒙的博客

计科人记录的个人学习历程

  • 博客(415)
  • 问答 (6)
  • 收藏
  • 关注

原创 python的format易混淆的细节

之前使用format特性将提示词模板进行了优化,但是优化后总是有字符串解析错误。我是通过固定模板,大模型回复成json格式的字符串,之后进行处理。加上了format后,大模型回复的就是单引号形式,而json处理要求双引号形式。在python中,会将双引号包裹的自动转为单引号。

2025-08-09 10:03:11 76

原创 大模型部署、nvidia-smi、token数

而且,GPU在处理稀疏张量等任务时,部分计算可能属于无效或填充操作,这些操作会被计入利用率,但当任务量增加后,这些无用计算可转化为有效计算,从而在利用率不变的情况下提升实际性能。在调用大模型时,存在系统提示词和用户提示词,一般提示词token是两者的相加,系统提示词和用户提示词的开始和结束以特殊分隔符进行分隔。这个是模型上下文窗口的最大长度限制,即模型能处理的最大输入和输出token数量,是模型或服务层的静态配置。最终发现,没有加其他设置,显存拉满,gpu在跑上面的推理时的利用率为百分之七十多。

2025-08-04 21:02:31 833

原创 pytorch深度学习全流程:以简易数据、模型介绍

在更新模型参数之前并不是等待处理整个数据集,而是会处理较小批量的数据,一次处理一个批次。但是在评估过程中,不希望模型的输出具有随机性,即希望所有的神经元参与计算。训练过程中,Dropout层会按照概率随机将一部分神经元的输出置为0,BatchNorm层会使用当前mini-batch的均值和方差来对数据进行归一化。测试集在模型训练和调参的整个过程中都应被严格隔离,只在最后评估时使用一次,以确保评估结果的公正性和无偏性。推荐的方法是将模型训练后的参数进行保存,部署时将参数进行加载。则会学到非最优的模型参数。

2025-08-03 19:25:26 1260

原创 pytorch的 Size[3] 和 Size[3,1] 区别

今天参考d2l-zh-pytorch做循环神经网络中第一个练习时,没有导入d2l库(之前遇到到跟本地numpy冲突),部分需要d2l库的部分采用手搓,发现损失总是不收敛,跟预期极大。经过不断排查,发现是。在张量中,维度是用来表示数据结构的多维性。标量(scalar)是一个具有单一值的张量。这个上面的x是二维张量(向量),单个x元素是一维张量,维度为1。这个上面的x是一维张量(向量),单个x元素是标量,没有维度。这是由于我没有考虑到张量和标量的区别。这里的x就是为标量,它没有维度,所以是。

2025-08-02 16:00:51 231

原创 python中高效构建提示词

在做大模型应用项目时,经常需要处理system_prompt和user_prompt这两个提示词,对于样例、用户输入的query等需要填入。用最普通的拼接虽然很快,但是后期迭代会有些心智负担。f-string也可以用来表示,但是对于提示词构建来说不如format好使,毕竟少个啥没有被动态填充难以直观看出来(包裹的当作字符串,而不是要填充的内容,这个时候可以用。,xxx表示用其他变量动态填充到xxx这里。有非常多的使用方法,可以自行搜索了解。方法,将内容动态填充到字符串中。在提示词构建中,通常用的是。

2025-07-31 23:33:46 157

原创 python的异步、并发开发

它是一种逻辑上的“同时”,通过任务切换和调度实现,例如在单核处理器上通过时间片轮转技术让多个任务交替运行。Master进程管理这worker进程,如果worker进程挂了,Master会再产生相应的worker进行。在传统的同步模型中,当发起请求后,程序会立刻停下来,阻塞在这里,什么也不做,直到下载完成。这个对象本身不执行任何代码,它更像是一个“任务蓝图”或“一个可以稍后执行的任务”。修饰的函数,它定义的不是一个普通的函数,而是一个。异步和并发,之前没有搞过,属于是现学,记录一下。来部署,以支持并发处理。

2025-07-30 21:56:25 326

原创 python中的 @dataclass

但是将配置以特定字段顺序打印却很繁琐,要么需要实现类,要么以Dict+大量硬编码实现,同时也伴随着需求的不断变化。的东西,原来是简单的字符串formatter格式,现在要转为json格式,同时要传入不同字段并以特定顺序进行打印。传统上,定义一个只用来存储数据的类时,需要手动实现。是Python3.7引入的标准库功能,位于模块。装饰器要求必须字段必须在可选字段的前面。方法进行处理,极大的简化了开发效率。今天写日志模块时,需求需要将常见的。中,是用来简化数据类定义的装饰器。能自动生成这些方法。

2025-07-29 22:57:08 288

原创 python导包机制-更优方式

在app.py中可以使用来进行导入。之前我导入时是形如.modules.b这种形式(前面有),但是当导入的是上上级目录中的文件时异常难以导入。经过不断了解,才发现之前我导入的方式不够好。上述导包方式使得用python开发更像是在进行主流的前后端开发,心智负担很小,开发更加便捷。本文对上述导包方式进行记录,防止之后再犯蠢。包是存放多个模块的目录。在python3.3之前需要显示声明文件,之后版本不强制要求声明。

2025-07-28 22:16:31 567

原创 langchain学习 01

dotenv库:可以从.env文件中加载配置信息。库:从终端输入password性质的内容。

2025-05-31 20:24:30 463

原创 网页jupyter如何显示jpipvenv虚拟环境

但是发现pipvenv虚拟环境解释器在jupyter中只有一个Python3:ipykernel版本,没有venv和conda的虚拟环境。因此在网上搜寻资料,作为备份记录。今天使用社区版pycharm编辑。文件时,发现pycharm编辑。文件中可以切换到虚拟环境了。以windows为例。

2025-05-12 22:03:06 337

原创 numpy的随机数生成器

是 NumPy 1.17.0 引入的默认随机数生成器,它基于。更灵活,支持更先进的随机数生成方法,并允许更方便地切换不同的。,提供更快、更安全的随机数生成方式。来创建随机数生成器。设置种子可以保证可复现性。

2025-03-03 13:42:31 285

原创 特征分析与数据预处理

对数据进行质量分析以后,接下来可通过常规统计分析、绘制图表、计算某些特征量关系等手段进行数据的特征分析。

2025-02-27 18:53:10 707

原创 机器学习:强化学习的epsilon贪心算法

强化学习(Reinforcement Learning, RL)是一种机器学习方法,旨在通过与环境交互,使智能体(Agent)学习如何采取最优行动,以最大化某种累积奖励。它与监督学习和无监督学习不同,强调试错探索(Exploration-Exploitation)以及基于奖励信号的学习。强化学习任务通常用马尔可夫决策过程来描述:机器处于环境E中,状态空间X,其中每个状态x∈X是机器感知到的环境的描述,机器能采取的动作构成了动作空间A,若某个动作a∈A作用在当前状态x。

2025-02-27 16:15:42 1632

原创 数据结构:树的概念

树的概念:树是n个结点的有限集合,有且仅有一个被称为根的结点。当n1时,其余结点可分为互不相交的有限集合,其中每个集合本身又是一颗树。有序树:树中结点各子树从左到右是有次序的,不能交换。无序树:~森林是m棵互不相交的树的集合。。

2025-02-27 10:29:48 955

原创 大语言模型概念科普

这些模型可以通过大量的数据和参数进行训练,以生成人类类似的文本或回答自然语言的问题。在AI大模型中,Prompt的作用主要是给AI模型提示输入信息的上下文和输入模型的参数信息。在使用大语言模型时,总会看到token一词,调用大模型api是根据token的使用数进行付费。与当前的人工智能(AI)相比,AGI 不是专门针对某个任务(如语言生成、图像识别),而是具备。大模型(Large Model)是指具有大规模参数和复杂计算结构的机器学习模型。文字、图片、音频、视频等多种内容的人工智能系统。

2025-02-26 17:13:52 1204

原创 Python的迭代器和生成器

iterator。

2025-02-25 16:46:15 471

原创 Python对象引用及global、nonlocal关键字使用

对象的生命周期由引用计数机制管理。当一个对象的引用计数变为零时,该对象会被垃圾回收。在使用python做算法题时,有时会遇到一些问题,如:有的需要。当创建一个变量并赋值时,实际上是在创建一个指向该值的引用。关键字可以使局部空间中与全局变量名一致的变量更改为全局变量。指向的对象引用没有改变,而只是对象进行扩展。限定变量,有时却不需要。就是对象引用,所以会不一样。的对象引用赋值给局部变量。中打印的是原来的全局变量。,那么得到的会不一样。所指向的引用对象,所以。的引用赋值给全局变量。内当作新的局部空间。

2025-02-18 09:08:26 330

原创 Python 中的 configparser 模块详解

在 Python 开发中,我们经常需要使用配置文件来存储配置信息,例如数据库连接、日志级别或 API 密钥等。模块是 Python 标准库的一部分,它提供了对。格式配置文件的读取和写入支持。创建新的配置文件或修改已有配置。

2025-02-17 09:41:35 298

原创 机器学习:十大算法实现汇总

机器学习十大算法代码实现:使用numpy、pandas,不调用机器学习相关库。

2025-02-16 20:59:03 382

原创 机器学习:k近邻

K 邻近算法(K-Nearest Neighbors,简称 KNN)是一种经典的机器学习算法,主要用于分类和回归任务。它的核心思想是:给定一个新的数据点,通过查找训练数据中最接近的 K 个邻居,并根据这些邻居的标签来预测新数据点的标签。KNN 是一种(Instance-based learning)算法。在训练阶段,它并不构建显式的模型,而是将训练数据存储起来,在预测阶段计算待预测点与训练集中所有点的距离,然后选择 K 个最近的邻居,根据邻居的标签进行投票或平均来做出预测。KNN 的优点在于其。

2025-02-16 16:34:35 720

原创 机器学习PCA和LDA

主成分分析(PCA, Principal Component Analysis)和线性判别分析(LDA, Linear Discriminant Analysis)是两种常用的降维方法,它们虽然都用于数据降维,但核心思想和应用场景不同。

2025-02-16 13:28:27 848

原创 机器学习:k均值

在“无监督学习”中,训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础,较为经典的是聚类。**聚类试图将数据集中的样本划分为若干个通常是不相交的子集,每个子集称为一个“簇”。**聚类既能作为一个单独过程,用于找寻数据内在的分布结构,也可以作为分类等其他学习任务的前驱过程。距离计算:pu1∑n​∣xiu​−xju​​∣p无序属性:VDM(Value Difference Metric)i1∑k。

2025-02-15 14:55:02 972 2

原创 面试准备-排序部分:快速排序、堆排序

堆排序是一种基于比较的排序算法,利用了堆这种数据结构(通常是二叉堆)来完成排序。快速排序是一种基于**分治思想(Divide and Conquer)**的排序算法。:如果每次选择的基准导致极端不均匀划分(如已排序数组选择最左/最右元素),递归深度达到。**原地排序版本(Hoare 版)**的快速排序只需要。递归调用栈的空间复杂度为。:每次都能将数组均匀划分,递归深度为。,可能会改变相同元素的相对顺序。:随机选取基准时,通常能保证。,可以减少栈的使用深度。快排的时间复杂度取决于。

2025-02-10 20:50:08 423

原创 机器学习:朴素贝叶斯分类器

贝叶斯决策论是概率框架下实施决策的基本方法,对分类任务来说,在所有相关概率都已知的理想情形下,贝叶斯决策论考虑如何基于这些概率和误判损失来选择最优的类别标记。贝叶斯决策论通过结合先验知识和观测数据,使用贝叶斯定理计算后验概率,从而做出最优决策。但是对于类条件概率P(x|c)来说,涉及了关于x所有属性的联合概率,因此很难进行估计。,当训练集包含充足的独立同分布样本时,P©可以通过各类样本所占的比例来进行估计。贝叶斯定理是贝叶斯决策论的基础,描述了如何根据新的证据更新先验概率,

2025-02-09 17:02:43 1344

原创 集合的 子集枚举

个元素选出不同的集合。可以发现,对于单个元素来说,只有选和不选,即一共有。当当前子集状况整个遍历完成之后,就得到了一共子集集合。可以对数组进行排序。由于只有两种情况,当。如果元素有重复,那么要怎么做呢?个元素相同,则也不应该被选择。这一题中的元素是不重复的。的元素没有被选择,而第。

2025-02-05 09:39:59 265

原创 python的ruff简单使用

Ruff 是一个用 Rust 编写的高性能 Python 静态分析工具和代码格式化工具。它旨在提供快速的代码检查和格式化功能,同时支持丰富的配置选项和与现有工具的兼容性。是用rust实现的python Linter&Formatter。它可以作为代码检查工具和代码格式化工具使用。代码格式化采用单引号、缩进使用。

2025-02-03 21:50:51 1033

原创 python的pre-commit库的使用

pre-commit 是一个强大的工具,它可以帮助我们在提交代码到版本控制系统(如 Git)之前自动运行一系列的代码检查和格式化操作。通过这种方式,我们可以确保每次提交的代码都是干净的、格式化的并且符合项目的编码标准。例如,在 Git 中,你可以设置一个 hook 在提交前运行。pre-commit 利用了 Git 的这一特性,允许用户定义一组钩子(hook),这些钩子会在提交之前自动执行。如果之后有修改,不需要再次安装,会自动采用最新的yaml或者自定义hooks来运行。安装完成之后,首先在根目录创建。

2025-02-03 21:40:42 601

原创 pandas的melt方法使用

方法用于将宽格式(wide format)的 DataFrame 转换为长格式(long format)的 DataFrame。这种转换在数据处理和可视化中非常有用,尤其是在处理多列数据时。表,查询每个产品在不同商店的价格,使得输出的格式变为。如果这一产品在商店里没有出售,则不输出这一行。宽格式 vs 长格式。

2025-02-03 14:45:57 399

原创 pandas的rank方法使用

降序(method=‘dense’)得到排名,之后按照分数由高到低排序并返回即可。方法用于对数据进行排名,它可以根据指定的规则为每个元素分配一个排名值。方法非常灵活,支持多种排名方法,适用于处理数值型数据。编写一个解决方案来查询分数的排名。,所以小值在前,大值在后。同时,排序方式也是默认的。指定排名顺序,默认升序。,所以看到的不是整数。

2025-02-03 10:43:07 538

原创 pandas中的关系型连接操作

其中左连接和右连接是等价的,由于它们的结果中的键是被一侧的表确定的,因此常常用于有方向性地添加到目标表。内外连接两侧的表,经常是地位类似的(左右表位置的交换不引起结果的变化),想取出键的交集或者并集,具体的操作还需要根据业务的需求来判断。的关键特性是它会将每个分组的最大值广播回原始 DataFrame 的形状。也就是说,每个分组中的每一行都会被赋予该分组的最大值。在某些时候出现重复元素是麻烦的,例如两位同学来自不同的班级,但是姓名相同,这种时候就要指定。如果两个表中想要连接的列不具备相同的列名,可以通过。

2025-02-03 10:02:07 1148

原创 pandas中的str使用方法

操作,使其能够像 Python 的字符串方法一样被调用,但支持对整个列或。编写解决方案,修复名字,使得只有第一个字符是大写的,其余都是小写的。如果不在每次字符串操作前显式使用。访问器,就会导致后续的方法调用失败。访问器用于对 Series。只能用于包含字符串类型的。在 Pandas 中,则不正确,因为它缺少。

2025-02-01 20:03:26 439

原创 pandas中的apply方法使用

是逐行或逐列操作的,因此在处理大规模数据时可能较慢。在处理大规模数据时,需注意性能问题,尽量使用向量化操作。用于对 DataFrame 或 Series 中的数据进行逐行或逐列的操作。编写解决方案,计算每个雇员的奖金。函数或自定义函数),并将该函数应用到每一行或每一列上。,表示将每一行或每一列作为 NumPy 数组传递给函数。,将每一行或每一列作为 Series 传递给函数。函数、自定义函数或内置函数。默认是0,将函数应用到每一列。,那么他的奖金是他工资的。表示将函数应用到每一行。

2025-02-01 19:29:25 340

原创 pandas分组

可以在agg中使用具体的自定义函数,需要注意传入函数的参数是之前数据源中的列。'Gender'

2025-02-01 14:10:54 787

原创 pandas:loc/iloc索引器

locloc。

2025-01-25 16:29:19 688

原创 pandas基础学习:常用基本函数

索引排序的用法和值排序完全一致,**只不过元素的值在索引中,此时需要指定索引层的名字或者层号,用参数。方法把年级和姓名两列作为索引,多级索引的内容和索引设置的方法将在第三章进行详细讲解。上面这些所有的函数,由于操作后返回的是标量,所以又称为聚合函数,它们有一个公共参数。排序共有两种方式,其一为值排序,其二为索引排序,对应的函数是。,它们分别返回的是分位数、非缺失值个数、最大值对应的索引。一般而言,替换操作是针对某一个列进行的,因此下面的例子都以。的功能类似,但前者返回了是否为唯一值的布尔列表,其。

2025-01-24 16:05:29 1124

原创 python及其相关技巧

记录使用Python进行数据分析、机器学习的一些小技巧!更新日期:2025年2月3日。

2025-01-24 10:35:20 729

原创 pandas基础:基本数据结构

类型,而选择多列时返回的是 DataFrame 类型。这种行为是设计上的选择,目的是为了提供更灵活的数据操作方式。中,当你从DataFrame中选择列时,选择的方式会影响返回的数据类型。具体来说,选择单列时返回的是。的基础上增加了列索引,一个数据框可以由二维的。其中,索引也可以指定它的名字,默认为空。,在这两种结构上定义了很多的属性和方法。中具有两种基本的数据存储结构,存储一维。一般由四个部分组成,分别是序列的值。代表了一种混合类型。

2025-01-23 21:48:19 272

原创 pandas基础:文件的读取和写入

参数可以是一个整数列表(列的索引位置)、一个字符串列表(列名)或一个布尔值。参数可以是一个整数(列的索引位置)、一个字符串(列名)、一个整数列表或字符串列表。默认不将任何列作为索引。参数可以是一个整数列表(列的索引位置)、一个字符串列表(列名)或一个函数。参数用于指定分隔符(分隔列的字符)。parse_dates:将某些列解析为日期时间格式。参数是一个整数,表示读取的行数。index_col:将某列或多列作为索引列。usecols:指定读取哪些列。nrows:指定读取的行数。sep:自定义分隔符。

2025-01-23 21:12:52 783

原创 机器学习:支持向量机

支持向量机(Support Vector Machine)是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的广义线性分类器,其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。假设两类数据可以被H=x:wTx+b≥cH = {x:w^Tx + b \ge c}H=x:wTx+b≥c分离,垂直于法向量www,移动HHH直到碰到某个训练点,可以得到两个超平面H1H_1H1​和H2H_2H2​,两个平面称为支撑超平面,题目分别支撑两类数据。而位于H1H_1H1​和H2H_2H2​正中间的超平面

2025-01-22 14:36:26 2643

原创 python内置的调试工具-pdb

最近写python代码,当代码逻辑复杂时,总是要检查是否正确运行。但是光用print显得较为麻烦,在网上找到了内置的调试工具pdb,使用起来比print要舒服,因此特来总结一下pdb的使用。pdb有两种使用方法:侵入式(在调试代码中添加一行代码,之后在正常运行)当命令行前面出现(pdb)时,就表示调试工具pdb启动成功。当前所在位置会用->进行标注,表示。

2025-01-22 10:41:13 1583

蓝桥杯常用函数algorithm

1.可以使用的万能头文件 #include<bits/stdc++.h> 2.最后一定记住return 0; 3.蓝桥杯的最大栈空间为256MB,即最大可以开1e7(1*10^7)左右的数组空间 4.各类数据的范围 1.int -2147483648~2147483647 //9位及以下都可装 2.long -2147483648~+2141483647 //9位及以下都可装 3.long long -9223372036854775808~+9223372036854775807 //18及以下都可装,19位大部分可以 4.unsigned long long 最大值18446744073709551615 //20位

2023-04-10

Python Turtle 绘图基础知识

一、turtle库概述: turtle(海龟)库是turtle绘图体系python的实现; turtle绘图体系:1969年诞生,主要用于程序设计入门; turtle库是python的标准库之一;属于入门级的图形绘制函数库; 説名:python计算生态=标准库+第三方库 标准库:是随解释器直接安装到操作系统中的功能模块; 第三方库:需要经过安装才能使用的功能模块; 库:library、包package、模块module统称为模块; turtle库绘制原理:有一只海龟在窗体正中心,在画布上游走,走过的轨迹形成了绘制的图形,海龟由程序控制,可以自由改变颜色、方向宽度等;

2023-04-10

基于python Streamlit库的机器学习可视化展示

import streamlit as st import pandas as pd from matplotlib import pyplot as plt from plotly import graph_objs as go from sklearn.linear_model import LinearRegression import numpy as np data = pd.read_csv("data//Salary_Data.csv") x = np.array(data['YearsExperience']).reshape(-1,1) lr = LinearRegression() lr.fit(x,np.array(data['Salary'])) st.title("Salary Predictor") st.image("data//sal.jpg",width = 800) nav = st.sidebar.radio("Navigation",["Home","Prediction","Contribut\ e"]) if nav == "Hom

2023-04-10

C语言大作业,ktv点歌系统

一、 设计任务 1、 训练目标 i. 模拟KTV点歌系统:通过c语言设计程序并应用数据结构实现点歌系统的基本功能。 ii. 用户可按歌名查找某首歌曲或按歌手名查找其所有歌曲,点歌后播放音乐。管理员可删除歌曲,全部歌曲的路径用一个单独的文件存储,包含歌名,歌手名,歌曲类型,相对路径。 iii. 用户体验良好,操作方便。 iv. 符合大作业的基本要求。

2023-04-10

基于公交车环境的密接人员排查系统的设计与实现

1、课程设计的内容和要求(包括原始数据、技术要求、工作要求等): 要求学生综合运用C/C++语言程序设计、数据结构与算法等课程知识,通过团队合作与项目实践完成一个??系统的分析、设计与开发,使学生具有综合运用所学知识解决复杂工程问题的能力。 本次设计的题目是基于公交车环境的密接人员排查系统的设计与实现,主要面向疫情防控管理排查人员用户,实现公交车环境下的人员接触关系描述与记录、公交车环境的密接人员排查功能。系统基于C/C++语言程序设计、数据结构与算法来进行设计开发。项目开发小组由1名同学组成,本人主要负责公交车信息模块、密接人员筛查模块、界面模块的设计与开发。 通过团队分工合作,在1周内完成该课题的系统分析、需求分析、概要设计(包括功能设计及流程设计)、详细设计与编码、测试、报告撰写、成果演示、汇报答辩等工作,并接受答辩小组的提问与考核。 2、对课程设计成果的要求〔包括图表、实物等硬件要求〕: (1)最终完成一套完整的程序,能够运行并进行功能讲解与演示。(2)撰写一份完整、规范的课程设计报告,其中包括课

2023-04-10

C语言多项式加减乘除实验

Experiment topic: 1.Overview In addition to completing the basic experimental tasks, we also completed the functions of sorting polynomials in ascending order of exponential power and reversing polynomials. The C++ library functions are used to complete the compilation of test data. Run the basic functions many times to get the data of monitoring time. Further mastered the contents of the linked list. 2.Experimental scheme 2.1 Design scheme Linked list storage. Encapsulate the polynomial c

2023-04-10

C语言大作业,贪吃蛇项目

#include <stdio.h> #include <stdlib.h> #include <windows.h> #include <time.h> #include <conio.h> #define frame_height 30 #define frame_width 50 #define UP 'w' #define DOWN 's' #define LEFT 'a' #define RIGHT 'd' int i,j,k,sp,score; char ch=UP,state=UP,choo,n;//初始化方向 int grow=0; struct Food//食物 { int x;//横坐标 int y;//纵坐标 } food; struct Snake//蛇 { /*用数组储存蛇的每一部分的坐标*/ int x[100]; int y[100]; int len;//长度 int speed;//速度 } snake; void map(void);//地图 void update_food(voi

2023-04-10

C语言大作业,简易KTV点歌系统

一、 设计任务 1、 训练目标 i. 模拟KTV点歌系统:通过c语言设计程序并应用数据结构实现点歌系统的基本功能。 ii. 用户可按歌名查找某首歌曲或按歌手名查找其所有歌曲,点歌后播放音乐。管理员可删除歌曲,全部歌曲的路径用一个单独的文件存储,包含歌名,歌手名,歌曲类型,相对路径。 iii. 用户体验良好,操作方便。 iv. 符合大作业的基本要求。

2023-04-10

C语言大作业,模拟KTV点歌系统

一、 设计任务 1、 训练目标 i. 模拟KTV点歌系统:通过c语言设计程序并应用数据结构实现点歌系统的基本功能。 ii. 用户可按歌名查找某首歌曲或按歌手名查找其所有歌曲,点歌后播放音乐。管理员可删除歌曲,全部歌曲的路径用一个单独的文件存储,包含歌名,歌手名,歌曲类型,相对路径。 iii. 用户体验良好,操作方便。 iv. 符合大作业的基本要求。

2023-04-10

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除