集装箱优化设计实验报告.docx

上传人:b****3 文档编号:10261887 上传时间:2023-05-24 格式:DOCX 页数:15 大小:92.92KB
下载 相关 举报
集装箱优化设计实验报告.docx_第1页
第1页 / 共15页
集装箱优化设计实验报告.docx_第2页
第2页 / 共15页
集装箱优化设计实验报告.docx_第3页
第3页 / 共15页
集装箱优化设计实验报告.docx_第4页
第4页 / 共15页
集装箱优化设计实验报告.docx_第5页
第5页 / 共15页
集装箱优化设计实验报告.docx_第6页
第6页 / 共15页
集装箱优化设计实验报告.docx_第7页
第7页 / 共15页
集装箱优化设计实验报告.docx_第8页
第8页 / 共15页
集装箱优化设计实验报告.docx_第9页
第9页 / 共15页
集装箱优化设计实验报告.docx_第10页
第10页 / 共15页
集装箱优化设计实验报告.docx_第11页
第11页 / 共15页
集装箱优化设计实验报告.docx_第12页
第12页 / 共15页
集装箱优化设计实验报告.docx_第13页
第13页 / 共15页
集装箱优化设计实验报告.docx_第14页
第14页 / 共15页
集装箱优化设计实验报告.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

集装箱优化设计实验报告.docx

《集装箱优化设计实验报告.docx》由会员分享,可在线阅读,更多相关《集装箱优化设计实验报告.docx(15页珍藏版)》请在冰点文库上搜索。

集装箱优化设计实验报告.docx

集装箱优化设计实验报告

武汉工程大学

计算机科学与工程学院

《软件工程》实验报告[2]

专业班级

实验地点

学生学号

指导教师

学生姓名

实验时间

实验项目

集装箱优化设计需求分析文档

实验类别

操作性()验证性()设计性(√)综合性()其它()

实验目的及要求

目的:

1、集装箱优化设计的需求分析文档是软件工程课程重要内容之一。

2、通过此次设计了解需求文档设计的格式、方法和内容。

3、通过对集装箱的优化设计了解其设计模式,让集装箱在有限的空间能够存放最多的货物,从而使得节约资源最大化。

要求:

集装箱外部尺寸长40米,宽20米,能够存放长方形、正方形、三角形等不同形状的货物,要求装入两种或两种以上不同形状的货物,使集装箱所剩的空间越小越好。

成绩评定表

类别

评分标准

分值

得分

合计

上机表现

积极出勤、遵守纪律

认真完成设计任务

30分

报告质量

操作规范、功能正确

填写完整、体现收获

70分

说明:

评阅教师:

日期:

20年月日

实验内容

集装箱优化设计需求分析文档

一.实验说明

本实验以在集装箱中放入正方形、长方形、三角形为例,分析如何存放才能使集装箱率达到最高。

实验中要用到正方形、长方形、三角形的一些数据,如:

装入的正方形、长方形、三角形它们的个数是多少,正方形、长方形、三角形的边、长、宽的数据。

所用的数据让用户自己输入。

方案

(一)

 

方案

(二)

 

方案(三)

 

 

二.实验代码

#include"stdafx.h"

#include

#include

usingnamespacestd;

constfloatDiffer=0.05;//thediffer;

constintsize=3;

constfloata=40;

constfloatb=20;

constchar*p[]={"Solution_One","Solution_Two","Solution_Three"};

floatHigh=a;

floatLength=b;

intTri_sum=0;//countthenumoftheshap;

intFou_sum=0;

intRec_sum=0;

voidDeal_Tri(float,float,constfloat);//dealthefri;

voidDeal_Fou(float,float,constfloat);//dealthefou;

voidDeal_Rec(float,constfloat);//dealtehrec;

voidDeal_backwarded(float,float,constfloat);

voidDeal_preferential(constfloat,constfloat,constfloat);

floatMIN(constfloat,constfloat,constfloat);//theminlength;

floatMIN(constfloatTri_size,constfloatFou_size,constfloatRec_length_size)

{

floattemp;

temp=Tri_size

Tri_size:

Fou_size;

temp=temp

temp:

Rec_length_size;

cout<

returntemp;

}

floatArea()//counttheareaofthecontianer;

{

returnHigh*Length;

}

voidDeal_Rec(floatHigh_size,constfloatRec_high,constfloatRec_length)//dealtherec;

{

if((High-High_size)>=0&&(Length-Rec_length)>=0)

{

for(;High_size<=High;High_size+=(Rec_high+Differ))

{

++Rec_sum;

if((High-High_size)<(Rec_high+Differ))

{

Length=Length-(Rec_length+Differ);//thelengthwillreduce"length+Differ";

break;

}

}

}

}

voidDeal_Fou(floatHigh_size,floatFou_size,constfloatlength)//dealtheFou;

{

if((High-High_size)>=0&&(Length-Fou_size)>=0)

{

for(;High_size<=High;High_size+=(length+Differ))

{

++Fou_sum;

if((High-High_size)<(length+Differ))

{

Length=Length-(length+Differ);//thelengthwillreduce"length+Differ";

break;

}

}

}

}

voidDeal_Tri(floatHigh_size,floatTri_size,constfloatlength)//DealtheTri;

{

if((High-High_size)>=0&&(Length-length-Differ)>=0)

{

for(;High_size<=High;High_size+=(Tri_size+Differ))

{

++Tri_sum;

if((High-High_size)<(length+Differ))

{

Length=Length-(length+Differ);//thelengthwillreduce"length+Differ";

break;

}

}

}

}

 

voidDeal_backwarded(floatHigh_size,floatTri_size,constfloatlength)//dealtheFri;

{

if((High-High_size)>=0&&(Length-length-Differ)>=0)

{

for(;High_size<=High;High_size+=(length+Differ))

{

++Tri_sum;

if((High-High_size)<(length+Differ))

{

Length=Length-(length+Differ);//thelengthwillreduce"length+Differ";

break;

}

High_size+=Differ;

}

}

}

voidDeal_preferential(constfloatSolution_One,constfloatSolution_Two,constfloatSolution_Three)

{

floatSolution[size],Copy[size];

inti,j,temp;

Solution[0]=Solution_One;

Solution[1]=Solution_Two;

Solution[2]=Solution_Three;

//****

for(i=0;i

{

Copy[i]=Solution[i];

}

for(i=0;i

{

for(j=i+1;j

{

if(Solution[i]

{

temp=Solution[i];

Solution[i]=Solution[j];

Solution[j]=temp;

}

}

}

temp=Solution[0];

for(i=0;i

{

if(Copy[i]==temp)

{

cout<<"Thebestwayis:

"<

break;

}

}

}

intmain()//themainfunction;

{

floatTri_size,Fou_size,Rec_length_size,Rec_high_size,area;

floath,wide;

floatSolution_One,Solution_Two,Solution_Three;

floatSolution_One_total,Solution_Two_total,Solution_Three_total;

cout<<"Designthesizeoftheobjects:

\n";

cout<<"TheDifferis:

"<"<

cout<<"PleasedesignthesizeoftheTri_size:

";

cin>>Tri_size;

cout<<"PleasedesignthesizeoftheFou_size:

";

cin>>Fou_size;

cout<<"PleasedesignthesizeoftheRec_length_size:

";

cin>>Rec_length_size;

cout<<"PleasedesignthesizeoftheRec_high_size:

";

cin>>Rec_high_size;

cout<

cout<<"Theareaofthecontaineris:

";

area=Area();

cout<

cout<<"SolutionOne:

\n\n";

cout<<"TheobjectsareQuadrierungedinthebox:

\n";

while(Length>=Tri_size+Differ||Length>=Fou_size+Differ||Length>=Rec_length_size+Differ)

{

Deal_Tri(Tri_size+Differ,Tri_size+Differ,Tri_size);//

Deal_Fou(Fou_size+Differ,Fou_size+Differ,Fou_size);//

Deal_Rec(Rec_high_size+Differ,Rec_high_size,Rec_length_size);//Rec_length_size;

}

cout<<"Tri_sum="<

cout<<"Fou_sum="<

cout<<"Rec_sum="<

Solution_One_total=Tri_sum+Fou_sum+Rec_sum;

cout<<"Thetotalis:

"<

Solution_One=(area-Tri_sum*Tri_size*Tri_size/2.0-Fou_sum*Fou_size*Fou_size-Rec_sum*Rec_length_size*Rec_high_size);

cout<<"Therestareaofthecontaineris:

"<"<

cout<<"SolutionTwo:

\n\n";

cout<<"Theobjectsarebackwardedinthebox:

\n";

//Initializationthedata;

Tri_sum=0;

Fou_sum=0;

Rec_sum=0;

High=a;

Length=b;

//*******

h=(Tri_size*Tri_size/2.0)/sqrt(pow(Tri_size,2)+pow(Tri_size,2));//thehigh;

wide=sqrt(pow(Tri_size,2)+pow(Tri_size,2));

while(Length>=wide+Differ||Length>=Fou_size+Differ||Length>=Rec_high_size+Differ)

{

Deal_Tri(h+Differ,h+Differ,wide);//

Deal_Fou(Fou_size+Differ,Fou_size+Differ,Fou_size);//

Deal_Rec(Rec_length_size+Differ,Rec_length_size,Rec_high_size);//Rec_length_size;

}

cout<<"Tri_sum="<

cout<<"Fou_sum="<

cout<<"Rec_sum="<

Solution_Two_total=Tri_sum+Fou_sum+Rec_sum;

cout<<"Thetotalis:

"<

Solution_Two=(area-Tri_sum*Tri_size*Tri_size/2.0-Fou_sum*Fou_size*Fou_size-Rec_sum*Rec_length_size*Rec_high_size);

cout<<"Therestareaofthecontaineris:

"<"<

 

cout<<"SolutionThree:

\n\n";

cout<<"TheobjectsarebackwardedorQuadrierungedinthebox:

\n";

//Initializationthedata;

Tri_sum=0;

Fou_sum=0;

Rec_sum=0;

High=a;

Length=b;

//************************

while(Length>=MIN(Tri_size,Fou_size,Rec_length_size))

{

Deal_backwarded(Tri_size+Differ,Differ,Tri_size);

Deal_Fou(Fou_size+Differ,Fou_size+Differ,Fou_size);//

Deal_Rec(Rec_length_size+Differ,Rec_length_size,Rec_high_size);//Rec_length_size;

}

cout<<"Tri_sum="<

cout<<"Fou_sum="<

cout<<"Rec_sum="<

Solution_Three_total=Tri_sum+Fou_sum+Rec_sum;

cout<<"Thetotalis:

"<

Solution_Three=(area-Tri_sum*Tri_size*Tri_size/2.0-Fou_sum*Fou_size*Fou_size-Rec_sum*Rec_length_size*Rec_high_size);

cout<<"Therestareaofthecontaineris:

"<"<

cout<<"PleaseselectthepreferentialSolution:

\n";

Deal_preferential(Solution_One_total,Solution_Two_total,Solution_Three_total);

cout<<"FinishingselectingthepreferentialSolution;\n";

return0;

}

实验结果:

实验总结:

通过本次实验,了解如何运用C语言去做一个实用的软件,在做这个软件的时候遇到了一些困难,比如刚开始的时候不知道怎么去存放货物,通过在网上查找了一些之后,大概的了解了思路,然后在图纸上画出该集装箱的模型以及货物存放模型,从而很快地写出了代码,在这个过程中学习到如何利用网络帮助自己去解决一些问题,例如在思路无法打开的时候可以参考别人的想法,这样有利于帮助自己打开思路。

在今后的学习过程中要善于利用网络资源帮助自己解决一些问题,很大程度上能够让你少走弯路。

总之,此次系统设计给我们提供了一个既动手又动脑、自学、独立实践的机会,使我们养成了勤翻查找各种相关资料,了解各方面的知识。

将书本上的理论知识和实际有机地结合起来,锻炼了实际分析问题和解决问题的能力,提高了适应实际,实践编写的能力,为今后的学习和实践打下了良好的基础。

同时我也认识到做一件事之前做好相应准备工作的重要性:

不仅能够减少花费的时间,而且通过详细的分析对以后的工作的进行又很大帮助。

这是第一次编写需求分析报告,可定还有很多不足的地方,以后还会接触到这方面的工作,有了这一次的经验我想以后会越做越好的。

参考文献

肖军模.程序设计语言编译.大连:

大连理工大学出版社,2000

江开耀,张俊兰等.软件工程.西安:

西安电子科技大学出版社,2003

Stroustrup,Bjarne.TheDesignandEvolutionofC++.Reading,MA:

Addison-wesley,1994.

Booch,Grady.objectAnalysisandDesignSecondEditionReading,MA:

Addison-wesley,1993.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2