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

下載本文檔

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

文檔簡介

2014-2015學年第一學期學號《數(shù)據(jù)結構》課程設計報告題目: 物流信息管理系統(tǒng)專業(yè):計算機科學與技術班級:姓名:學號:指導教師:成績:目錄TOC\o"1-5"\h\z\o"CurrentDocument"摘要 1\o"CurrentDocument"1設計內容及要求 1\o"CurrentDocument"1.1內容描述 1\o"CurrentDocument"1.2基本要求 1\o"CurrentDocument"2詳細設計 1\o"CurrentDocument"2.1概要設計 1\o"CurrentDocument"2.2功能模塊詳細設計 12.3程序流程圖 4\o"CurrentDocument"3源代碼 .54程序結果 95總結 .12\o"CurrentDocument"6參考文獻 12摘要物流信息管理系統(tǒng)是利用單鏈表實現(xiàn)信息管理,進而掌握C語言中的結構體,鏈表,指針,函數(shù)(系統(tǒng)函數(shù),自定義函數(shù))等C語言知識。本文通過利用模塊化程序設計思想,使用單鏈表和結構體等編寫出的創(chuàng)建,刪除,查詢等功能的物流信息管理系統(tǒng)。通過完成這個程序設計讓我們熟悉并掌握c語言中使用結構體,單鏈表,指針,函數(shù),和模塊化設計思想。關鍵詞結構體,鏈表,指針,函數(shù)1設計內容及要求1.1內容描述對客戶的基本信息進行存儲,利用取貨號來查詢顧客信息,核對信息后方可取貨。1.2基本要求采用一定的存儲結構進行客戶信息的存儲;對客戶的信息可以進行修改、刪除、查詢;2詳細設計2.1概要設計本系統(tǒng)用到的主要數(shù)據(jù)結構為數(shù)組和文件。一個數(shù)組對應一個客戶,里面用3個字符串分別存儲著用戶的客戶號、姓名和電話號碼。然后將數(shù)組寫入文件,查詢時讀取文件,提取相應信息。2.2功能模塊詳細設計本程序運用鏈表對客戶信息進行存儲,首先對結點進行定義,結點中的數(shù)據(jù)域分別定義了取貨人的取貨號、身份證、姓名、電話號碼,其中身份證用了字符型數(shù)組進行定義,然后定義了客戶取貨鏈表,每添加一個取貨人,先分配內存,再添加取貨人的信息,之后將鏈表中最后一個指針指向該新的取貨人,刪除時,需先找到該取貨人前面的取貨人,直接將其指針指向刪除取貨人的下一個取貨人,修改信息時,先找到該去人,選擇修改的內容,再進行修改。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("請輸入身份證號碼:");scanf("%c",&x);scanf("%s",s->customer.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;t->next=s;t=s;printf("全部輸完,請輸入0,否則輸入1...\n");scanf("%d",&j);printf(〃\n〃);i++;}t->next=NULL;}該功能主要實現(xiàn)顧客信息的存儲,s作為數(shù)據(jù)存儲節(jié)點,把顧客姓名,身份證,電話號碼等信息存儲進去。i作為游標,定位該節(jié)點位置方便數(shù)據(jù)查找。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");}該功能主要實現(xiàn)顧客信息的修改,輸入所需要修改的選項,然后可以根據(jù)選項修改所對應的信息,然后修改完成。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("位置參數(shù)不正確!\n");}i--;free(t);printf("刪除成功!\n");}該功能主要實現(xiàn)顧客信息的刪除,通過刪除節(jié)點來刪除節(jié)點中說包含的信息,刪除節(jié)點既可實現(xià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(〃身份證為%s\n〃,p->customer.Identity);printf("消費者姓名為%s\n”,p->customer.Name);printf("電話號碼為%s\n”,p->customer.Tel);}該功能主要實現(xiàn)顧客信息的查找,通過查找節(jié)點所對應的游標位置既可找到該節(jié)點,查找該節(jié)點可調出該節(jié)點所存儲的信息,達到查找目的。2.3程序流程圖物流信息管理系統(tǒng)因具備以下功能有流程圖表示,如下圖新建一物流信息管、修改查詢刪除天取貨理系統(tǒng)取貨取貨取貨信息1)主函數(shù)流程圖信息信息信息swith(j)case1:create(h);break;調用創(chuàng)建函數(shù)case2:printf("請輸入修改的位置:"scanf(〃%d〃,&j);change(h,j);break;);調用修改函數(shù)case3:printf("請輸入刪除的位置:〃)scanf(〃%d〃,&j);Listdelete(h,j);break;;調用刪除函數(shù)case4:printf("請輸入顧客取貨號:"scanf(〃%d〃,&j);search(h,j);break;);調用查找函數(shù)default:printf(〃輸入錯誤。\n〃);}Creat:該函數(shù)是用來錄入顧客信息,使得用戶可以輸入姓名、電話號碼、身份證這三種取貨信息。Change:該函數(shù)是用來修改顧客信息,使用戶可以修改姓名、電話號碼、身份證這三種取貨信息。Listdelete:該函數(shù)用來刪除鏈表中的顧客信息。Search:該函數(shù)是用來查找顧客所屬的取貨信息。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("請輸入身份證號碼:");scanf("%c",&x);scanf(〃%s〃,s->customer.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;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("位置參數(shù)不正確!\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(〃身份證為%s\n”,p->customer.Identity);printf("消費者姓名為%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(〃pause〃);return0;}4系統(tǒng)測試運行程序

溫馨提示

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

評論

0/150

提交評論