91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 8KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-14
  • 語言: 其他
  • 標簽: C語言??數據結構??

資源簡介

試利用單鏈表作為存放委托的數據結構(撮合隊列),編寫一模擬股票交易的程序,該程序有以下幾個功能: 1. 委托申請: 輸入:每個委托包括四個數據項,股票編碼( 4 位數字)、價格(浮點數)、數量(整數)、買 / 賣( B/S ) 輸出: a. 程序為每個委托產生一個唯一的序號( d ),該序號從 1 開始; b. 每筆成交包括:成交價格( %6.1f )、成交量( %4d )、新的委托序號( d )、匹配的委托序號( d )。 2. 查詢未成交的委托: 輸入:股票編碼 輸出:按撮合隊列中委托的順序,分別輸出該股票未成交的委托,每個輸出的委托包括:委托序號( d )、 股票編碼 ( d ) 、 價格( %6.1f )、數量( %4d )、 B/S (買 / 賣 ) 3. 委托撤消: 輸入:要撤消的委托號。 輸出:若成功,顯示該委托信息,其中委托包括數據項:委托序號、股票編碼、價格、數量、 B/S (買 / 賣 ) ;否則顯示“ not found ”失敗信息。 委托輸入格式 : 1 股票編碼 價格 數量 買賣 查詢輸入格式 : 2 股票編碼 委托撤銷 : .3 委托號 退出: 0

資源截圖

代碼片段和文件信息

#include?
#include?
int?count;
struct?date
{
????int?orderid;
????int?stockid;
????float?price;
????int?quantity;
????int?bs;
????struct?date*?next;
};
typedef?struct?date?DATE;
typedef?struct?date*?PDATE;
struct?stock
{
????int?stockid;
????struct?stock*?next;
????struct?date*?b;
????struct?date*?s;
};
typedef?struct?stock?STOCK;
typedef?struct?stock*?PSTOCK;
PDATE?adress[10000];
PSTOCK?ad[10000];
PSTOCK?home;
PDATE?setnew(PDATE?p0int?stockidfloat?priceint?quantityint?bs)
{
????PDATE?p;
????p=(PDATE)?malloc?(sizeof(DATE));
????p->bs=bs;??if(p0!=NULL)
????{
????????p->next=p0->next;
????????p0->next=p;
????}
????else
????p->next=NULL;
????p->orderid=count++;
????adress[p->orderid]=p;
????p->price=price;
????p->quantity=quantity;
????p->stockid=stockid;
????return?p;
}
PSTOCK?setnewstock(int?stockid)
{
????PSTOCK?p=NULL;
????p=(PSTOCK)malloc(sizeof(STOCK));
????ad[stockid]=p;
????p->b=NULL;
????p->s=NULL;
????p->stockid=stockid;
????return?p;
}
PSTOCK?insert(PSTOCK?homeint?stockidfloat?priceint?bsint?quantity)
{
????PDATE?p2;
????if(ad[stockid]==NULL)
????setnewstock(stockid);
????PDATE?p1=NULL;
????if(bs==1)//大to小
????{
????????p1=ad[stockid]->b;
????????if(p1==NULL)
????????{
????????????ad[stockid]->b=setnew(NULLstockidpricequantitybs);
????????????return?ad[stockid];
????????}
????????else
????????{
????????????while(1)
????????????{
????????????????if(p1->price????????????????{
????????????????????p2=setnew(p1p1->stockidp1->pricep1->quantityp1->bs);
????????????????????p1->bs=bs;
????????????????????int?tempid;
????????????????????tempid=p2->orderid;
????????????????????p2->orderid=p1->orderid;
????????????????????p1->orderid=tempid;
????????????????????p1->price=price;
????????????????????p1->quantity=quantity;
????????????????????adress[p2->orderid]=p2;
????????????????????adress[p1->orderid]=p1;
????????????????????return?ad[stockid];
????????????????}
????????????????else?if(p1->next==NULL)
????????????????{
????????????????????setnew(p1stockidpricequantitybs);
????????????????????return?ad[stockid];
????????????????}
????????????????p1=p1->next;
????????????}
????????}
????}
????else//小to大
????{
????????p1=ad[stockid]->s;
????????if(p1==NULL)
????????{
????????????ad[stockid]->s=setnew(NULLstockidpricequantitybs);
????????????return?ad[stockid];
????????}
????????else
????????{
????????????while(1)
????????????{
????????????????if(p1->price>price)
????????????????{
????????????????????p2=setnew(p1p1->stockidp1->pricep1->quantityp1->bs);
????????????????????p1->bs=bs;
????????????????????int?tempid;
????????????????????tempid=p2->orderid;
????????????????????p2->orderid=p1->orderid;
????????????????????p1->orderid=tempid;
????????????????????p1->price=price;
????????????????????p1->quantity=quantity;
????????????????????adress[p2->orderid]=p2;
????????????????????adres

評論

共有 條評論