數據結構物流信息管理系統(tǒng)方案_第1頁
數據結構物流信息管理系統(tǒng)方案_第2頁
數據結構物流信息管理系統(tǒng)方案_第3頁
數據結構物流信息管理系統(tǒng)方案_第4頁
數據結構物流信息管理系統(tǒng)方案_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

./.專業(yè)整理.學號20142014-2015學年第一學期《數據結構》課程設計報告題目:物流信息管理系統(tǒng)專業(yè):計算機科學與技術______指導成績:目錄摘要11設計內容與要求…………………11.1內容描述……………………11.2基本要求……………………12詳細設計…………12.1概要設計……………………12.2功能模塊詳細設計…………12.3程序流程圖…………………43源代碼………….54程序結果…………95總結……………….126參考文獻…………12.摘要物流信息管理系統(tǒng)是利用單鏈表實現信息管理,進而掌握C語言中的結構體,鏈表,指針,函數〔系統(tǒng)函數,自定義函數〕等C語言知識。本文通過利用模塊化程序設計思想,使用單鏈表和結構體等編寫出的創(chuàng)建,刪除,查詢等功能的物流信息管理系統(tǒng)。通過完成這個程序設計讓我們熟悉并掌握c語言中使用結構體,單鏈表,指針,函數,和模塊化設計思想。關鍵詞結構體,鏈表,指針,函數1設計內容與要求1.1內容描述對客戶的基本信息進行存儲,利用取貨號來查詢顧客信息,核對信息后方可取貨。1.2基本要求1.采用一定的存儲結構進行客戶信息的存儲;2.對客戶的信息可以進行修改、刪除、查詢;2詳細設計2.1概要設計本系統(tǒng)用到的主要數據結構為數組和文件。一個數組對應一個客戶,里面用3個字符串分別存儲著用戶的客戶號、XX和。然后將數組寫入文件,查詢時讀取文件,提取相應信息。2.2功能模塊詳細設計本程序運用鏈表對客戶信息進行存儲,首先對結點進行定義,結點中的數據域分別定義了取貨人的取貨號、XX、XX、,其中XX用了字符型數組進行定義,然后定義了客戶取貨鏈表,每添加一個取貨人,先分配內存,再添加取貨人的信息,之后將鏈表中最后一個指針指向該新的取貨人,刪除時,需先找到該取貨人前面的取貨人,直接將其指針指向刪除取貨人的下一個取貨人,修改信息時,先找到該去人,選擇修改的內容,再進行修改。voidcreate<Linklist&h>{Linklists,t;intj=1;charx;h=<Listnode*>malloc<sizeof<Listnode>>;h->next=NULL;t=h;while<j>{s=<Listnode*>malloc<sizeof<Listnode>>;printf<"顧客取貨號為%d\n",i>;s->customer.m=i;printf<"請輸入XX:">;scanf<"%c",&x>;scanf<"%s",s->customer.Identity>;printf<"\n">;printf<"請輸入__">;scanf<"%c",&x>;scanf<"%s",s->customer.Name>;printf<"\n">;printf<"請輸入聯系:">;scanf<"%c",&x>;scanf<"%s",s->customer.Tel>;printf<"\n">;s->next=NULL;t->next=s;t=s;printf<"全部輸完,請輸入0,否則輸入1...\n">;scanf<"%d",&j>;printf<"\n">;i++;}t->next=NULL;}該功能主要實現顧客信息的存儲,s作為數據存儲節(jié)點,把顧客XX,XX,等信息存儲進去。i作為游標,定位該節(jié)點位置方便數據查找。voidchange<Linklist&h,intm>{inta,j=1;floatn;Linklistt=h;printf<"Changecustomer'sIdentity:1;Name:2;Tel:3;\n">;scanf<"%d",&a>;printf<"\n">;while<j<m&&t->next!=NULL>{t=t->next;j++;}printf<"OK!\n">;switch<a>{case1:printf<"PleaseentertheIdentity!">;scanf<"%s",t->customer.Identity>;break;case2:printf<"PleaseentertheName!">;scanf<"%s",t->customer.Name>;break;case3:printf<"PleaseentertheTel!\n">;scanf<"%f",&n>;break;}printf<"修改成功!\n">;}該功能主要實現顧客信息的修改,輸入所需要修改的選項,然后可以根據選項修改所對應的信息,然后修改完成。voidListdelete<Linklist&h,intm>{intj=1;Linklistq=h,t;if<m==1>{t=h;h=h->next;}else{while<j<m-1&&q->next!=NULL>{q=q->next;j++;}if<q->next!=NULL&&j==m-1>{t=q->next;q->next=t->next;}elseprintf<"位置參數不正確!\n">;}i--;free<t>;printf<"刪除成功!\n">;}該功能主要實現顧客信息的刪除,通過刪除節(jié)點來刪除節(jié)點中說包含的信息,刪除節(jié)點既可實現目標。voidsearch<Linklist&h,intm>{intn=1,j;Linklistp=h->next;while<n<m&&p->next!=NULL>{p=p->next;n++;}printf<"消費號為%d\n",m>;printf<"XX為%s\n",p->customer.Identity>;printf<"消費者XX為%s\n",p->customer.Name>;printf<"為%s\n",p->customer.Tel>;}該功能主要實現顧客信息的查找,通過查找節(jié)點所對應的游標位置既可找到該節(jié)點,查找該節(jié)點可調出該節(jié)點所存儲的信息,達到查找目的。2.3程序流程圖物流信息管理系統(tǒng)因具備以下功能有流程圖表示,如下圖物流信息管理系統(tǒng)新建一天取貨信息修改取貨信息查詢取貨信息刪除取貨信息1>主函數流程圖swith<j>case1:create<h>;break;調用創(chuàng)建函數case2:printf<"請輸入修改的位置:">;scanf<"%d",&j>;調用修改函數change<h,j>;break;case3:printf<"請輸入刪除的位置:">;scanf<"%d",&j>;Listdelete<h,j>;調用刪除函數break;case4:printf<"請輸入顧客取貨號:">;scanf<"%d",&j>;search<h,j>;調用查找函數break;default:printf<"輸入錯誤。\n">;}Creat:該函數是用來錄入顧客信息,使得用戶可以輸入XX、、XX這三種取貨信息。Change:該函數是用來修改顧客信息,使用戶可以修改XX、、XX這三種取貨信息。Listdelete:該函數用來刪除鏈表中的顧客信息。Search:該函數是用來查找顧客所屬的取貨信息。3源代碼#include<stdio.h>#include<malloc.h>#include<string.h>#include<stdlib.h>typedefstructDatatype{intm;charIdentity[18];charName[20];charTel[18];}Datatype;//鏈表結點的定義typedefstructListnode{Datatypecustomer;structListnode*next;}Listnode,*Linklist;inti=1;//顧客取貨號//創(chuàng)建鏈表voidcreate<Linklist&h>{Linklists,t;intj=1;charx;h=<Listnode*>malloc<sizeof<Listnode>>;h->next=NULL;t=h;while<j>{s=<Listnode*>malloc<sizeof<Listnode>>;printf<"顧客取貨號為%d\n",i>;s->customer.m=i;printf<"請輸入XX:">;scanf<"%c",&x>;scanf<"%s",s->customer.Identity>;printf<"\n">;printf<"請輸入__">;scanf<"%c",&x>;scanf<"%s",s->customer.Name>;printf<"\n">;printf<"請輸入聯系:">;scanf<"%c",&x>;scanf<"%s",s->customer.Tel>;printf<"\n">;s->next=NULL;t->next=s;t=s;printf<"全部輸完,請輸入0,否則輸入1...\n">;scanf<"%d",&j>;printf<"\n">;i++;}t->next=NULL;}//修改voidchange<Linklist&h,intm>{inta,j=1;floatn;Linklistt=h;printf<"Changecustomer'sIdentity:1;Name:2;Tel:3;\n">;scanf<"%d",&a>;printf<"\n">;while<j<m&&t->next!=NULL>{t=t->next;j++;}printf<"OK!\n">;switch<a>{case1:printf<"PleaseentertheIdentity!">;scanf<"%s",t->customer.Identity>;break;case2:printf<"PleaseentertheName!">;scanf<"%s",t->customer.Name>;break;case3:printf<"PleaseentertheTel!\n">;scanf<"%f",&n>;break;}printf<"修改成功!\n">;}//刪除voidListdelete<Linklist&h,intm>{intj=1;Linklistq=h,t;if<m==1>{t=h;h=h->next;}else{while<j<m-1&&q->next!=NULL>{q=q->next;j++;}if<q->next!=NULL&&j==m-1>{t=q->next;q->next=t->next;}elseprintf<"位置參數不正確!\n">;}i--;free<t>;printf<"刪除成功!\n">;}//查找voidsearch<Linklist&h,intm>{intn=1,j;Linklistp=h->next;while<n<m&&p->next!=NULL>{p=p->next;n++;}printf<"消費號為%d\n",m>;printf<"XX為%s\n",p->customer.Identity>;printf<"消費者XX為%s\n",p->customer.Name>;printf<"為%s\n",p->customer.Tel>;}intmain<>{intj=1;Linklisth;while<j>{printf<"創(chuàng)立顧客取貨信息,請選擇1\n">;printf<"修改顧客取貨信息,請選擇2\n">;printf<"刪除顧客取貨信息,請選擇3\n">;printf<"查詢顧客取貨信息,請選擇4\n">;scanf<"%d",&j>;switch<j>{case0:break;case1:create<h>;break;case2:printf<"請輸入修改的位置:">;scanf<"%d",&j>;change<h,j>;break;case3:printf<"請輸入刪除的位置:">;scanf<"%d",&j>;Listdelete<h,j>;break;case4:printf<"請輸入顧客取貨號:">;scanf<"%d",&j>;search<h,j>;break;default:printf<"輸入錯誤。\n">;}}system

溫馨提示

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

最新文檔

評論

0/150

提交評論