棧貨架管理系統模擬

2021-09-28 07:35:02 字數 1382 閱讀 6506

[問題描述]

商店貨架以棧的方式擺放商品。生產日期越近的越靠近棧底,出貨時從棧頂取貨。一天營業結束,如果貨架不滿,則需上貨。入貨直接將商品擺放到貨架上,則會使生產日期越近的商品越靠近棧頂。這樣就需要倒貨架,使生產日期越近的越靠近棧底。

[基本要求]

設計乙個演算法,保證每一次上貨後始終保持生產日期越近的商品越靠近棧底。

[實現提示]

可以用乙個佇列和乙個臨時棧作為周轉。

[測試資料]

由學生任意指定。

#include using namespace std;

#define maxsize 100

typedef struct sqstack

sqstack,*stack;

typedef struct sqqueue

sqqueue,*queue;

void initstack(sqstack &sta)

char push(sqstack &sta,char c)

}char pop(sqstack &sta)

}void initqueue(sqqueue &que)

char push(sqqueue &que,char c)

char pop(sqqueue &que)

}bool isstackempty(sqstack sta)

bool isqueueempty(sqqueue que)

void display(sqstack sta)

}else

while(cin>>goods)

while(!isstackempty(que))

}cout

}cout管理系統總結:

這道題起初我打算用乙個佇列乙個棧來模擬上貨和出貨中間進行轉變的過程,後來除錯出了bug,如果貨架用棧,中間用佇列來進行中轉,只有當上上一次的物品被賣光以後才不會出問題,不然在第三次新增中轉的過程中第一次的剩餘物品會到第二次的後面,導致商品順序錯誤。因此為了避免這種情況,中轉也用了棧來代替。保證每次都是最早新增的那一批商品最先出貨。

其中,上貨需要分情況,前面的貨物賣光可以直接向貨架棧新增,如果還有剩餘物品則需要先將貨架棧中的物品先轉移到中轉棧中,再向貨架棧中上新貨,然後將中轉棧中的貨物轉移進來,完成操作。

商品貨架的管理系統有很多種方式的寫法,用順序表來模擬是最基礎的一種,也可以用鏈棧來模擬,更為簡單方便。

測試結果:

列表的練習(會員管理系統以及模擬入棧出棧)

1.系統裡面有多個使用者,使用者的資訊目前儲存在列表裡面 users root redhat passwd 123 456 2.使用者登陸 判斷使用者登陸是否成功 1 判斷使用者是否存在 2 如果存在 1 判斷使用者密碼是否正確 如果正確,登陸成功,退出迴圈 如果密碼不正確,重新登陸,總共有三次機會...

電子貨架標籤 揀貨系統

工作原理 電子標籤揀貨系統就是通過pc機傳送指令,通過路由器 控制電子標籤上的led燈或螢幕指引揀貨人員準確 快速地到指定的位置撿取指定數量的貨物。電子標籤揀貨系統應用在貨物品種較多的倉儲庫房中。它能大大提高入庫,出庫,盤點,移庫的效率,做到入庫,出庫,盤點,移庫完畢,就能生成報表,為決策人員提供實...

AcWing 模擬棧 棧 模擬

時 空限制 1s 64mb 實現乙個棧,棧初始為空,支援四種操作 1 push x 向棧頂插入乙個數x 2 pop 從棧頂彈出乙個數 3 empty 判斷棧是否為空 4 query 查詢棧頂元素。現在要對棧進行m個操作,其中的每個操作3和操作4都要輸出相應的結果。第一行包含整數m,表示操作次數。接下...