數(shù)據(jù)結構課程設計+數(shù)據(jù)匯總(超市)_第1頁
數(shù)據(jù)結構課程設計+數(shù)據(jù)匯總(超市)_第2頁
數(shù)據(jù)結構課程設計+數(shù)據(jù)匯總(超市)_第3頁
數(shù)據(jù)結構課程設計+數(shù)據(jù)匯總(超市)_第4頁
數(shù)據(jù)結構課程設計+數(shù)據(jù)匯總(超市)_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上 得分:信電工程學院課程設計報告數(shù)據(jù)匯總系統(tǒng)課程: 高級語言程序設計 班級: 12軟件1學號: 姓名: 潘煥燚指導教師: 丁賓 2013年 7 月1日目 錄 1程序目標及功能- 11.1課題背景-11.2系統(tǒng)功能 -31.3設計要求 -32程序功能模塊組成及流程圖 -42.2系統(tǒng)功能模塊-42.3各模塊流程圖-53程序主要數(shù)據(jù)結構及函數(shù)列表 -83.1 程序中使用的數(shù)據(jù)結構-83.2 函數(shù)列表-104程序代碼及運行結果 -145總結與體會 -32 題目:數(shù)據(jù)匯總題目內(nèi)容:在數(shù)據(jù)處理中經(jīng)常需要對大量數(shù)據(jù)進行匯總,將相同關鍵字記錄的某些數(shù)據(jù)項的值疊加起來,生成一個分類匯總

2、表。假設某超級市場銷售有m種商品(假設商品的編號為1,2,3,m),有n臺前臺收款機(假設收款機的編號為1,2,3,n)進行收款,以記錄的形式提供給計算機,每個記錄表示某臺收款機的一種商品一次交易的數(shù)量和銷售額。記錄由4個域組成:收款機編號、商品編號、銷售數(shù)量、銷售金額。構造一個結構體類型,每次銷售數(shù)據(jù)以一個結構體變量保存在一個數(shù)據(jù)文件中。本人完成的工作:(1)編寫實現(xiàn)將數(shù)據(jù)記錄插入到數(shù)據(jù)文件的最后的函數(shù); 編寫以收款機為單位的數(shù)據(jù)分類處理函數(shù)。構造n個單鏈表,每個鏈表保存一臺收款機的銷售記錄,這n個單鏈表的頭指針存放在一個指針數(shù)組中,通過數(shù)組的下標就可以知道是哪臺收款機。讀取數(shù)據(jù)文件的記錄,

3、將所有的銷售記錄(數(shù)據(jù)文件中的全部記錄)分解插入到n個單鏈表;(3) 編寫以商品為單位的數(shù)據(jù)分類處理函數(shù)。構造m個單鏈表,每個鏈表保存一種商品的銷售記錄,這m個單鏈表的頭指針存放在一個指針數(shù)組中,通過數(shù)組的下標就可以知道是哪種商品。讀取數(shù)據(jù)文件的記錄,將所有的銷售記錄(數(shù)據(jù)文件中的全部記錄)分解插入到m個單鏈表;(4) 統(tǒng)計每臺收款機的銷售總額;(5) 以收款機為單位,將所有收款機按銷售總額的遞增順序構造一個單鏈表并輸出。(6) 以商品為單位,統(tǒng)計每種商品的銷售總額。(7)以商品為單位,將所有銷售的商品按銷售總額的遞增順序構造一個單鏈表并輸出。(8) 設計一個菜單,具有插入數(shù)據(jù)記錄、按收款機統(tǒng)

4、計銷售總額、按商品統(tǒng)計銷售總額、退出系統(tǒng)等最基本的功能。所采用的數(shù)據(jù)結構:單鏈表銷售商品數(shù)據(jù)記錄結構定義:typedef struct Goods int regNum;/ 收款機編號 int goodsNum;/ 商品編號 int salesVol;/ 銷售數(shù)量 double salesAmount;/ 銷售單價Goods;typedef struct GoodsElemType;/ 用于鏈表里的數(shù)據(jù)類型單鏈表結點定義:typedef struct Node ElemType data;/ 鏈表所存的數(shù)據(jù)struct Node *next;/ 指向下一個結點的指針 *LNode, *Link

5、List;所設計的函數(shù): 1.將數(shù)據(jù)記錄插入到文件data.dat最后的函數(shù)int Addrecord(Goods *goods)算法思想:首先判斷參數(shù)是否非法,非法則返回FAIL,否則以以二進制的append方式打開文件data.dat;文件指針為空則打開失敗返回FAIL,否則將數(shù)據(jù)記錄寫入文件,然后關閉文件,返回SUCCESS。流程圖:開始參數(shù)為空?返回FAIL結束是打開文件失???是否否把記錄寫入文件關閉文件,返回SUCCESS2.以收款機為單位的數(shù)據(jù)分類處理函數(shù)LinkList* SortByReg(int n)算法思想:判斷打開文件是否成功,失敗則打印“打開文件失敗”并返回FAIL,否

6、則分配鏈表指針數(shù)組;然后判斷內(nèi)存是否充足,不足則打印“內(nèi)存不足”并返回FAIL,否則初始化n個收款機鏈表,并讀相應記錄,存到對應的收款機鏈表中的末尾結點,最后關閉文件,返回鏈表數(shù)組。流程圖:開始打開文件失???打印“打開文件失敗”返回“FAIL”結束是分配鏈表指針數(shù)組內(nèi)存不足?打印“內(nèi)存不足”否是初始化n個收款機鏈表否讀相應記錄關閉文件,返回鏈表數(shù)組數(shù)據(jù)塊個數(shù)不為1?是鏈表為空?否初始化鏈表是將記錄存到相應鏈表的末尾結點否3 統(tǒng)計每臺收款機的銷售總額double* SumByReg(int n)算法思想:申請一個數(shù)組存儲各臺收款機的銷售總額,申請不成功則打印“內(nèi)存不足”并返回FAIL,否則調用S

7、ortByReg(n)函數(shù)得到分類好的收款機鏈表指針數(shù)組,判斷指針數(shù)組是否為空,是則釋放之前時申請的內(nèi)存空間并返回NULL,否則初始化總額數(shù)組,并進行累計分析,之后釋放收款機的鏈表內(nèi)存,釋放鏈表指針的內(nèi)存,釋放總額數(shù)組,返回總額amount流程圖:開始結束申請一個數(shù)組儲各臺收款機的銷售總額內(nèi)存不足?否是打印“內(nèi)存不足”返回“FAIL”調用SortByReg(n)函數(shù)得到分類好的收款機鏈表指針數(shù)組指針數(shù)組為空?釋放之前申請的內(nèi)存返回NULL是初始化總額數(shù)組否記錄總額累加釋放鏈表頭指針的內(nèi)存,釋放總額數(shù)組返回總額amount初始化參數(shù)i=0i<n?是鏈表regArri為空?否鏈表長度為rec

8、srecs- > 0?結果打印,釋放收款機的鏈表內(nèi)存是i+否是否4.以商品為單位的數(shù)據(jù)分類處理函數(shù)LinkList* SortByGoods(int m)算法思想:判斷打開文件是否成功,失敗則打印“打開文件失敗”并返回FAIL,否則分配鏈表指針數(shù)組;然后判斷內(nèi)存是否充足,不足則打印“內(nèi)存不足”并返回FAIL,否則初始化m個商品鏈表,并讀相應記錄,存到對應的商品鏈表中的末尾結點,最后關閉文件,返回鏈表數(shù)組。流程圖:開始打開文件失敗?打印“打開文件失敗”返回“FAIL”結束是分配鏈表指針數(shù)組內(nèi)存不足?打印“內(nèi)存不足”否是初始化m個商品鏈表否讀相應記錄關閉文件,返回鏈表數(shù)組數(shù)據(jù)塊個數(shù)不為1?是

9、鏈表為空?否初始化鏈表是將記錄存到相應鏈表的末尾結點否5.以商品為單位,統(tǒng)計每種商品的銷售總額double* SumByGoods(int m)算法思想:申請一個數(shù)組存儲各種商品的銷售總額,申請不成功則打印“內(nèi)存不足”并返回FAIL,否則調用SortByGoods(m)函數(shù)得到分類好的各種商品的鏈表指針數(shù)組,判斷指針數(shù)組是否為空,是則釋放之前時申請的內(nèi)存空間并返回NULL,否則初始化總額數(shù)組,并進行累計分析,之后釋放收款機的鏈表內(nèi)存,釋放鏈表指針的內(nèi)存,釋放總額數(shù)組,返回總額amount流程圖:開始結束申請一個數(shù)組儲存各種商品的銷售總額內(nèi)存不足?否是打印“內(nèi)存不足”返回“FAIL”調用Sort

10、ByGoods(m)函數(shù)得到分類好的商品鏈表指針數(shù)組指針數(shù)組為空?釋放之前申請的內(nèi)存返回NULL是初始化總額數(shù)組否記錄總額累加釋放鏈表頭指針的內(nèi)存,釋放總額數(shù)組返回總額amount初始化參數(shù)i=0i<m?是鏈表regArri為空?否鏈表長度為recsrecs- > 0?結果打印,釋放收款機的鏈表內(nèi)存是i+否是否 6.設計一個菜單,具有插入數(shù)據(jù)記錄、按收款機統(tǒng)計銷售總額void RunMenu(void)算法思想:開始清除以前的無關輸入打印菜單根據(jù)選擇的菜單項進行相應的操作結束1.插入數(shù)據(jù)記錄2.按收款機統(tǒng)計銷售總額4退出系統(tǒng)3.按商品統(tǒng)計銷售總額 清除以前的無關輸入,打印菜單,根據(jù)

11、選擇的菜單項進行相應的操作。7. 用于輸入一條新的記錄開始goods->regNum > 0 && goods->regNum <= allRegisters?打印“請輸入商品信息”清除緩沖區(qū)輸入收款機編號是否打印“收款機編號(1-%d): #”清除緩沖區(qū)輸入商品編號goods->goodsNum >0&&goods->goodsNum <= allGoods?是否打印“商品編號(1-%d): #”打印“銷售數(shù)量: n=”輸入銷售數(shù)量打印“銷售單價”輸入單價清除緩沖區(qū)結束8. GOODS的輸出函數(shù)開始count=L

12、istLength(L)L=NULL?node = L->nextnode=NULL?打印記錄格式i=0i<count?輸出記錄(i+1)%5 = 0?getch()i+;node = node->next;輸出總額和記錄條數(shù)是否否否是是結束程序運行結果:1:主程序運行,菜單打印2插入數(shù)據(jù)記錄3.按收款機統(tǒng)計銷售總額4.按商品統(tǒng)計銷售總額5.按商品銷售記錄排序6按收款機收款紀錄排序7退出系統(tǒng)源程序:#include <stdio.h>#include <stdlib.h>#include <conio.h>#define SUCCESS1/

13、 操作成功#defineFAIL0/ 操作失敗#define allRegisters 15#define allGoods 30/ 銷售的商品數(shù)據(jù)記錄typedef struct Goods int regNum;/ 收款機編號 int goodsNum;/ 商品編號 int salesVol;/ 銷售數(shù)量 double salesAmount;/ 銷售單價Goods;typedef struct GoodsElemType;/ 用于鏈表里的數(shù)據(jù)類型typedef struct Node ElemType data;/ 鏈表所存的數(shù)據(jù)struct Node *next;/ 指向下一個結點的指

14、針 *LNode, *LinkList;/構造一個空的線性表LinkList InitList(void) LNode Head; Head = (LNode)malloc(sizeof(struct Node); /為鏈表的頭結點分配空間 if(!Head) printf("Out of space!"); return NULL; Head->next = NULL; return Head;/返回頭結點,第一個結點head是不存任何數(shù)據(jù)的/初始條件:線性表L已存在。 操作結果:返回線性表L的最后一個結點(尾結點)。LNode IsLast(LinkList L)

15、 LNode P = L->next; if(P) while(P->next != NULL) /遍歷線性表L P = P->next;return P; /返回線性表L的最后一個結點 elsereturn L;/ 鏈表只有頭結點,而它不存數(shù)據(jù)的 /初始條件:線性表L已存在。 操作結果:返回線性表L結點的個數(shù)。int ListLength(LinkList L) LNode P = L->next; int num = 0; while(P) /累積線性表L結點的個數(shù) num+; P = P->next; return num; /返回線性表L結點的個數(shù)/構造一

16、個數(shù)據(jù)域為X的新結點LNode NewLNode(ElemType X) LNode S; S = (LNode)malloc(sizeof(struct Node);/為新結點分配空間if(!S) printf("Out of space!"); return NULL; S->data = X; S->next = NULL; return S;/返回新結點/初始條件:線性表L已存在。 操作結果:銷毀線性表L。void DestroyList(LinkList *L) LNode Head, P; if(*L)/若線性表L已存在 Head = *L; P =

17、 Head->next; while(P != NULL) /把鏈表中除頭結點外的所有結點釋放 free(Head); Head = P; P = Head->next; free(Head); /釋放頭結點 *L = NULL;/初始條件:線性表L中結點P已找到,新結點S已構造。操作結果:在該結點之后插入新結點X。void ListInsert(LNode Pre, LNode S) S->next = Pre->next; Pre->next = S;/ 用于輸入一條新的記錄/ 缺點就是沒對輸入的數(shù)據(jù)各種檢查/ 一旦輸入字母就不行了Goods *Newreco

18、rd(Goods *goods)printf("-n" "請輸入商品信息:n");/ 收款臺號,保證錄入正確的數(shù)據(jù)while (1)fflush(stdin);printf("收款機編號(1-%d): #", allRegisters);scanf("%d",&goods->regNum);if (goods->regNum > 0 && goods->regNum <= allRegisters)break;/ 商品號while (1)fflush(stdin

19、);printf("商品編號(1-%d): #", allGoods);scanf("%d",&goods->goodsNum);if (goods->goodsNum > 0 && goods->goodsNum <= allGoods)break;/ 銷售量printf("銷售數(shù)量: n=");scanf("%d",&goods->salesVol);/ 銷量單價printf("商品銷售單價: $");scanf("

20、;%lf",&goods->salesAmount);/ 清除可能輸入緩沖區(qū)fflush(stdin);return goods;/ 專為GOODS而寫的輸出函數(shù)void ListPrint(LinkList L, double amount)LNode node;int i;int count = ListLength(L);if (L = NULL)return;/ 第一個結點不存記錄,所以從第二個開始node = L->next;if (node = NULL)return;/ 打印出表頭printf("注意:每打印5個記錄,將會暫停,按enter

21、繼續(xù)!n");printf("收款機 No(R). | 商品 No(G). | 單價 ($) | 銷售數(shù)量 (n) n");/ 將全部記錄按格式打印出來i = 0;while (i < count)printf("R*%-15d G*%-13d $%-14.2lf n=%-13dn",node->data.regNum, node->data.goodsNum, node->data.salesAmount, node->data.salesVol);if (i+1)%5 = 0)getch();i+;node =

22、 node->next;/ 這個就是打出總額了,Total則是記錄的條數(shù)printf("銷售總額=%lf, 記錄條數(shù)=%dn", amount, i);/ 1.將數(shù)據(jù)記錄插入到文件data.dat最后的函數(shù)int Addrecord(Goods *goods)FILE *ofp;/ 非法參數(shù)if (goods = NULL)return FAIL;/ 以二進制的append方式打開文件data.datif (ofp=fopen("data.dat", "ab") = NULL)printf("Open fail!n&q

23、uot;);return FAIL;/ 把記錄寫入文件中fwrite(goods, sizeof(struct Goods), 1, ofp);/ 關閉文件fclose(ofp);return SUCCESS;/ 2.編寫以收款機為單位的數(shù)據(jù)分類處理函數(shù)LinkList* SortByReg(int n)int i,count;FILE *ifp;Goods temp;LinkList *regArr;/ 收款機的鏈表數(shù)組if (ifp=fopen("data.dat", "rb") = NULL)printf("Open Fail.n&quo

24、t;);return FAIL;/ 分配鏈表指針數(shù)組regArr = (LinkList*)malloc(n * sizeof(LinkList);if (regArr = NULL)printf("Not enough memoryn");return FAIL;/ n個收款機鏈表初始化for (i=0; i<n; i+)regArri = NULL;/ 開始根據(jù)收款機的編號將所讀的記錄進行分類/ 注意數(shù)組下標是從0開始,而收款機是從1開始數(shù)的while (1) / 讀相應的記錄,正確讀取時count為所讀的字節(jié)數(shù)count = fread(&temp, s

25、izeof(struct Goods), 1, ifp);/ 出錯或是到文件尾了if (count != 1)break;/ 第一次要初始化鏈表if (regArrtemp.regNum-1 = NULL)regArrtemp.regNum-1 = InitList();/ 存到對應的收款機鏈表中的末尾結點ListInsert(IsLast(regArrtemp.regNum-1), NewLNode(temp);/ 關閉文件fclose(ifp);return regArr;/ 3 統(tǒng)計每臺收款機的銷售總額double* SumByReg(int n)int i, recs;double *

26、amount;LNode node;LinkList *regArr;/ 申請一個數(shù)組存儲各臺收款機的銷售總額if (amount=(double*)malloc(n*sizeof(double) = NULL)printf("Not enough memory!n");return FAIL;/ 得到了分類好的收款機鏈表指針數(shù)組regArr = SortByReg(n);if (regArr = NULL)free(amount);/ 釋放之前申請的內(nèi)存return NULL;/ 初始化總額數(shù)組for (i=0; i<n; i+)amounti = 0;/ 進行分析

27、累加for (i=0; i<n; i+)if (regArri = NULL)continue;/ 鏈表頭是不存任何數(shù)據(jù)的node = regArri->next;/ 鏈表是空的if (recs = ListLength(regArri) = 0)continue;/ 遍歷一個收款機鏈表里有的所有記錄while (recs- > 0)/ 將該臺收款機銷售的商品記錄的總額進行累加amounti += node->data.salesAmount * node->data.salesVol;node = node->next;/ 釋放收款機的鏈表內(nèi)存for (i

28、=0; i<n; i+)if (regArri = NULL)continue;/ 打印出后再釋放內(nèi)存ListPrint(regArri, amounti);DestroyList(&regArri);/ 釋放鏈表指針頭的內(nèi)存free(regArr);/ 釋放總額數(shù)組free(amount);return amount;/4排序收款機銷售總額double* PaixuByReg(int n)int i, recs,k,l,temp;double *amount;LNode node;LinkList *regArr;/ 申請一個數(shù)組存儲各臺收款機的銷售總額if (amount=(

29、double*)malloc(n*sizeof(double) = NULL)printf("Not enough memory!n");return FAIL;/ 得到了分類好的收款機鏈表指針數(shù)組regArr = SortByReg(n);if (regArr = NULL)free(amount);/ 釋放之前申請的內(nèi)存return NULL;/ 初始化總額數(shù)組for (i=0; i<n; i+)amounti = 0;/ 進行分析累加for (i=0; i<n; i+)if (regArri = NULL)continue;/ 鏈表頭是不存任何數(shù)據(jù)的nod

30、e = regArri->next;/ 鏈表是空的if (recs = ListLength(regArri) = 0)continue;/ 遍歷一個收款機鏈表里有的所有記錄while (recs- > 0)/ 將該臺收款機銷售的商品記錄的總額進行累加amounti += node->data.salesAmount * node->data.salesVol;node = node->next;for(k=0;k<i-1;k+) for(l=k+1;l<n;l+) if(amountk>amountl) temp=amountk; amount

31、k=amountl; amountl=temp; printf("排序后的數(shù)組為n");/ 釋放收款機的鏈表內(nèi)存for (i=0; i<n; i+)if (regArri = NULL)continue;/ 打印出后再釋放內(nèi)存ListPrint(regArri, amounti);DestroyList(&regArri);/ 釋放鏈表指針頭的內(nèi)存free(regArr);/ 釋放總額數(shù)組free(amount);return amount;/ 5.編寫以商品為單位的數(shù)據(jù)分類處理函數(shù)LinkList* SortByGoods(int m)int i, coun

32、t=0;FILE *ifp;Goods temp;LinkList *goodsArr;/ 各種商品的鏈表數(shù)組if (ifp=fopen("data.dat", "rb") = NULL)printf("Open Fail.n");return FAIL;/ 分配鏈表指針數(shù)組goodsArr = (LinkList*)malloc(m * sizeof(LinkList);if (goodsArr = NULL)printf("Not enough memoryn");return FAIL;/ m種商品的鏈表初始

33、化for (i=0; i<m; i+)goodsArri = NULL;/ 開始根據(jù)商品的編號將所讀的記錄進行分類/ 注意數(shù)組下標是從0開始,而商品編號是從1開始數(shù)的while (1)/ 讀相應的記錄count = fread(&temp, sizeof(struct Goods), 1, ifp);/ 出錯或是到文件尾了if (count != 1)break;/ 第一次要初始化鏈表if (goodsArrtemp.goodsNum-1 = NULL)goodsArrtemp.goodsNum-1 = InitList();/ 存到對應的商品鏈表中的末尾結點ListInsert

34、(IsLast(goodsArrtemp.goodsNum-1), NewLNode(temp);/ 關閉文件fclose(ifp);return goodsArr;/ 6.以商品為單位,統(tǒng)計每種商品的銷售總額double* SumByGoods(int m)int i, recs;double *amount;LNode node;LinkList *goodsArr;/ 申請一個數(shù)組存儲各種商品的銷售總額if (amount=(double*)malloc(m*sizeof(double) = NULL)printf("Not enough memory!n");ret

35、urn FAIL;/ 得到了分類好的各種商品的鏈表指針數(shù)組goodsArr = SortByGoods(m);if (goodsArr = NULL)free(amount);/ 釋放之前申請的內(nèi)存return NULL;/ 初始化總額數(shù)組for (i=0; i<m; i+)amounti = 0;/ 進行分析累加for (i=0; i<m; i+)if (goodsArri = NULL)continue;/ 鏈表頭是不存任何數(shù)據(jù)node = goodsArri->next;/ 鏈表是空的if (recs = ListLength(goodsArri) = 0)contin

36、ue;/ 遍歷一個商品鏈表里有的所有記錄while (recs- > 0)/ 將某種商品的銷售記錄的總額進行累加amounti += node->data.salesAmount * node->data.salesVol;node = node->next;/ 釋放商品的鏈表內(nèi)存for (i=0; i<m; i+)/ 鏈表存在的話if (goodsArri = NULL)continue;/ 打印出后再釋放內(nèi)存ListPrint(goodsArri, amounti);DestroyList(&goodsArri);/ 釋放鏈表指針頭的內(nèi)存free(go

37、odsArr);/ 釋放總額數(shù)組free(amount);return amount;/7以商品為單位,排序每種商品的銷售總額double* PaixuByGoods(int m)int i, recs,k,l,temp;double *amount;LNode node;LinkList *goodsArr;/ 申請一個數(shù)組存儲各種商品的銷售總額if (amount=(double*)malloc(m*sizeof(double) = NULL)printf("Not enough memory!n");return FAIL;/ 得到了分類好的各種商品的鏈表指針數(shù)組go

38、odsArr = SortByGoods(m);if (goodsArr = NULL)free(amount);/ 釋放之前申請的內(nèi)存return NULL;/ 初始化總額數(shù)組for (i=0; i<m; i+)amounti = 0;/ 進行分析累加for (i=0; i<m; i+)if (goodsArri = NULL)continue;/ 鏈表頭是不存任何數(shù)據(jù)node = goodsArri->next;/ 鏈表是空的if (recs = ListLength(goodsArri) = 0)continue;/ 遍歷一個商品鏈表里有的所有記錄while (recs

39、- > 0)/ 將某種商品的銷售記錄的總額進行累加amounti += node->data.salesAmount * node->data.salesVol;node = node->next;for(k=0;k<i-1;k+) for(l=k+1;l<m;l+) if(amountk>amountl) temp=amountk; amountk=amountl; amountl=temp; printf("排序后的數(shù)組為n");/ 釋放商品的鏈表內(nèi)存for (i=0; i<m; i+)/ 鏈表存在的話if (goodsArri

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論