设备采购信息管理系统

系列文章

任务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);//查看所有采购信息 内置函数

五、 测试

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

界面展示

在这里插入图片描述

添加采购信息

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

按编号查找采购信息

在这里插入图片描述

按设备编号查找采购信息

在这里插入图片描述

按设备名称查找采购信息

在这里插入图片描述

排序

在这里插入图片描述

查看所有采购信息

在这里插入图片描述

统计采购信息

在这里插入图片描述

删除采购信息

在这里插入图片描述

退出

在这里插入图片描述

六、源代码获取

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

macOS Ventura 13.5beta (22G5027e)发布

系统介绍 黑果魏叔 5 月 20 日消息&#xff0c;苹果今日向 Mac 电脑用户推送了 macOS 13.5 开发者预览版 Beta 更新&#xff08;内部版本号&#xff1a;22G5027e&#xff09;&#xff0c;本次更新距离上次发布隔了 17 天。 macOS Ventura 带来了台前调度、连续互通相机、Face…

【SpringBoot】SpringBoot 纯后端项目如何自定义异常页面(Whitelabel Error Page)

文章目录 背景安排方案步骤 验证 背景 一个短链服务&#xff0c;业务将长链接给我&#xff0c;我转换成短地址&#xff0c;用户访问短地址时&#xff0c;我再做redirect&#xff1b;没有前端&#xff0c;纯后端项目短链会有过期时间&#xff0c;过期后将返回错误信息某一天一个…

本地电脑做服务器搭建私人音乐网站ThinkMusic + cpolar内网穿透

文章目录 1. 前言2. 本地网页搭建2.1 环境使用2.2 支持组建选择 3. 网页安装3. 本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 转发自CSDN lisacpolar的文章&#xff1a;ThinkMusic源码搭建音乐网站&#xff0c;并实现公网访问 1. 前言 在我们的日…

Redis 概述

1. NoSQL 数据库简介 技术发展: 技术的分类 1、解决功能性的问题&#xff1a; Java、 Jsp、 RDBMS、 Tomcat、 HTML、 Linux、 JDBC、 SVN2、解决扩展性的问题&#xff1a; Struts、 Spring、 SpringMVC、 Hibernate、 Mybatis3、解决性能的问题&#xff1a; NoSQL、 Java 线…

MacBook杀毒软件CleanMyMac X2023

Mac 上也广泛存在恶意软件&#xff0c;并且能够突破系统自身的防护&#xff0c;通过渠道传播到电脑上&#xff0c;威胁大家的数据安全和窃取个人信息&#xff01;所以&#xff0c;MacBook杀毒软件还是很有必要安装的。 始于颜值&#xff0c;忠于实力。CleanMyMac X是我用过UI风…

Java 与排序算法(3):插入排序

一、插入排序 插入排序&#xff08;Insertion Sort&#xff09;是一种简单直观的排序算法&#xff0c;它的基本思想是将待排序序列分为已排序区间和未排序区间&#xff0c;然后每次从未排序区间取出一个元素&#xff0c;将其插入到已排序区间的合适位置中&#xff0c;使得插入…

【Linux0.11代码分析】09 之 ELF可执行程序02 - Section Headers解析

【Linux0.11代码分析】09 之 ELF可执行程序02 - Section Headers解析 一、ELF概述二、ELF的组成结构2.1 ELF header&#xff1a;解析出 section headers 含31个section节和 program headers 含13个segment段2.2 Section Headers&#xff1a;获取当前程序的31个section节区信息2…

极狐(GitLab) 重磅发布新产品「极狐星」,让研发效能看得清,算得准,成就企业精英效能管理

在研发驱动业务增长的今天&#xff0c;越来越多的研发管理者发现&#xff1a; 总是觉得研发资源不够用&#xff1f; 如何用数据衡量研发效能&#xff1f; 如何定位软件交付瓶颈&#xff1f; 怎样管理并预警项目状态&#xff1f; 想尽早发现代码泄露风险怎么办&#xff1f;…

CleanMyMac X如何下载解锁完整版本?

这是一款很受到mac用户喜爱的清理软件。不仅清理文件的步骤十分简单&#xff0c;电脑小白用户也可以高效清理Mac电脑。作为一款全方位保护电脑的软件&#xff0c;CleanMyMac已经不满足于只做简单的Mac清理工具&#xff0c;而是为mac用户提供更多的实用功能&#xff1a;优化系统…

Redis三种集群模式

一、引言 Redis有三种集群模式&#xff0c;第一个就是主从模式&#xff0c;第二种“哨兵”模式&#xff0c;第三种是Cluster集群模式&#xff0c;第三种的集群模式是在Redis 3.x以后的版本才增加进来的&#xff0c;我们今天就来说一下Redis第一种集群模式&#xff1a;主从集群模…

Halcon 算子 select_shape_std 和 select_shape_xld区别

文章目录 1 select_shape_std 算子介绍2 select_shape_xld算子介绍3 select_shape_std 和 select_shape_xld区别4 Halcon 算子的特征 Features 列表介绍1 select_shape_std 算子介绍 select_shape_std (Operator) Name select_shape_std — Select regions of a given shape.Si…

【嵌入式烧录刷写文件】-2.4-移动Intel Hex中指定地址范围内的数据

案例背景&#xff08;共5页精讲&#xff09;&#xff1a; 有如下一段Hex文件&#xff0c;将源地址范围0x9100-0x9104中数据&#xff0c;移动至一个“空的&#xff0c;未填充的”目标地址范围0xA000-0xA004。 :2091000058595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717…

【C++】类和对象(上)

【C】类和对象 前言遗漏的部分内联函数使用注意 语法糖auto循环&#xff08;&#xff1a;&#xff09; 正篇&#xff1a;面向对象&#xff08;上&#xff09;面向对象的思路类和对象stuct的升级对象class封装&#xff08;private protect public&#xff09;定义和声明分离this…

Vue3通透教程【十二】TS类型声明优势

文章目录 &#x1f31f; 写在前面&#x1f31f; 上篇文章解惑&#x1f31f; JS函数中的隐患&#x1f31f; 函数中的类型&#x1f31f; 写在最后 &#x1f31f; 写在前面 专栏介绍&#xff1a; 凉哥作为 Vue 的忠实 粉丝输出过大量的 Vue 文章&#xff0c;应粉丝要求开始更新 V…

2023-5-19-Debug和Release到底有多少不同?

&#x1f37f;*★,*:.☆(&#xffe3;▽&#xffe3;)/$:*.★* &#x1f37f; &#x1f4a5;&#x1f4a5;&#x1f4a5;欢迎来到&#x1f91e;汤姆&#x1f91e;的csdn博文&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f49f;&#x1f49f;喜欢的朋友可以关注一下&#xf…

垃圾站养殖场除臭杀菌解决方案

养殖场和垃圾站都会产生大量的有机废气和垃圾&#xff0c;这些废气和垃圾会产生难闻的臭味&#xff0c;影响周围环境和居民健康。这些地方又是病菌和细菌的滋生地&#xff0c;这些细菌和病菌会对人类和动物的健康造成威胁。除臭杀菌系统可以杀灭这些细菌和病菌&#xff0c;也可…

【Java|golang】1080. 根到叶路径上的不足节点--dfs

给你二叉树的根节点 root 和一个整数 limit &#xff0c;请你同时删除树中所有 不足节点 &#xff0c;并返回最终二叉树的根节点。 假如通过节点 node 的每种可能的 “根-叶” 路径上值的总和全都小于给定的 limit&#xff0c;则该节点被称之为 不足节点 &#xff0c;需要被删…

回溯法【2-5】

假设一个推销员问题由下图定义&#xff0c;用回溯法求解 从1号结点出发的相应最短巡回路径&#xff08;每个顶点刚好到达一次&#xff09;。若用bestL表示搜索过程中产生的当前最优解&#xff0c;剪枝函数 L 设计为&#xff1a; L 已走过的路径长度 当前结点相关的最短边 所…

10:00进去,10:05就出来了,这问的也太变态了···

从外包出来&#xff0c;没想到死在另一家厂子了。 自从加入这家公司&#xff0c;每天都在加班&#xff0c;钱倒是给的不少&#xff0c;所以也就忍了。没想到5月一纸通知&#xff0c;所有人不许加班&#xff0c;薪资直降30%&#xff0c;顿时有吃不起饭的赶脚。 好在有个兄弟内推…

【Win32】资源文件(对话框),逆向对话框回调函数,消息断点(附带恶意软件源码)

之前在学习windows编程的时候已经写过对话框的创建了&#xff0c;其中包括了对话框的分类&#xff0c;原理等等&#xff0c;大家可以去看一下&#xff1a;【windows编程之对话框】对话框原理&#xff0c;对话框的创建。原理今天就讲的不是很多了&#xff0c;直接给大家给出步骤…