版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、文檔來源為 :從網(wǎng)絡收集整理 .word 版本可編輯 .歡迎下載支持 .10 文檔來源為 :從網(wǎng)絡收集整理 .word 版本可編輯 .C語言課程設計商品銷售信息管理系統(tǒng)#include#include#include#includestruct productint num;char productname20;float price;char place30;int storage; struct product *next;*head,*p1,*p2;struct timeint year;int month;int day;struct sellint ID;char customern
2、ame20;int num;int count;char date10;struct sell * next1;*head1; /*/ 定義商品數(shù)據(jù)結(jié)構(gòu)/ 商品編號 / 商品名稱/ 商品售價/ 商品產(chǎn)地/ 商品庫存/ 定義主結(jié)構(gòu)體數(shù)組和備用結(jié)構(gòu)體數(shù)組及指針/ 定義時間結(jié)構(gòu)體/ 定義銷售數(shù)據(jù)結(jié)構(gòu)/ 顧客代碼/ 顧客姓名/ 商品編號/ 銷售數(shù)量/ 日期/定義頭指針head,緩沖指針p1,以及尾指針p2 函數(shù)申明 */void Enter_productmessage();void Creat();void Search_num();void Search_customername();void P
3、rintf_customername();void Search_date();void Save_product();void Save_customername();void Exit();/*int select()/ 導入商品信息/ 輸入銷售記錄/ 按編號查詢銷售歷史/ 按顧客姓名查詢購買歷史/ 顯示顧客信息/ 計算時間段內(nèi)銷售總額/ 保存銷售信息/ 保存顧客信息/ 退出程序主菜單 */int c;printf(tt* 歡迎使用商品銷售管理程序 *n);printf(tt T1123-5 班 胡 軍 一分耕耘 一分收獲 n); printf(n n);printf(n);printf(
4、tt*n);printf(tt*歡迎使用商品銷售管理系統(tǒng)*n);printf(tt*n);printf(tt*1:導入商品信息*n);printf(tt*2:輸入銷售記錄*n);printf(tt*3:按編號查詢銷售歷史*n);printf(tt*4: 按顧客姓名查詢購買歷史*n);printf(tt*5:計算時段內(nèi)各銷售總額*n);printf(tt*6:顯示顧客信息*n);printf(tt*7:保存銷售信息*n);printf(tt*8:保存顧客信息*n);printf(tt*0:退出*n);printf(tt*n);printf(n n);printf(tt 請輸入您的選擇 (08的整
5、數(shù) ): );scanf(%d,&c);return c;*主函數(shù) *int main()for(;)switch(select()case 1:system(cls);Enter_productmessage();break;case 2:system(cls);Creat();break;case 3:system(cls);Search_num();break;case 4:system(cls);Search_customername();break;case 5:system(cls);Search_date();break;case 6:system(cls);Printf_cus
6、tomername();break;case 7:system(cls);Save_product();break;case 8:system(cls);Save_customername();break;case 0:system(cls);Exit();break;default : system(cls);printf(nnnnnn);printf(tt*n);printf(tt* 輸入錯誤! 請重新輸入您的選擇(08 的整數(shù))printf(tt*請 按 Enter 鍵 返 回 !*n);*n);*n);getchar();getchar();system(cls);return 0;p
7、rintf(tt*/*/int judgech(char *a) / 判斷是否為漢字int i,flag;for(i=0;ai!=0;i+)if(ai=0)flag=0;break;elseflag=1;return flag;int judgedate(char date10) / 判斷日期是否合法int i,year,month,day,s1=0;/ 日期格式輸入正確則s1=1,否則 s1=0for(i=0;i0&day0&day0&day0&daynext=p1;p1-next=NULL;p2=p1;fscanf(fp,%d%s%f%s%d,&p2 -num,p2 -productnam
8、e,&p2 -price,p2 -place,&p2 -storage );while(k=1)if(p2 -num10|p2 -numnum);k=1;else k=0;while(j=1)if(judgech(p2 -productname)=0)printf(tt第%d個商品名稱錯誤!請重新輸入(漢字):,i+1); rewind(stdin);scanf(%s, p2 -productname) ; j=1;else j=0;while(o=1)if(p2-price0):,i+1); rewind(stdin);scanf(%f,&p2 -price);o=1;else o=0; w
9、hile(c=1) if(judgech(p2 -place)=0) printf(tt第%d個商品產(chǎn)地格式錯誤!請重新輸入(漢字):,i+1); rewind(stdin);scanf(%s,p2-place);c=0;else c=0;while(v=1)if(p2 -storage!=1000)printf(t*n);printf(tt第%d個商品數(shù)量錯誤!請輸入1000:,i+1);rewind(stdin);scanf(%d,&p2 -storage); v=1;else v=0;printf(t% -12d%-15s %-15.2f%-15s%-12dn,p2-num,p2-pro
10、ductname,p2 -price,p2-pla ce,p2-storage);fclose(fp);void comp()FILE *fp;int i=0,n,k=1,m=1,c=1,l=1,d=1;char filename20,a;printf(t 請輸入商品信息保存路徑 :);rewind(stdin);gets(filename);p1=p2=head=(struct product*)malloc(sizeof(struct product);if(fp=fopen(filename,a+)=NULL)printf(tt* *n);*n);printf(tt*不能打開文件 !請檢
11、查文件路徑 !printf(tt* *n);getchar();system(cls);Enter_productmessage(); printf(nnn);printf(tt*n);printf(tt* 若輸入路徑與從文件導入商品信息路徑相同 !*n); printf(tt* 并已導入十個商品信息,請不要再導入 !*n);printf(tt* 注意商品編號不要和已導入的編碼重復 !*n);printf(tt*n);printf(nnn);getchar();system(cls);printf(t 已從文件導入的個數(shù)和要輸入的個數(shù)和不超過十 printf(t 請輸入要導入的銷售記錄個數(shù) :
12、); scanf(%d,&n);if(n0)dop1=(struct product*)malloc(sizeof(struct product); p2-next=p1;p1-next=NULL;!nn);p2=p1;printf(*printf(編號(整數(shù) )名稱 (漢字)價格 (數(shù)字)商品信息產(chǎn)地(漢字 ) 庫存數(shù)量 n);scanf(%d%s%f%s%d,&p2-num,p2 -productname,&p2 -price,p2 -place,&p2 -storage); while(k=1)if(p2 -num10|p2 -numnum);k=1;else k=0; while(m=
13、1) if(judgech(p2 -productname)=0) printf(tt 商品名稱錯誤 !請重新輸入 (漢字 ):); rewind(stdin); scanf(%s,p2-productname); m=1;else m=0; while(l=1) if(p2 -price0):);rewind(stdin);scanf(%f,&p2 -price); l=1;else l=0;while(c=1)if(judgech(p2 -place)=0)printf(tt 商品產(chǎn)地格式錯誤 !請重新輸入 (漢字 ):); rewind(stdin);scanf(%s,p2-place)
14、;c=1;else c=0;while(d=1)if(p2 -storage!=1000)printf(t*n);printf(tt 商品數(shù)量錯誤 !請輸入 1000:);rewind(stdin);scanf(%d,&p2 -storage);d=1;else d=0;p2=head-next;fprintf(fp,n% -6d%-6s%-6.2f%-6s%-6dn,p2 -num,p2 -productname,p2 -price,p2 -place, p2-storage);printf(n% -6d%-6s%-6.2f%-6s%-6dn,p2 -num,p2 -productname,
15、p2 -price,p2 -place,p2 - storage);printf(tt 是否繼續(xù)輸入信息 (Y/N)?n);getchar(); a=getchar();while(a=Y|a=y);fclose(fp); / 關(guān)閉文件夾if(n=0)printf(tt 不從鍵盤輸入入信息 !);getchar();getchar(); system(cls); fclose(fp); / 關(guān)閉文件夾void Enter_productmessage() / 導入銷售信息 int a;printf(t*n);printf(t* 2: 通過鍵盤輸入printf(t*n);*n);*n);*n);
16、printf(t* 請輸入 10 種產(chǎn)品的信息 -編號、名稱、價格、產(chǎn)地、數(shù)量printf(t*1:通過文件導入 (推薦 )!printf(t 請輸入您的選擇 (1 或 2): );scanf(%d,&a);getchar(); system(cls);if(a!=1&a!=2)printf(tt 輸入錯誤 !請重新輸入您的選擇 (1或 2):); scanf(%d,&a);switch(a)case 1:system(cls); file();break;case 2:system(cls); comp();break; printf(H*n);printf(t*n);*n);printf(
17、t*n);printf(t* 數(shù)據(jù)類信息操作成功 !請按 Enter 鍵繼續(xù) !getchar();getchar(); system(cls);/ 輸入銷售信息函數(shù)void Creat()int i=0,k=1,code;char a;struct sell *p3,*p4; srand(0); code=1+rand()%90; 文檔來源為 :從網(wǎng)絡收集整理 .word 版本可編輯 .歡迎下載支持 .p3=p4=head1=(struct sell *)malloc(sizeof(struct sell); p3=head1;printf(tt 請輸入銷售記錄 :n); / 提示輸入記錄
18、printf( n);dop3=(struct sell *)malloc(sizeof(struct sell); p4-next1=p3;p3-next1=NULL; p4=p3;銷售日期/ 輸 入printf( 顧客姓名 (漢字 ) 商品編號 (1-10 的整數(shù) ) 銷售數(shù)量 ( 數(shù)字 ) (YYYY-MM -DD)n);printf( n);scanf(%s%d%d%s,p4-customername,&p4 -num,&p4 -count,p4 -date); 記錄doif(judgech(p4 -customername)=0)printf(t*n);13 文檔來源為 :從網(wǎng)絡收集
19、整理 .word 版本可編輯 .printf(tt 顧客名字輸入錯 !請重新輸入顧客名字 (漢字 ):);scanf(%s,p4-customername);rewind(stdin);k=1; elsek=0;while(k=1); do if(p4 -num10|p4 -numnum);rewind(stdin);k=1;else k=0;while(k=1); doif(p4 -count1000|p4 -countcount);rewind(stdin);k=1;else k=0;while(k=1);doif(judgedate(p4 -date)!=1) printf(t*n);p
20、rintf(t 輸入日期不合法 !請重新輸入 (YYYY-MM -DD):);scanf(%s,p4-date);rewind(stdin);k=1;else k=0;while(k=1); p4-ID=code+i; i+;printf(nn);printf( 是否繼續(xù)輸入銷售記錄 (Y/N)?n); getchar();a=getchar();while(a=Y|a=y);system(cls);printf(nnnn);printf(t*n);printf(t* 銷售信息輸入成功 ! 按 Enter 鍵繼續(xù) !*n);printf(t* *getchar();getchar(); sys
21、tem(cls); return;void Search_num() / 根據(jù)產(chǎn)品編號查詢產(chǎn)品的銷售歷史 int num,flag=1,i=0;struct sell *p3;struct product *p;printf(tt 請輸入商品編號 (1-10 的整數(shù) ):); scanf(%d,&num);getchar();system(cls);printf( 顧客姓名 商品編號 銷售數(shù)量 銷售總額銷售日期 n);printf(n);文檔來源為 :從網(wǎng)絡收集整理 .word 版本可編輯 .歡迎下載支持p3=head1;p=head;while(p3!=NULL)if(p3 -num=num
22、)p=head;while(p!=NULL)if(p-num=num) break;elsep=p -next; printf( %-15s%-13d%-13d%-13.2f%-10sn,p3 -customername,p3 -num,p3 -count,p -pric e*p3 -count,p3 -date);flag=0;p3=p3-next1; if(flag=1)*n);*n);printf(tt *n); printf(tt* 無此編碼商品銷售記錄 ! 請查實后再輸入 ! printf(tt* 請按 Enter 鍵返回 !printf(tt *n); getchar();syst
23、em(cls);return;n);printf( printf(tt* *n);printf(tt* 銷售記錄查詢完畢 !請按 Enter 鍵返回 ! *n); printf(tt* *n);getchar();getchar(); system(cls); return;void Search_customername() / 根據(jù)顧客姓名查詢購買歷史int k=1,m=0; float a=0;14文檔來源為 :從網(wǎng)絡收集整理 .word 版本可編輯文檔來源為 :從網(wǎng)絡收集整理 .word 版本可編輯 .歡迎下載支持char name20,b; struct product *p;str
24、uct sell *p3; p3=head1;p=head;printf(tt*n);printf(ttt 請輸入顧客姓名 (漢字 ):);scanf(%s,name);getchar();system(cls);if(head1 -next1=NULL)printf(tt * printf(tt* 銷售記錄為空 !請按 Enter 鍵返回 ! printf(tt *n);getchar(); getchar();system(cls);return ;doif(judgech(name)=0)printf(t*n);15文檔來源為 :從網(wǎng)絡收集整理 .word 版本可編輯printf(tt
25、顧客名字輸入錯 !請重新輸入顧客名字 (漢字 ):);rewind(stdin);scanf(%s,name);rewind(stdin);k=1; elsek=0;while(k=1);if(judgech(name)=1)購買日期printf( 顧客姓名 (漢字 ) 顧客代碼 商品編號 購買數(shù)量 購買總額(YYYY-MM -DD)n);printf( n);while(m!=1)if(strcmp(name,p3 -customername)=0)m=1;while(p!=NULL)文檔來源為 :從網(wǎng)絡收集整理 .word 版本可編輯 .歡迎下載支持 .if(p3 -num=p-num)p
26、rintf(%5s%15d%10d%10d%15.2f%14sn,p3 -customername,p3 -ID,p3-num,p3 -count, p3-count*p - price,p3 -date);break;else p=p-next;else p3=p3-next1;if(p3=NULL)break;if(m=1)n);printf(printf(t*n);printf(t* 查詢完畢 !請按 Enter 鍵返回 !*n);printf(t*n);getchar();system(cls);return;if(m=0)printf(tt *n); printf(tt* 不存在此顧
27、客 ! 請按 Enter 鍵繼續(xù) ! printf(tt *n); printf(tt 是否記錄該顧客銷售記錄 !n);printf(tt 請輸入選擇 (Y/N):); rewind(stdin);b=getchar();*n);if(b=n|b=N)getchar(); system(cls); return;if(b=y|b=Y) getchar(); Creat();void Search_date() / 計算時間段內(nèi)各個商品的銷售總額 int n=0;float temp=0;char a10,b10,c10;struct sell *p3;struct product *p; p3
28、=head1-next1;p=head-next; getchar(); system(cls);if(head1 -next1=NULL)printf(tt * printf(tt* 無銷售記錄 ! 請按 Enter 鍵返回 ! printf(tt *n);getchar(); system(cls);return ;printf(tt 請輸入開始日期 (YYYY-MM -DD):);gets(a);doif(judgedate(a)!=1)printf(tt* *printf(tt 輸入日期不合法 !請重新輸入 (YYYY-MM -DD):);gets(a);system(cls);n=1
29、;elsen=0;while(n=1);printf(tt*n);printf(tt 請輸入結(jié)束日期 (YYYY-MM -DD):);gets(b); system(cls);doif(judgedate(b)!=1) printf(tt* *printf(tt 輸入日期不合法,請重新輸入 (YYYY-MM -DD): gets(b);system(cls);n=1;elsen=0;while(n=1);doif(strcmp(a,p3 -date)date)=0)n=1; break;else p3=p3-next1;if(p3=NULL) break;while(n!=1);while(1
30、) p3=head1 -next1;if(strcmp(a,p3 -date)0&strcmp(b,p3 -date)0)|(strcmp(a,p3 -date) date)0)printf( 時間斷不包括銷售日期 !);Search_date();getchar();return;else p3=p3-next1; if(p3=NULL) break;if(n=1)printf(tt 銷售記錄如下 :n);printf(tt時間:%s至sn,a,b);printf(t 商品編號 (1-10 的整數(shù) )商品名 (漢字 )銷售總額n);printf(n n);while(p!=NULL)p3=h
31、ead1-next1;if(p3-num=p-num)temp+=(int)p3 -count*(float)p -price;strcpy(c,p-productname);printf(tt% -20d%-20s%.2fn,p3 -num,c,temp); p=p-next;n)printf(nprintf(tt*n);printf(tt*查詢完畢 ! 請按 Enter 鍵繼續(xù) !*n);printf(tt*n);getchar();getchar(); system(cls); return;void Printf_customername()int n=1;/ 顯示所有顧客的姓名str
32、uct sell *p3; p3=head1-next1; if(p3!=NULL)printf(tt 顧客姓名如下 :n);/ 用來顯示所有顧客的姓名printf(tt *printf(ttttt 姓名 :n);doprintf(ttttt %sn,p3 p3=p3 -next1;-customername);while(p3!=NULL);printf(tt * printf(tt * printf(tt* 顧客姓名查詢完畢 !請按 Enter 鍵繼續(xù) !printf(tt *n);getchar(); getchar();system(cls); return;elseprintf(tt
33、 * printf(tt* 顧客鏈表為空 ! 沒有顧客銷售記錄 ! printf(tt *n);getchar(); system(cls); return;void Save_product() FILE *fp;char filename30; struct product *p; struct sell *p3;/ 保存銷售信息記錄/ 定義文件指針p3=head1-next1;p=head-next;printf( 請輸入保存路徑 :n);rewind(stdin); gets(filename);rewind(stdin);if(fp=fopen(filename,a+)=NULL) / 打開文件printf(tt*n);printf(tt* 保存文件失敗 !按 Enter 鍵返回 !*n);printf(tt*n);getchar();getchar();system(cls);Save_product(); printf(n n);printf(t 商品編碼 商品品名字 銷售量 剩余庫存 銷售日期 n); while(p3!=NUL
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 認知小班課件教學課件
- 南京工業(yè)大學浦江學院《社會研究方法》2022-2023學年第一學期期末試卷
- 江蘇新譽風力發(fā)電有限公司葉片車間施工組織設計
- 遠洋城別墅施工組織設計(總)
- 《再別康橋》說課稿
- 南京工業(yè)大學浦江學院《紅樓夢欣賞》2021-2022學年第一學期期末試卷
- 南京工業(yè)大學浦江學院《人機交互設計》2022-2023學年第一學期期末試卷
- 種植牙合同(2篇)
- 南京工業(yè)大學《藥廠生產(chǎn)管理》2021-2022學年第一學期期末試卷
- 提升4-5歲幼兒溝通能力的教育方法
- 《海濱小城》第二課時公開課一等獎創(chuàng)新教學設計
- 2024年物業(yè)管理師(高級)考前必刷必練題庫500題(含真題、必會題)
- 嵌入式系統(tǒng)中的可靠性和容錯性
- JT-T-325-2018營運客運類型劃分及等級評定
- 加油站庫存管理制度
- 2024年共青團入團積極分子考試題庫(附答案)
- 中國歷史文化知識競賽100題(滿分必刷)
- 新版中日交流標準日本語中級詞匯表.上冊
- (2024年)互聯(lián)網(wǎng)醫(yī)院整體方案介紹課件
- 工程造價及竣工結(jié)算投標方案(技術(shù)標)
- JTG C10-2007 公路勘測規(guī)范
評論
0/150
提交評論