设备采购信息管理系统

news2024/11/26 15:41:42

系列文章

任务14 设备采购信息管理系统


文章目录

  • 系列文章
  • 一、实践目的与要求
    • 1、目的
    • 2、要求
  • 二、课题任务
  • 三、总体设计
    • 1.存储结构及数据类型定义
    • 2.程序结构
    • 3.所实现的功能函数
    • 4、程序流程图
  • 四、小组成员及分工
  • 五、 测试
    • 界面展示
    • 添加采购信息
    • 按编号查找采购信息
    • 按设备编号查找采购信息
    • 按设备名称查找采购信息
    • 排序
    • 查看所有采购信息
    • 统计采购信息
    • 删除采购信息
    • 退出
  • 六、源代码获取


一、实践目的与要求

1、目的

通过此次实践环节主要达到以下目的:
(1)进一步理解和运用结构化程序设计的思想和方法,学会根据具体问题选择合理的计算机存储结构实现数据的存储,构造较有效率的算法;
(2)学会算法描述的方法,并编制具有结构清晰、合理和易读性的小型实用程序;
(3)并会设计测试方案,完成程序的测试,能撰写出该程序的技术报告,为文档整理工作打下一个初步的基础;
(4)培养小组成员间互相学习,取长补短,协同工作的能力。

2、要求

(1)模块化程序设计,锯齿型书写格式,代码要有足够的注释;
(2)根据课题中规定的要求实现既定目标;
(3)撰写格式排版规范、结构完整的技术文档。

二、课题任务

(题目、内容及主要功能描述)

设备采购信息管理系统
设备采购的信息包括:编号、设备编号、设备名称、生产单位、单价、部门编号、部门名称、数量、要求到货时间、联系人等。系统能够完成设备采购信息的查询、更新、插入、删除、排序等功能。
(1) 排序:按设备编号对所有设备采购的信息进行排序。
(2) 查询:分别按编号、设备编号和设备名称查找设备采购信息。
(3) 更新:按编号对某个设备采购的某项信息进行修改。
(4) 插入:加入新设备采购的信息。
(5) 删除:按设备编号删除已淘汰设备的采购信息。
(6) 浏览:输出所有设备采购信息。
(7) 统计:统计某部门采购某种设备的总数量并输出。

三、总体设计

1.存储结构及数据类型定义

(采用了什么存储结构、被处理数据定义的数据类型,数据类型定义中要有注释说明)

#define MAX_LEN 100// 最大设备数
#define MAX_DEVICES 1000 // 最大字符串长度

/// <summary>
/// 采购结构体
/// </summary>
typedef struct {
    int id;//编号
    char device_id[MAX_LEN];//设备编号
    char device_name[MAX_LEN];//设备名称
    char producer[MAX_LEN];//生产单位
    float price;//单价
    int department_id;//部门编号
    char department_name[MAX_LEN];//部门名称
    int quantity;//数量
    char arrival_time[MAX_LEN];//要求到货时间
    char contact[MAX_LEN];//联系人
} DevicePurchaseInfo;

2.程序结构

(程序整体的模块结构图)
在这里插入图片描述

3.所实现的功能函数

(每个功能对应的函数名、函数形参及返回值说明)

void add(DevicePurchaseInfo* devices, int* num_devices); //添加采购信息 函数名:add 函数形参:DevicePurchaseInfo* devices, int* num_devices 返回值:void  
void remove_by_device_id(DevicePurchaseInfo* devices, int* num_devices);//删除采购信息 函数名:remove_by_device_id 函数形参:DevicePurchaseInfo* devices, int* num_devices 返回值: void 
void update_by_id(DevicePurchaseInfo* devices, int num_devices);//修改采购信息 按编号对某个设备采购的某项信息进行修改。函数名: update_by_id 函数形参:DevicePurchaseInfo* devices, int num_devices 返回值:void  
void search_by_id(DevicePurchaseInfo* devices, int num_devices);//按编号查找采购信息 函数名:search_by_id  函数形参: DevicePurchaseInfo* devices, int num_devices返回值:void  
void search_by_device_id(DevicePurchaseInfo* devices, int num_devices);//按设备编号查找采购信息 函数名: search_by_device_id  函数形参:DevicePurchaseInfo* devices, int num_devices 返回值: void 
void search_by_device_name(DevicePurchaseInfo* devices, int num_devices);// 按设备名称查找采购信息 函数名:search_by_device_name 函数形参:DevicePurchaseInfo* devices, int num_devices 返回值: void 
void sort(DevicePurchaseInfo* devices, int num_devices);//排序 按设备编号对所有设备采购的信息进行排序 函数名:sort 函数形参:DevicePurchaseInfo* devices, int num_devices 返回值: void 
void display_all(DevicePurchaseInfo* devices, int num_devices);//查看所有采购信息 函数名:display_all 函数形参:DevicePurchaseInfo* devices, int num_devices 返回值:void  
void statistics(DevicePurchaseInfo* devices, int num_devices);//统计采购信息 函数名:statistics 函数形参:DevicePurchaseInfo* devices, int num_devices 返回值: void 
void print_devices_list(DevicePurchaseInfo* devices, int num_devices);//查看所有采购信息 内置函数 函数名:print_devices_list 函数形参:DevicePurchaseInfo* devices, int num_devices 返回值: void 

4、程序流程图

在这里插入图片描述

四、小组成员及分工

(组长、组员及每人承担的具体模块任务或其他)
组长:完成采购系统四大模块以及界面开发,包含添加采购信息、删除采购信息、按编号对某个设备采购的某项信息进行修改以及按编号查找采购信息,函数内容如下:

void add(DevicePurchaseInfo* devices, int* num_devices); //添加采购信息
void remove_by_device_id(DevicePurchaseInfo* devices, int* num_devices);//删除采购信息
void update_by_id(DevicePurchaseInfo* devices, int num_devices);//修改采购信息 按编号对某个设备采购的某项信息进行修改。  
void search_by_id(DevicePurchaseInfo* devices, int num_devices);//按编号查找采购信息

组员1:完成按设备编号查找采购信息、按设备名称查找采购信息以及按设备编号对所有设备采购的信息进行排序功能的实现。

void search_by_device_id(DevicePurchaseInfo* devices, int num_devices);//按设备编号查找采购信息
void search_by_device_name(DevicePurchaseInfo* devices, int num_devices);// 按设备名称查找采购信息
void sort(DevicePurchaseInfo* devices, int num_devices);//排序 按设备编号对所有设备采购的信息进行排序

组员2:完成了查看所有采购信息、统计采购信息以及查看所有采购信息 内置函数的编写

void display_all(DevicePurchaseInfo* devices, int num_devices);//查看所有采购信息
void statistics(DevicePurchaseInfo* devices, int num_devices);//统计采购信息
void print_devices_list(DevicePurchaseInfo* devices, int num_devices);//查看所有采购信息 内置函数

五、 测试

(整合各功能模块后的测试结果截图及说明)

界面展示

在这里插入图片描述

添加采购信息

在这里插入图片描述
在这里插入图片描述

按编号查找采购信息

在这里插入图片描述

按设备编号查找采购信息

在这里插入图片描述

按设备名称查找采购信息

在这里插入图片描述

排序

在这里插入图片描述

查看所有采购信息

在这里插入图片描述

统计采购信息

在这里插入图片描述

删除采购信息

在这里插入图片描述

退出

在这里插入图片描述

六、源代码获取

本次的分享就到这里啦,创作不易,感谢点赞收藏👍
感兴趣的小伙伴可以在评论区留言或者私信我哦💕

提示:代码获取链接: 下载源码

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

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

相关文章

vue记录鼠标拖拽划过位置并将划过位置变色

首先 我们要做一个这样的基本组件 <template><div><!--循环遍历 List数组用当前下面当做key值然后定义了 onDragStart 鼠标拖动时触发定义 onDragEnd 拖动结束后触发定义 onDragOver 记录所有鼠标拖动经过的位置--><divclass"skeleton"v-f…

DAY 63 mysql的高级语句:存储过程

什么是存储过程 存储过程是一组为了完成特定功能的SQL语句集合。 存储过程在使用过程中是将常用或者复杂的工作预先使用SQL语句写好并用一个指定的名称存储起来&#xff0c;这个过程经编译和优化后存储在数据库服务器中。当需要使用该存储过程时&#xff0c;只需要调用它即可…

数据结构之堆详解

目录 1.什么是堆 堆的定义 结构体定义与函数接口 堆的初始化 堆的销毁 入堆 向上调整算法 大堆 出堆 向下调整算法 返回堆顶元素 判空 堆的应用 1.什么是堆 知道以上的存储方法&#xff0c;对于完全二叉树&#xff0c;有一个叫做堆的结构&#xff0c;堆本质就是一…

内核调试工具crash使用

内核调试工具crash使用 前言初识获取vmlinuxDwarf Error: wrong version in compilation unit header (is 5, should be 2, 3, or 4) 其他 前言 在编写内核驱动的过程中&#xff0c;时不时就导致内核崩溃&#xff0c;也没啥好的调试方法&#xff0c;要么dmesg打印内核日志&…

socket | 网络套接字、网络字节序、sockaddr结构

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和…

量化论文学习之《基于 CNN-LSTM 混合模型的股价 预测》

主要原理 CNN-LSTM 混合模型首先使用 CNN 来提取时间序列数据的特征&#xff0c;然 后将特征输入进 LSTM 模型中来进行下一交易日股票收盘价的预测。 数据处理 使用数据 作者发现加入volume,pctChg后效果变差&#xff0c;可能原因是加入了相关性较低的特征后造成了数据冗余…

Ubuntu挂载阿里云盘

目录 所需环境安装docker安装rclone获取阿里云盘token 获取docker镜像并运行获取本机IP信息总结rclone配置挂载网盘到本地文件夹开机启动 所需环境 安装docker 使用官方脚本进行全自动安装 curl -fsSL https://test.docker.com -o test-docker.shsudo sh test-docker.sh安装r…

Spring Boot 可执行 Jar 包运行原理

Spring Boot 有一个很方便的功能就是可以将应用打成可执行的 Jar。那么大家有没想过这个 Jar 是怎么运行起来的呢&#xff1f;本篇博客就来介绍下 Spring Boot 可执行 Jar 包的运行原理。 打可执行 Jar 包 将 Spring Boot 应用打成可执行 Ja r包很容易&#xff0c;只需要在 p…

数字信号处理基础(一):常用信号产生

目录 1. 写在前面2. 连续信号和离散信号2.1连续信号2.2 离散信号 3. 常用信号的产生3.1 单位脉冲序列3.2 单位阶跃序列3.3 指数函数3.4 正弦信号和余弦信号3.5 sinc函数3.6 矩形脉冲信号 4. 信号卷积5. 完整代码 1. 写在前面 为了更好的理解通信原理系列文章&#xff0c;在此补…

28 SQL——表子查询

create table dept(id int primary key auto_increment,name varchar(15))comment 部门;insert into dept(id, name) values (1,研发部),(2,市场部),(3,财务部),(4,销售部),(5,总经办),(6,人事部);create table staff (id int primary key auto_increment commentID,name …

使用Mathtype公式编辑器生成CSDN中的数学公式

使用Mathtype公式编辑器生成CSDN中的数学公式 在CSDN中输入数学公式&#xff0c;直接使用LaTeX编辑输入公式有一些难度&#xff0c;如果你熟悉Mathtype公式编辑器&#xff0c;那么在CSDN文档中输入数学公式也变的相对容易。 下面我们举例说明使用Mathtype转换输入CSDN的公式。…

Weex工具链的奥秘

在2017年1月12日 Weex Conf 2017上&#xff0c;来自阿里的卜道依据Weex开发中的痛点介绍了Weex的打包和插件机制&#xff0c;同样来自阿里的归影介绍了Weex的调试工具Devtools&#xff0c;共同揭秘了Weex的工具链。本文是卜道和归影关于Weex工具链实践的分享整理。 Weexpack与…

MyBatis各种类型查询数据的数据绑定

文章目录 1、前言2、查询一个实体类对象字段名和属性名无法映射处理方式一&#xff1a;起别名方式二&#xff1a;使用全局配置文件配置映射规则方式三&#xff1a;自定义resultmap 3、查询一个list集合4、查询单个数据5、查询一条数据为map集合6、 查询多条数据为map集合方式一…

Python中使用Scipy模块中root函数求解非线性方程的解法举例

Python中使用Scipy模块中root函数求解非线性方程的解法举例 Python中的SciPy模块功能强大&#xff0c;下面举例说明使用该模块求解非线性方程或非线性方程组。在求解时候&#xff0c;用到scipy.optimize模块中的root函数。 1.root函数的调用格式 调用它们的格式为 from scipy…

使用MinIO文件存储系统【完成视频断点续传】业务逻辑

目录 视频上传 接口一&#xff1a;检查该视频/媒资文件是否已经上传完成 接口二&#xff1a;检查视频分块是否已经在minio中已经存在 接口三&#xff1a;上传分块文件到minio中&#xff08;已经上传的分块会在接口二进行校验&#xff09; 接口四&#xff1a;合并上传的分块…

git生成密钥方法

1、密钥生成 打开Git Bash&#xff0c;查看ls ~/.ssh下是否有密钥文件id_rsa*&#xff0c;有的话可先进行备份。 然后用如下命令生成新密钥&#xff1a; ssh-keygen -t rsa -C "your_emailexample.com" 参数含义&#xff1a; -t 指定密钥类型&#xff0c;默认是 …

chatgpt赋能Python-pythonbif

Python Bif: 简介和使用指南 Python Bif是一种用于机器学习和数据科学的强大包。它提供了一些重要的功能&#xff0c;例如分类、集成和回归。这篇文章将向您介绍Python Bif的主要特性和如何使用它来完成各种数据科学任务。 什么是Python Bif&#xff1f; Python Bif是一个通…

Spring源码阅读:AOP原理

一、概述 以下便是Spring Aop的流程&#xff0c;下面我将一一介绍下面的各个方法。 下面是流程中的主要方法。 二、测试代码 下面我将写一个例子介绍Spring Aop的流程。 被增强类&#xff1a; public class MyCalculator {public Integer add(Integer i, Integer j) throw…

逼近GPT-4!BLOOMChat: 开源可商用支持多语言的大语言模型

背景 SambaNova和Together这2家公司于2023.05.19开源了可商用的支持多语言的微调模型BLOOMChat。 SambaNova这家公司专注于为企业和政府提供生成式AI平台&#xff0c;Together专注于用开源的方式打造一站式的foundation model&#xff0c;赋能各个行业。 OpenAI的GPT-4和Goo…

【将maven源改为国内阿里云镜像】

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔&#x1f93a;&#x1f93a;&#x1f93a; 目录 1. 如何配置Maven镜像&#xff1f; 2. Idea中m…