版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、#include #include #include #define LEN sizeof(struct scorenode)#define DEBUG#include struct scorenodeint number;/* 編號 */ char name10;/* 物品名 */ int wpgs;/* 物品個數(shù) */ float wpjj;/* 物品進價 */ float wpxsj;/* 物品銷售價 */ struct scorenode *next;typedef struct scorenode score;int n,k;/*n,k 為全局變量,本程序中的函數(shù)均可以使用它 */*
2、= =*/*= =*/score *add2311(score *head,score *stu)/*函數(shù)add2311,功能:追加物品資料,并且將所有物品資料按編號排序*/score *p0,*p1,*p2,*p3,*max;int i,j;float fen;char t10;p3=stu=(score *)malloc(LEN);/* 開辟一個新單元 */printf( 輸入要增加的物品的資料 !n);repeat4: printf( 請輸入物品編號 (編號應大于 0): ); scanf(%d,&stu-number);/* 輸入編號,物品編號應大于 0*/*/if(stu-numbe
3、r=0)goto end2;/* 當輸入的物品編號為 0 時,轉(zhuǎn)到末尾,結(jié)束追加 */elsep3=head;if(n0)for(i=0;inumber!=p3-number)p3=p3-next;elseprintf( 物品編號重復 ,請重輸 !n);goto repeat4;/* 當輸入的物品編號已經(jīng)存在,程序報錯,返回前面重新輸入*/*/printf( 輸入物品名: ); scanf(%s,stu-name); /* 輸入物品名 */ printf( 請輸入物品個數(shù): );scanf(%f,&stu-wpgs); /* 輸入個數(shù) */ printf( 請輸入物品進價: );scanf(%
4、f,&stu-wpjj);/* 輸入物品進價 */printf( 請輸入物品銷售價 ): ); scanf(%f,&stu-wpxsj);/* 輸入物品銷售價 */ p1=head;p0=stu; if(head=NULL) head=p0;p0-next=NULL;/* 當原來鏈表為空時,從首結(jié)點開始存放資料 */ else/* 原來鏈表不為空 */ if(p1-next=NULL)/* 找到原來鏈表的末尾 */ p1-next=p0;p0-next=NULL;/* 將它與新開單元相連接 */else while(p1-next!=NULL)/* 還沒找到末尾,繼續(xù)找 */ p1=p1-ne
5、xt; p1-next=p0;p0-next=NULL; n=n+1;p1=head;p0=stu;for(i=1;in;i+)for(j=i+1;jnext;if(max-numberp1-number) k=max-number;max-number=p1-number;p1-number=k;/* 交換前后結(jié)點中的編號值,使得編號大者移到后面的結(jié)點中*/strcpy(t,max-name); strcpy(max-name,p1-name);strcpy(p1-name,t);/* 交換前后結(jié)點中的物品名,使之與編號相匹配*/fen=max-wpgs;max-wpgs=p1-wpgs;p
6、1-wpgs=fen;/* 交換前后結(jié)點中的物品個數(shù),使之與編號相匹配*/fen=max-wpjj; max-wpjj=p1-wpjj;p1-wpjj=fen;/* 交換前后結(jié)點中的物品進價,使之與編號相匹配*/fen=max-wpxsj; max-wpxsj=p1-wpxsj;p1-wpxsj=fen;/* 交換前后結(jié)點中的物品銷售價,使之與編號相匹配*/max=head;p1=head;/* 重新使 max,p 指向鏈表頭 */ end2:printf( 現(xiàn)在的物品個數(shù)為 :%d 個 !n,n); return(head);/*= =*/*= =*/score *search2311(sc
7、ore *head)/*函數(shù)search2311功能:查詢物品資料 */int nu mber;score *p1,*p2;printf( 輸入要查詢的物品的編號 ,);scanf(%d,&number);while(number!=0)if(head=NULL)printf(n 沒有任何物品資料 !n);return(head);printf(n);printf(|編號t|物品名tt|個數(shù)t|進價t|銷售價t|n);printf(n);/*打印表格域 */p1=head;while(number!=p1-number&p1-next!=NULL)p1=p1-next;if(number=p1
8、-number)printf(|%dt|%st|%ft|%.1ft|%.1ft|n,p1-number,p1-name,p1-wpgs,p1-wpjj,p1-wpxsj); printf(n);/* 打印表格域 */elseprintf(%d 不存在此物品 !n,number);printf( 輸入要查詢的物品的編號 ,);scanf(%d,&number);printf( 已經(jīng)退出了 !n);return(head);/*= =*/ /*= =*/ void print2311(score *head)/*函數(shù)print2311,功能:顯示物品資料*/score *p;if(head=NUL
9、L)printf(n 沒有任何物品資料 !n);elseprintf(%dn,n);printf(n);printf(|編號t|物品名t|個數(shù)t|進價t|銷售價t|n);printf(n);/*打印表格域 */p=head;doprintf(|%dt|%st|%.1ft|%.1ft|%.1ft|n,p-number,p-name,p-wpgs,p-wpjj,p-wpxsj); printf(n);/* 打印表格域 */p=p-next;while (p!=NULL);/* 打印完成了 */*= =*/*= =*/score *taxis2311(score *head)/* 定義排序函數(shù)。此函
10、數(shù)帶回一個指向鏈表頭的指針 */ score *p,*max;int i,j,x;float fen;char t10;if(head=NULL)printf(n 沒有任何物品資料,請先建立鏈表 !n);return(head);/* 鏈表為空 */ max=p=head;for(i=0;i80;i+)printf(*);printf(1 按物品編號排序 t0 返回 n);for(i=0;i80;i+)printf(*);printf( 請選擇操作 :);scanf(%d,&x);/* 選擇操作 */getchar();switch(x) /* 用 switch 語句實現(xiàn)功能選擇 */case
11、 1 :for(i=1;in;i+)for(j=i+1;jnext;if(max-numberp-number)k=max-number;max-number=p-number;p-number=k;/* 交換前后結(jié)點中的編號值,使得編號大者移到后面的結(jié)點中*/strcpy(t,max-name);strcpy(max-name,p-name);strcpy(p-name,t);/* 交換前后結(jié)點中的物品名,使之與編號相匹配*/fen=max-wpgs;max-wpgs=p-wpgs;p-wpgs=fen;/* 交換前后結(jié)點中的物品個數(shù),使之與編號相匹配*/fen=max-wpjj;max-w
12、pjj=p-wpjj;p-wpjj=fen;/* 交換前后結(jié)點中的物品進價,使之與編號相匹配*/fen=max-wpxsj;max-wpxsj=p-wpxsj;p-wpxsj=fen;/* 交換前后結(jié)點中的物品銷售價,使之與編號相匹配*/max=head;p=head;/* 重新使 max,p 指向鏈表頭 */print2311(head);break;/* 打印值排序后的鏈表內(nèi)容 */return (0);/*= =*/*=*/int menu2311(int k)/* 函數(shù) menu2311,功能:菜單選擇界面 */int i;printf(tttThe supplies manageme
13、nt systemn); for(i=0;i80;i+)printf(*);printf(1)Search the productn(2)Increase the productn(3)Show the productn(4)Carry on lining up the preface to the datan(0)Exitn);/* 菜單選擇界面 */ for(i=0;i80;i+) printf(*);printf(Welcome into the supplies management system,Please choose the operation that you want(Choice(0)Exit):);scanf(%d,&k);/* 選擇操作 */ getchar();return (k);/*= =*/*= =*/void main()/* 主函數(shù) main,功能:通過調(diào)用 creat,search,del,add,print,ststistics,save,taxis 等函數(shù), 實現(xiàn)物資管理系統(tǒng)功能 */score *head=0,*stu=0;while(1)k=menu2311(k);switch(k)/* 用 switch 語句實現(xiàn)功能選擇 */case 1: head=search2311(head);break;/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《聊聊品牌那些事》課件
- 《視頻監(jiān)控學習資料》課件
- 協(xié)調(diào)科護士工作總結(jié)
- 家居裝飾行業(yè)行政后勤工作總結(jié)
- 銀行行業(yè)保安工作總結(jié)
- 黑龍江省哈爾濱市平房區(qū)2023-2024學年九年級上學期期末調(diào)研測試化學試卷
- 財務工作項目落實總結(jié)
- 旅游接待員工作總結(jié)
- 溫泉景區(qū)服務員工作總結(jié)
- 《清華土力學》課件
- 城鎮(zhèn)開發(fā)邊界內(nèi)詳細規(guī)劃編制技術(shù)指南解讀
- 曲線與曲面積分練習題含答案
- 《ISO56001-2024創(chuàng)新管理體系 - 要求》之25:“9績效評價-9.2內(nèi)部審核”解讀和應用指導材料(雷澤佳編制-2024)
- 2023年廣西職業(yè)院校技能大賽中職組《分布式智能設備組網(wǎng)技術(shù)》賽項樣題
- 國家開放大學本科《西方行政學說》期末紙質(zhì)考試總題庫珍藏版
- 2024至2030年中國甲醇內(nèi)燃機行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略規(guī)劃報告
- 海南省瓊海市五年級數(shù)學期末自測模擬試題詳細答案和解析
- 垃圾清運服務投標方案技術(shù)方案
- 電子工程師職位合同
- 2025屆青海省西寧二十一中學七年級數(shù)學第一學期期末考試試題含解析
- 湖北省宜昌市2025屆九年級物理第一學期期末達標測試試題含解析
評論
0/150
提交評論