From fda271ef3bfc9611992b2bcc83d76c582181e28d Mon Sep 17 00:00:00 2001 From: p8765lwso <3313842905@qq.com> Date: Thu, 15 Jun 2023 15:33:15 +0800 Subject: [PATCH] Update README.md --- README.md | 44 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 36 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index a12dfb9..b03a419 100644 --- a/README.md +++ b/README.md @@ -169,13 +169,26 @@ # 3. 系统实现 -说明所使用的语言、开发工具等。 +该程序使用C++语言,主要用到了STL中的queue队列和cmath库中的exp()函数等。 +开发工具是CodeBlocks和VS Code。 +项目的文件结构如下: +main.cpp:主程序文件,包含程序的主函数和主要逻辑。 +Random.h和Random.cpp:随机数生成的类,包含生成随机数和泊松分布的函数。 +plane.h:飞机结构体的定义。 +README.md:项目文档,包含程序的介绍和使用说明。 +程序的主要函数包括: +Random():构造函数,初始化随机数生成器。 +random_real():生成0~1之间的随机实数。 +poisson():生成泊松分布的随机数。 +main():主函数,包含程序的主要逻辑,如输入、处理、输出等。包括两个队列的入队和出队,以及每个飞机的等待时间计算和输出。 -介绍项目的文件结构,以及主要函数的功能。 ## 3.1 核心数据结构的实现 -描述数据结构的实现方法。 +该程序主要使用了STL中的queue队列来实现飞机的降落和起飞队列。队列是一种先进先出(FIFO)的数据结构,在这里用来存储等待降落和起飞的飞机。 +在程序中,定义了两个queue对象,一个用于存储准备降落的飞机,另一个则用于存储准备起飞的飞机。每个队列中存储结构体类型的plane对象,表示每个飞机的编号和进入队列的时间。 +在模拟过程中,程序使用队列的push()函数将新到达的飞机加入队列中,使用队列的pop()函数处理已经降落或起飞的飞机。程序还使用队列的empty()函数和front()函数来检查队列是否为空,并获取队列中的第一个元素。 + 可以配合程序代码加以说明。如: @@ -214,11 +227,26 @@ void bubble_sort(T a[], int n) # 4. 系统测试 -描述测试的思路和方法。比如,先用小数据量进行测试,再用真实数据进行测试。 - -测试应考虑到输入数据的特殊情况。 - -给出若干测试用例,包括输入、预期结果、运行结果或是否通过测试。运行结果和预期结果一致,为通过测试。 +为了测试该程序的正确性,我们可以采用以下思路和方法: +先使用一组小数据量进行测试,检查程序是否能正常运行并输出正确的结果。 +使用多组数据进行测试,包括一些边界值、特殊情况以及大量数据的情况,以检验程序的性能。 +对于每组测试数据,记录输入和预期结果,并与程序输出的结果进行比较,以确定程序是否通过测试。 +下面给出几个测试用例: + +测试用例1: + 输入: 10 5 1 1 +预期结果: 程序能正常运行,没有任何飞机等待超时。 +运行结果: ##0号时间## 1号飞机降落了,等了0个单位时间。 + ##1号时间## 1号飞机降落了,等了0个单位时间。 + ##2号时间## 2号飞机降落了,等了0个单位时间。 + ##3号时间## 3号飞机降落了,等了0个单位时间。 + ##4号时间## 4号飞机降落了,等了0个单位时间。 + ##5号时间## 5号飞机降落了,等了0个单位时间。 + ##6号时间## 6号飞机降落了,等了0个单位时间。 + ##7号时间## 7号飞机降落了,等了0个单位时间。 + ##8号时间## 8号飞机降落了,等了0个单位时间。 + ##9号时间## 9号飞机降落了,等了0个单位时间。 +运行结果和预期结果一致,为通过测试。