c語(yǔ)言大作業(yè)物流配送系統(tǒng)程序_第1頁(yè)
c語(yǔ)言大作業(yè)物流配送系統(tǒng)程序_第2頁(yè)
c語(yǔ)言大作業(yè)物流配送系統(tǒng)程序_第3頁(yè)
c語(yǔ)言大作業(yè)物流配送系統(tǒng)程序_第4頁(yè)
c語(yǔ)言大作業(yè)物流配送系統(tǒng)程序_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、#include<stdio.h>#include<stdlib.h>#include<string.h>/日期struct date int year; int month; int day;/訂單鏈表struct article char name20;/物品名稱 int num1;/物品編號(hào) char produce20;/產(chǎn)地 char dest20;/目的地 char mode20;/配送模式 int num2;/物品數(shù)量 float money;/配送金額 struct date deliver;/配送日期 struct article *nex

2、t;/指向上一次添加的訂單;struct article *head;/存儲(chǔ)訂單信息int Recordcount;/訂單數(shù)量/添加訂單void add()system("cls");/清屏struct article *p=NULL;/新建一個(gè)定單節(jié)點(diǎn)p=(struct article*)malloc(sizeof(struct article);/為新建的訂單節(jié)點(diǎn)分配內(nèi)存空間printf("請(qǐng)輸入配送年份:"); while(0 = scanf("%d",&p->deliver.year)/輸入年份的規(guī)范性檢查 wh

3、ile('n' != getchar() printf("輸入無(wú)效,請(qǐng)重新輸入年份:"); printf("請(qǐng)輸入配送月份:");while(0 = scanf("%d",&p->deliver.month) | (p->deliver.month<1) | p->deliver.month>12)/輸入月份的規(guī)范性檢查 while('n' != getchar() printf("輸入無(wú)效,請(qǐng)重新輸入月份:"); printf("請(qǐng)輸

4、入配送日期:"); scanf("%d",&p->deliver.day);printf("請(qǐng)輸入物品名稱:");scanf("%s",p->name);printf("請(qǐng)輸入物品編號(hào):");scanf("%d",&p->num1);printf("請(qǐng)輸入物品出廠地:");scanf("%s",p->produce);printf("請(qǐng)輸入物品配送地:");scanf("%s&

5、quot;,p->dest);printf("請(qǐng)輸入配送方式:");scanf("%s",p->mode);printf("請(qǐng)輸入配送個(gè)數(shù):");scanf("%d",&p->num2);printf("請(qǐng)輸入配送金額:");scanf("%f",&p->money);p->next=head;/將新建的訂單加入訂單鏈表 head=p;/鏈表頭指向新添加的定單節(jié)點(diǎn)Recordcount+;/訂單數(shù)量加一system("P

6、AUSE");/顯示指定訂單的詳細(xì)信息void myPrint(struct article *p)printf("%st",p->name);printf("%dt",p->num1);printf("%st",p->produce);printf("%st",p->dest);printf("%st",p->mode);printf("%dt",p->num2);printf("%.2ft",p->m

7、oney);printf("%d-%d-%dn",p->deliver.year,p->deliver.month,p->deliver.day);/顯示所有的訂單信息void show()system("cls");/遍歷訂單鏈表struct article *p=NULL;printf("*n");printf("名稱t編號(hào)t產(chǎn)地t目的地t模式t數(shù)量t金額t日期n");for(p=head;p!=NULL;p=p->next)myPrint(p);printf("*n"

8、;);/查找訂單void search()system("cls");char namesea30;/名稱int type;/編號(hào)int choice;struct article *p=NULL;printf("1按姓名查找n2按編號(hào)查找n ");printf("請(qǐng)輸入你的選擇:");/scanf("%d",&choice);while(0 = scanf("%d",&choice) | (choice!=1 && choice!=2)/輸入選擇的規(guī)范性檢查 w

9、hile('n' != getchar() printf("輸入無(wú)效,請(qǐng)重新選擇:"); if(choice=1)/按物品名稱查找訂單 printf("請(qǐng)輸入物品名稱:");scanf("%s",namesea);for(p=head;p!=NULL;p=p->next)if(strcmp(p->name,namesea)=0)/找到訂單,輸出其詳細(xì)信息printf("*n");printf("名稱t編號(hào)t產(chǎn)地t目的地t模式t數(shù)量t金額t日期n");myPrint(p

10、);printf("*n"); else/按物品編號(hào)查找訂單 printf("請(qǐng)輸入物品編號(hào)n ");scanf("%d",&type);for(p=head;p!=NULL;p=p->next)if(p->num1=type)/找到訂單,輸出其詳細(xì)信息printf("*n");printf("名稱t編號(hào)t產(chǎn)地t目的地t模式t數(shù)量t金額t日期n");myPrint(p);printf("*n"); system("PAUSE");/根據(jù)

11、物品名稱修改對(duì)應(yīng)訂單信息void change()char name30;system("cls");struct article *p=NULL;printf("請(qǐng)輸入要更改物品的名稱:n");scanf("%s",name);/遍歷訂單鏈表,找到對(duì)應(yīng)的訂單for(p=head;p!=NULL;p=p->next)if(strcmp(p->name,name)=0)/找到對(duì)應(yīng)的訂單,重新輸入其信息printf("請(qǐng)輸入配送年份:");while(0 = scanf("%d",&am

12、p;p->deliver.year)/輸入年份的規(guī)范性檢查while('n' != getchar() printf("輸入無(wú)效,請(qǐng)重新輸入年份:");printf("請(qǐng)輸入配送月份:");while(0 = scanf("%d",&p->deliver.month) | (p->deliver.month<1) | p->deliver.month>12)/輸入月份的規(guī)范性檢查while('n' != getchar() printf("輸入無(wú)效,

13、請(qǐng)重新輸入月份:");printf("請(qǐng)輸入配送日期:");scanf("%d",&p->deliver.day);printf("請(qǐng)輸入物品名稱:");scanf("%s",p->name);printf("請(qǐng)輸入物品編號(hào):");scanf("%d",&p->num1);printf("請(qǐng)輸入物品出廠地:");scanf("%s",p->produce);printf("請(qǐng)輸

14、入物品配送地:");scanf("%s",p->dest);printf("請(qǐng)輸入配送方式:");scanf("%s",p->mode);printf("請(qǐng)輸入配送個(gè)數(shù):");scanf("%d",&p->num2);printf("請(qǐng)輸入配送金額:");scanf("%f",&p->money);system("pause");/根據(jù)物品名稱和配送金額刪除對(duì)應(yīng)訂單信息void dele

15、te_rec()system("cls");char name20;float money;int choice;struct article *p=NULL,*q=NULL;p=head;q=head;printf("請(qǐng)輸入要?jiǎng)h除的物品名稱:");scanf("%s",name);printf("請(qǐng)輸入金額:");scanf("%f",&money);for(;q!=NULL;q=q->next)if(head->money=money)&&(strcmp(

16、head->name,name)=0)/要?jiǎng)h除的訂單為訂單列表中的第一個(gè)訂單 printf("*n"); printf("名稱t編號(hào)t產(chǎn)地t目的地t模式t數(shù)量t金額t日期n");myPrint(q);printf("*n");printf("確認(rèn)刪除?n 1是n 2否n");/scanf("%d",&choice);while(0 = scanf("%d",&choice) | (choice!=1 && choice!=2)/輸入選擇的

17、規(guī)范性檢查 while('n' != getchar() printf("輸入無(wú)效,請(qǐng)重新選擇:"); if(choice=1)/刪除head=q->next;Recordcount-;else break;/取消刪除else/要?jiǎng)h除的訂單不是訂單列表中的第一個(gè)訂單if(q->money=money)&&(strcmp(q->name,name)=0)/找到對(duì)應(yīng)的訂單進(jìn)行刪除printf("*n");printf("名稱t編號(hào)t產(chǎn)地t目的地t模式t數(shù)量t金額t日期n");myPrint

18、(q);printf("*n");printf("確認(rèn)刪除?n 1是n 2否n");/scanf("%d",&choice);while(0 = scanf("%d",&choice) | (choice!=1 && choice!=2)/輸入選擇的規(guī)范性檢查while('n' != getchar() printf("輸入無(wú)效,請(qǐng)重新選擇:");if(choice=1)/刪除p->next=q->next;Recordcount-;e

19、lse break;/取消刪除 /存儲(chǔ)訂單鏈表到文件void logistic()char ch;char file_head="*n名稱t編號(hào)t產(chǎn)地t目的地t模式t數(shù)量t金額t日期n"char file_tail="*n" FILE *fp; if(fp=fopen(".record.txt"/*filename*/,"w")=NULL)printf("無(wú)法打開文件n"); exit(0);fputs(file_head,fp);/寫入文件頭struct article *p=NULL;for

20、(p=head;p!=NULL;p=p->next)/遍歷訂單鏈表,將各個(gè)訂單信息逐次寫入文件 fputs(p->name,fp); fprintf(fp,"t%dt",p->num1); fputs(p->produce,fp); fprintf(fp,"t",""); fputs(p->dest,fp); fprintf(fp,"t",""); fputs(p->mode,fp); fprintf(fp,"t%dt",p->num

21、2); fprintf(fp,"%.2ft",p->money); fprintf(fp,"%d-%d-%dn",p->deliver.year,p->deliver.month,p->deliver.day);fputs(file_tail,fp);rewind(fp);fclose(fp);printf("所有訂單信息已經(jīng)存入ecord.txt文件中!n");/打印主菜單void menu() system("cls");printf("*n");printf("歡迎使用物流配送管理系統(tǒng)n");printf("*n");printf("1:添加記錄n");printf("2:顯示記錄n");printf("3:存儲(chǔ)記錄n");printf("4:查詢記錄n");printf("5:更改記錄n");printf(&quo

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論