版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、計算機與信息工程系 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告學號2014-2015學年 第一學期1308010120數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告題目: 物流信息管理系統(tǒng)專業(yè):計算機科學與技術(shù)班級:姓名:學號:指導教師:成績:目 錄摘要.11設(shè)計內(nèi)容及要求11.1內(nèi)容描述11.2基本要求12詳細設(shè)計12.1概要設(shè)計12.2功能模塊詳細設(shè)計12.3程序流程圖43源代碼 .54程序結(jié)果95總結(jié).126參考文獻12計算機與信息工程系 數(shù)據(jù)結(jié)構(gòu)程序設(shè)計課程設(shè)計報告摘要 物流信息管理系統(tǒng)是利用單鏈表實現(xiàn)信息管理,進而掌握c語言中的結(jié)構(gòu)體,鏈表,指針,函數(shù)(系統(tǒng)函數(shù),自定義函數(shù))等c語言知識。 本文通過利用模塊化程序設(shè)計思想,使用單鏈
2、表和結(jié)構(gòu)體等編寫出的創(chuàng)建,刪除,查詢等功能的物流信息管理系統(tǒng)。通過完成這個程序設(shè)計讓我們熟悉并掌握c語言中使用結(jié)構(gòu)體,單鏈表,指針,函數(shù),和模塊化設(shè)計思想。關(guān)鍵詞 結(jié)構(gòu)體,鏈表,指針,函數(shù)1設(shè)計內(nèi)容及要求1.1內(nèi)容描述 對客戶的基本信息進行存儲,利用取貨號來查詢顧客信息,核對信息后方可取貨。1.2基本要求1.采用一定的存儲結(jié)構(gòu)進行客戶信息的存儲;2.對客戶的信息可以進行修改、刪除、查詢; 2詳細設(shè)計2.1概要設(shè)計 本系統(tǒng)用到的主要數(shù)據(jù)結(jié)構(gòu)為數(shù)組和文件。一個數(shù)組對應(yīng)一個客戶,里面用3個字符串分別存儲著用戶的客戶號、姓名和電話號碼。然后將數(shù)組寫入文件,查詢時讀取文件,提取相應(yīng)信息。2.2功能模塊詳
3、細設(shè)計 本程序運用鏈表對客戶信息進行存儲,首先對結(jié)點進行定義,結(jié)點中的數(shù)據(jù)域分別定義了取貨人的取貨號、身份證、姓名、電話號碼,其中身份證用了字符型數(shù)組進行定義,然后定義了客戶取貨鏈表,每添加一個取貨人,先分配內(nèi)存,再添加取貨人的信息,之后將鏈表中最后一個指針指向該新的取貨人,刪除時,需先找到該取貨人前面的取貨人,直接將其指針指向刪除取貨人的下一個取貨人,修改信息時,先找到該去人,選擇修改的內(nèi)容,再進行修改。void create(linklist &h) linklist s,t; int j=1; char x; h=(listnode *)malloc(sizeof(listnod
4、e); h->next=null;t=h; while(j) s=(listnode*)malloc(sizeof(listnode); printf("顧客取貨號為%dn",i); s->customer.m=i; printf("請輸入身份證號碼:"); scanf("%c",&x); scanf("%s",s->customer.identity); printf("n"); printf("請輸入姓名:"); scanf("%c&q
5、uot;,&x); scanf("%s",s->customer.name); printf("n"); printf("請輸入聯(lián)系號碼:"); scanf("%c",&x);scanf("%s",s->customer.tel); printf("n"); s->next=null;t->next=s;t=s; printf("全部輸完,請輸入0,否則輸入1.n"); scanf("%d",&a
6、mp;j); printf("n"); i+; t->next=null; 該功能主要實現(xiàn)顧客信息的存儲,s作為數(shù)據(jù)存儲節(jié)點,把顧客姓名,身份證,電話號碼等信息存儲進去。i作為游標,定位該節(jié)點位置方便數(shù)據(jù)查找。void change(linklist&h,int m) int a,j=1; float n; linklist t=h; printf("change customer's identity:1;name:2;tel:3; n"); scanf("%d",&a); printf("n
7、"); while(j<m&&t->next!=null) t=t->next; j+; printf("ok!n"); switch(a) case 1:printf("please enter the identity!"); scanf("%s",t->customer.identity); break; case 2:printf("please enter the name!"); scanf("%s",t->customer.n
8、ame); break; case 3:printf("please enter the tel!n"); scanf("%f",&n); break; printf("修改成功!n"); 該功能主要實現(xiàn)顧客信息的修改,輸入所需要修改的選項,然后可以根據(jù)選項修改所對應(yīng)的信息,然后修改完成。 void listdelete(linklist&h,int m) int j=1; linklist q=h,t; if(m=1) t=h; h=h->next; else while(j<m-1&&q
9、->next!=null) q=q->next; j+; if(q->next!=null&&j=m-1) t=q->next; q->next=t->next; else printf("位置參數(shù)不正確!n"); i-; free(t); printf("刪除成功!n"); 該功能主要實現(xiàn)顧客信息的刪除,通過刪除節(jié)點來刪除節(jié)點中說包含的信息,刪除節(jié)點既可實現(xiàn)目標。void search(linklist &h,int m) int n=1,j; linklist p=h->next; w
10、hile(n<m&&p->next!=null) p=p->next; n+; printf("消費號為%dn",m); printf("身份證為%sn",p->customer.identity); printf("消費者姓名為%sn",p->customer.name); printf("電話號碼為%sn",p->customer.tel); 該功能主要實現(xiàn)顧客信息的查找,通過查找節(jié)點所對應(yīng)的游標位置既可找到該節(jié)點,查找該節(jié)點可調(diào)出該節(jié)點所存儲的信息,達到查找
11、目的。2.3程序流程圖物流信息管理系統(tǒng)因具備以下功能有流程圖表示,如下圖物流信息管理系統(tǒng)新建一天取貨信息修改取貨信息查詢?nèi)∝浶畔h除取貨信息1)主函數(shù)流程圖swith(j)case 1:create(h);break; 調(diào)用創(chuàng)建函數(shù) case 2:printf("請輸入修改的位置:"); scanf("%d",&j); 調(diào)用修改函數(shù) change(h,j); break;case 3:printf("請輸入刪除的位置:"); scanf("%d",&j); listdelete(h,j); 調(diào)用刪除
12、函數(shù) break; case 4:printf("請輸入顧客取貨號:"); scanf("%d",&j); search(h,j); 調(diào)用查找函數(shù) break;default:printf("輸入錯誤。n"); creat:該函數(shù)是用來錄入顧客信息,使得用戶可以輸入姓名、電話號碼、身份證這三種取貨信息。change:該函數(shù)是用來修改顧客信息,使用戶可以修改姓名、電話號碼、身份證這三種取貨信息。listdelete:該函數(shù)用來刪除鏈表中的顧客信息。search:該函數(shù)是用來查找顧客所屬的取貨信息。3源代碼#include<
13、stdio.h> #include<malloc.h> #include<string.h> #include<stdlib.h> typedef struct datatype int m; char identity18; char name20; char tel18;datatype; /鏈表結(jié)點的定義 typedef struct listnode datatype customer; struct listnode *next; listnode,*linklist; int i=1;/顧客取貨號 /創(chuàng)建鏈表 void create(lin
14、klist &h) linklist s,t; int j=1; char x; h=(listnode *)malloc(sizeof(listnode); h->next=null;t=h; while(j) s=(listnode*)malloc(sizeof(listnode); printf("顧客取貨號為%dn",i); s->customer.m=i; printf("請輸入身份證號碼:"); scanf("%c",&x); scanf("%s",s->custome
15、r.identity); printf("n"); printf("請輸入姓名:"); scanf("%c",&x); scanf("%s",s->customer.name); printf("n"); printf("請輸入聯(lián)系號碼:"); scanf("%c",&x);scanf("%s",s->customer.tel); printf("n"); s->next=null;
16、t->next=s;t=s; printf("全部輸完,請輸入0,否則輸入1.n"); scanf("%d",&j); printf("n"); i+; t->next=null; /修改 void change(linklist&h,int m) int a,j=1; float n; linklist t=h; printf("change customer's identity:1;name:2;tel:3; n"); scanf("%d",&a
17、); printf("n"); while(j<m&&t->next!=null) t=t->next; j+; printf("ok!n"); switch(a) case 1:printf("please enter the identity!"); scanf("%s",t->customer.identity); break; case 2:printf("please enter the name!"); scanf("%s"
18、,t->customer.name); break; case 3:printf("please enter the tel!n"); scanf("%f",&n); break; printf("修改成功!n"); /刪除 void listdelete(linklist&h,int m) int j=1; linklist q=h,t; if(m=1) t=h; h=h->next; else while(j<m-1&&q->next!=null) q=q->next;
19、 j+; if(q->next!=null&&j=m-1) t=q->next; q->next=t->next; else printf("位置參數(shù)不正確!n"); i-; free(t); printf("刪除成功!n"); /查找 void search(linklist &h,int m) int n=1,j; linklist p=h->next; while(n<m&&p->next!=null) p=p->next; n+; printf("消
20、費號為%dn",m); printf("身份證為%sn",p->customer.identity); printf("消費者姓名為%sn",p->customer.name); printf("電話號碼為%sn",p->customer.tel); int main() int j=1; linklist h; while(j) printf("創(chuàng)立顧客取貨信息,請選擇1n"); printf("修改顧客取貨信息,請選擇2n"); printf("刪除顧客
21、取貨信息,請選擇3n"); printf("查詢顧客取貨信息,請選擇4n"); scanf("%d",&j); switch(j) case 0:break; case 1:create(h); break; case 2:printf("請輸入修改的位置:"); scanf("%d",&j); change(h,j); break; case 3:printf("請輸入刪除的位置:"); scanf("%d",&j); listdelete(h,j); break; case 4:printf("請輸入顧客取貨號:"); scanf("%d",&j); search(h,j); break;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030全球滑靴式分揀系統(tǒng)行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球民用航空機翼行業(yè)調(diào)研及趨勢分析報告
- 為他人貸款合同擔保
- 叉車購銷合同模板
- 2025物料購置合同管理操作規(guī)程
- 學校商鋪租賃合同范本
- 提高組織和協(xié)調(diào)能力的培訓
- 施工設(shè)計合同
- 商鋪租賃合同范本簡單
- 人才招聘中介服務(wù)合同模板
- 安全文明施工的管理要點
- 附屬醫(yī)院神經(jīng)內(nèi)科中長期發(fā)展規(guī)劃五年發(fā)展規(guī)劃
- 中醫(yī)中風病(腦梗死)診療方案
- GMP-基礎(chǔ)知識培訓
- 人教版小學六年級數(shù)學下冊(全冊)教案
- 人教版二年級語文上冊同音字歸類
- 高二數(shù)學下學期教學計劃
- 文學類作品閱讀練習-2023年中考語文考前專項練習(浙江紹興)(含解析)
- 第五章硅酸鹽分析
- 外科學總論-第十四章腫瘤
- 網(wǎng)絡(luò)反詐知識競賽參考題庫100題(含答案)
評論
0/150
提交評論