网上书店管理系统

news2024/11/26 22:38:20

系列文章

任务46 网上书店管理系统


文章目录

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


一、实践目的与要求

1、目的

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

2、要求

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

二、课题任务

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

网上书店管理系统
图书购买的信息包括:购买编号、图书编号、图书种类、图书名称、单价、姓名、性别、年龄、联系方式等。系统能够完成图书购买信息的查询、更新、插入、删除、排序等功能。
(1) 排序:按购买编号对所有图书购买的信息进行排序。
(2) 查询:分别按购买编号、图书编号、图书名称条件查找图书购买信息。
(3) 更新:按购买编号对某个图书购买的某项信息进行修改。
(4) 插入:加入新图书购买的信息。
(5) 删除:按购买编号删除已注销的图书购买信息。
(6) 浏览:输出所有图书购买信息。
(7) 统计:统计某图书种类某图书名称的销售总额并输出。

三、总体设计

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

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

// 图书购买信息结构体定义
typedef  struct BookPurchase {
    int purchaseId; // 购买编号
    int bookId;     // 图书编号
    char category[20]; // 图书种类
    char bookName[50]; // 图书名称
    float price;    // 单价
    char name[20];  // 姓名
    char gender[5]; // 性别
    int age;        // 年龄
    char contact[20]; // 联系方式
}BookPurchase;

// 全局变量,指向图书购买信息存储数组
struct BookPurchase* bookPurchases = NULL;
struct BookPurchase newPurchase;

// 全局变量,记录当前存储的图书购买信息数量
int numBookPurchases = 0;

2.程序结构

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

3.所实现的功能函数

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

int main() ;函数名称:main 函数形参:无 返回值:int 
void loadBookPurchases(); // 加载图书购买信息 函数名称:loadBookPurchases 函数形参: 无 返回值:void 
void saveBookPurchases(); // 保存图书购买信息 函数名称:saveBookPurchases 函数形参: 无 返回值:void 
void addBookPurchase();   // 添加图书购买信息 函数名称:addBookPurchase 函数形参: 无 返回值:void 
void showAllBookPurchases(); // 显示所有图书购买信息 函数名称:showAllBookPurchases 函数形参:无 返回值:void 
void searchBookPurchasesByPurchaseId(); // 按购买编号查找图书购买信息 函数名称:searchBookPurchasesByPurchaseId  函数形参:无 返回:void 
void searchBookPurchasesByBookId(); // 按图书编号查找图书购买信息 函数名称: searchBookPurchasesByBookId 函数形参:无 返回值:void 
void searchBookPurchasesByBookName(); // 按图书名称查找图书购买信息 函数名称: searchBookPurchasesByBookName 函数形参: 无 返回值:void 
void updateBookPurchase(); // 修改图书购买信息 函数名称:updateBookPurchase 函数形参: 无 返回值:void 
void deleteBookPurchase(); // 删除图书购买信息 函数名称:deleteBookPurchase  函数形参:无 返回值:void 
void getSalesByCategoryAndName(); // 统计商品销售总额 函数名称: getSalesByCategoryAndName 函数形参:无 返回值:void 
void printPurchaseRecord(BookPurchase purchase);//输出查询到的一条数据 函数名称: printPurchaseRecord 函数形参:BookPurchase purchase 返回值:void 
int comparePurchaseRecordsByPurchaseId(const void* a, const void* b); 函数名称:comparePurchaseRecordsByPurchaseId 函数形参: const void* a, const void* b 返回值:int
void bubbleSort(BookPurchase purchaseRecords[], int numPurchases); 函数名称:bubbleSort 函数形参:BookPurchase purchaseRecords[], int numPurchases 返回值:void 

4、程序流程图

在这里插入图片描述

四、小组成员及分工

(组长、组员及每人承担的具体模块任务或其他)
组长:

int main() ;
void loadBookPurchases(); // 加载图书购买信息 
void saveBookPurchases(); // 保存图书购买信息
void addBookPurchase();   // 添加图书购买信息
void showAllBookPurchases(); // 显示所有图书购买信息

组员1:

void searchBookPurchasesByPurchaseId(); // 按购买编号查找图书购买信息
void searchBookPurchasesByBookId(); // 按图书编号查找图书购买信息
void searchBookPurchasesByBookName(); // 按图书名称查找图书购买信息
void updateBookPurchase(); // 修改图书购买信息
void deleteBookPurchase(); // 删除图书购买信息

组员2:

void getSalesByCategoryAndName(); // 统计商品销售总额
void printPurchaseRecord(BookPurchase purchase);//输出查询到的一条数据
int comparePurchaseRecordsByPurchaseId(const void* a, const void* b);
void bubbleSort(BookPurchase purchaseRecords[], int numPurchases);

五、 测试

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

添加新的图书购买信息

在这里插入图片描述

显示所有图书购买信息

在这里插入图片描述

按购买编号查找图书购买信息

在这里插入图片描述

按图书编号查找图书购买信息

在这里插入图片描述

按图书名称查找图书购买信息

在这里插入图片描述

修改图书购买信息

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

删除图书购买信息

在这里插入图片描述

统计某图书种类某图书名称的销售总额

在这里插入图片描述

图书购买信息排序

在这里插入图片描述

退出

在这里插入图片描述

六、源代码获取

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

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

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

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

相关文章

软件测试—Selenium01

软件测试—Selenium01 🔎自动化测试自动化测试的定义自动化测试的分类 🔎SeleniumSelenium 是什么Selenium 的特点Selenium 的原理Selenium Java 的环境搭建Selenium 中常用的 APIBy.cssSelector()By.xpath()By.cssSelector() 与 By.xpath() 的比较 &am…

C++编译和链接

目录 一、源代码的组织 ①头文件(*.h) ②源文件(*.cpp) ③主程序(main函数所在的程序) ④从源代码到可执行文件,编译的过程有三大步骤: 1)编译预处理 2&#xff09…

Python学习笔记——《吴恩达Machine Learning》线性回归例程

文章目录 案例背景线性回归(Loss Regression)梯度下降法(批量梯度下降算法——batch gradient descent)计算成本函数和梯度下降使用线性回归拟合训练数据模型预测 梯度下降效果可视化完整版demo 案例背景 详情参照吴恩达机器学习…

Linux/Windows安装Maven

一、Linux部署Maven 注意:必须先安装jdk,maven与jdk(java -version)版本会有对应关系 版本对应(必看!):http://maven.apache.org/docs/history.html 官方tar包下载地址:h…

因为一个Bug,差点损失了100w

大家好,我是洋子 最近在做单接口的性能测试比较多,在压测过程发现了一个比较有意思的问题,拿出来和大家分享一下 背景是这样的,最近在搞线上的抽奖活动,压测的对象是一个抽奖接口,主要的逻辑见程序的流程…

Spring ioc容器

Spring ioc容器 导入 spring 容器包 使用 ioc 容器之前,需要先导入 Spring 的包 在 spring maven中下载 spring maven 网址:Maven Repository: spring (mvnrepository.com) 搜索 spring 找到 Spring Web MVC点击 spring-webmvc 进入 选择一个版本号点击&#x…

Ocean Optics USB2000光谱仪无法在Win10系统运行

1、问题描述 USB2000型光谱仪,由于生产年代过于久远,虽然能被Win10系统识别,但是驱动程序安装完成后依然报错, 提示:该设备无法启动。(代码 10) 请求USB BOS 描述符失败。 运行SpectraSuite软件…

ETLCloud社区版与Kettle对比分析

ETLCloud社区版本与Kettle社区版本都有什么优势和劣势? Pentaho Data Integration(PDI),也称为Kettle,是一款开源的数据集成工具,国内有很多企业都选择kettle作为数据清洗工具。以下是kettle的主要特点和优势: 广泛的…

python 绘制箱型图一些技巧

引言 本篇是之前有一个需求,需要用python来画箱型图,但要求很多,所以我也不断再版,今天突然想起来这个东西可以总结一下,正好马上得思考下一步做啥了,有足够的空闲时间,所以准备把一些基础概念…

【笔试强训day48】顺时针打印矩阵、左右最值最大差

博主简介:想进大厂的打工人博主主页:xyk:所属专栏: 笔试强训专栏 笔试强训 目录 文章目录 一、选择题 1.1 10.1.0.1/17的广播地址是( ) 1.2 网络地址172.16.22.38/28 请写出此地址的子网ID以及广播地址,此地址所处子网…

[2019“好贷杯“风控能力挑战赛一等奖] 基于神经网络算法的A股市场多因子选股的研究

本论文为 “2019年中国高校风险管理与控制能力挑战赛” 实际参赛作品,获得一等奖。 本论文体现了较好的数学建模思想和写作,所以将论文和完整代码进行了开源,方便与大家交流。

NetSuite SuiteTax之中国影响

这篇是还账。3个月前林师傅给的一个题目,陆陆续续的学习,一直没有弄完,直到今朝。 SuiteTax是2018年GA的一个重大功能,是NetSuite面向国际市场的一个标志动作。它将过去以美国为中心的税务功能,转向为国际市场服务。只…

xhs-xs webmsxyw分析

近期又更新了,先是改了x-s生成,然后又加上了a1校验。 后面可能会全参校验,比如再加上gid、deviceId、profileData、x-s-common、smidV2之类。 估计以后不能写xhs了,大家且看且珍惜吧。之前相关的文章都被下架了 危!…

C语言扫雷小游戏

扫雷小游戏 一,扫雷游戏的理解和整体思路1. 扫雷游戏的玩法2.写扫雷小游戏的整体思路 二,函数功能的实现模块1.宏定义2.打印菜单3.初始化雷盘4.打印雷盘5.布置雷6.玩家排雷6.1 显示该坐标有几个雷的函数6.2雷盘展开函数的实现 三.最终扫雷游戏的的实现1.…

AI绘画Stable Diffusion安装、使用教程 整合包下载

安装Stable Diffusion webui 效果图: 1.准备工作 在下载 AI 绘画工具前,电脑上需要提前下载一些运行的环境 1.下载python、git 首先本地机器最好是英伟达的 N 卡,并且至少需要 4GB 显存才能在本地运行,当然,A 卡也是…

微服务开发系列——第一篇:项目搭建(保姆级教程)

总概 A、技术栈 开发语言:Java 1.8数据库:MySQL、Redis、MongoDB、Elasticsearch微服务框架:Spring Cloud Alibaba微服务网关:Spring Cloud Gateway服务注册和配置中心:Nacos分布式事务:Seata链路追踪框架…

【CH32】| 00——开发环境搭建 | 软件安装 | 资料及工具下载

系列文章目录 TODO 文章目录 1. 简介2. 下载软件3. 安装4. 资料及工具下载4.1 芯片数据手册/参考手册4.2 评估(开发)板原理图/demo4.3 烧录软件4.3.1 isp串口一键下载4.3.2 WCH-LINK Utility烧录 4.4 WCH LINK相关资料/驱动安装4.4.1 WCH LINK相关资料4.4.2 WCH LINK驱动安装 5…

摆摊卖网红气球怎么样?

本章主要介绍一下最近网红气球: 最近看到很多摆摊的抖音视频,都在说卖气球很好,成本低,收益高,所以调研了一下,网红气球分好几种: a,飘空气球; b.手持网红气球 c.青蛙 首先介绍飘空…

初始python

初始python 缘由 ​ 对于python,相比大家并不陌生,Python是一种高级的、解释性编程语言,它具有简洁的语法和强大的内置函数,适用于广泛的应用领域,例如运维,Web开发,数据科学,人工智能等。Pyt…

JVM基础学习---1、JVM总体机制、类加载机制

1、JVM总体机制 1.1 JVM概念 JVM:Java Virtual Machine,翻译过来是Java虚拟机。 JRE:Java Runtime Environment,翻译过来是Java运行时环境。 JDK:Java Development Ki JDK:Java Development Kits&#…