• 大小: 17KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-01
  • 语言: 其他
  • 标签: 数据结构  

资源简介

数据结构课后作业,和初学者分享同学好的代码共同学习

资源截图

代码片段和文件信息

/*
 *代码文件  GroupGoods.cpp
 *版本号:G1.0.111008
 *使用Visual studio 2008 编译
 *
 *由于时间仓促,未能进行相关美化、优化、测试工作
 *
 *参与编写:李黎明,朱猛
 *网络102小组公共资源,引用请注明出处
 */

#include “GroupGoods.h“


void Put( GoodsStack &shelf GoodsStack &ground GoodsGroup &stream );
bool Again();
int main()
{
GoodsStack shelf(“货架上“);
GoodsStack ground(“地上“);
GoodsGroup stream(“货物流中“);
cout << “   货架上还没有商品,加一点吧!“< system(“pause“);
system(“cls“);
Put( shelf ground stream );
cout << “   好了,开始倒货架了。“<< endl;
do{
Put( shelf ground stream );
}while( Again() );
system(“cls“);
cout<< “好了,没什么事了,可以退出了。“ << endl;
system(“pause“);
return 0;
}


void GetStream( GoodsGroup &stream );
void LoadStream( GoodsGroup &stream );
void Tidy( GoodsStack &shelf GoodsStack &ground GoodsGroup &stream );
//摆放货物
void Put( GoodsStack &shelf GoodsStack &ground GoodsGroup &stream )
{
Error streamE(“这都选得错?“ “还是默认帮你拉一批货好了“ );
cout << “你是想 [1.自己添加货物] 还是 [0.拉一批默认的货] 呢?“ < switch( GetInt() )
{
case 1:GetStream( stream );break;
case 0:LoadStream( stream );break;
default:streamE.ErrorTips();
LoadStream( stream );
}
cout << “货物流就绪,开始整理“ < Tidy( shelf ground stream );
stream.InitQ();
cout << “完成了,货架上的货依日期排列得整整齐齐了!“< << “      从上到下的排序如下:“< shelf.Display();
system( “pause“ );
system( “cls“ );
}

//获取货物流
void GetStream( GoodsGroup &stream )
{
Goods * newG;
cout << “要添加几个呢?“ < int amount = GetInt();
for( int i = 0; i newG = new Goods;
newG->goodsDate.GetDate();
stream.EnterQ( newG );
}
}

//加载默认货物流
void LoadStream( GoodsGroup &stream )
{
Goods * newG;
ifstream fin ( “example.txt“ ios::in );
for( int i = 0; i < 4; ++i ){
newG = new Goods;
newG->goodsDate.ReadDate( fin );
stream.EnterQ( newG );
}
}

//整理
void Tidy( GoodsStack &shelf GoodsStack &ground GoodsGroup &stream )
{
while( !stream.IsEmpty() ){ //货物流非空时,循环执行放货操作
while( !shelf.IsEmpty() ){ //货架非空时,进行日期判断
//货架顶商品日期早于货物流头商品时
if( shelf.GetTop()->goodsDate.EarlyThan
(stream.GetHead()->goodsDate ))
ground.Push( shelf.Pop() ); //将货架的商品放到地上
else
break;
}
while( !ground.IsEmpty() ){ //地面非空时,进行日期判断
//地上顶层商品日期不早于货物流头商品时
if( !ground.GetTop()->goodsDate.EarlyThan
(stream.GetHead()->goodsDate ))
shelf.Push( ground.Pop() ); //将地上的商品放到货架
else
break;
}
shelf.Push( stream.DeleteQ() );
}
while( !ground.IsEmpty() ) //把地上的商品全放回货架
shelf.Push( ground.Pop() );
}

bool Again()
{
do{
system( “cls“ );
cout << “ 要再加一批货吗?“ << endl
 << “0.不要  1.要  2.看看货架满了没“ < switch( GetInt() )
{
case 0:return false;
case 1:return true;
case 2:system( “cls“ );
cout<<“偷偷的告诉你,这个货架是由最新的纳米材料制成,“
   <<“应用了相对论和量子论的高级原理,“
   <<“只要你和你的电脑扛得住,它就永远不会满“< system(“pause“);
break;
default:return false;
}
}while(1);
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件         39  2011-10-08 17:27  商品货架\example.txt

     文件       1299  2011-10-08 21:45  商品货架\GroupCommon.h

     文件       3344  2011-10-08 21:49  商品货架\GroupGoods.cpp

     文件       3430  2011-10-08 21:24  商品货架\GroupGoods.h

     文件      51712  2011-10-08 21:49  商品货架\商品货架管理.exe

     目录          0  2011-10-08 21:53  商品货架

----------- ---------  ---------- -----  ----

                59824                    6


评论

共有 条评论