C語言課程設計《商品銷售管理系統(tǒng)》_第1頁
C語言課程設計《商品銷售管理系統(tǒng)》_第2頁
C語言課程設計《商品銷售管理系統(tǒng)》_第3頁
C語言課程設計《商品銷售管理系統(tǒng)》_第4頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精品文檔商品銷售管理系統(tǒng)目錄一、需求分析2二、概要設計2三、詳細設計4四、調試分析14五、用戶手冊14六、測試數據15七、附錄18 1.精品文檔一、需求分析商品銷售管理程序商品信息:商品編號、商品名稱、商品類別(普通電視機、 DVD、帶 DVD 的電視機,帶 DVD的電視機的售價為普通電視機和 DVD單價之和的 80%)、商品進貨價格、商品銷售價格、商品數量、供應商名稱等。記錄每一次銷售商品的數量和價格,并提供對已售出商品的價格、數量進行統(tǒng)計、排序功能,但允許用戶退商品。(要求: 1. 源文件采用多文件的工程結構 2. 數據存儲采用文件形式 3. 標準的 C 輸入輸出 4. 功能完善,適當的注

2、釋, 5. 關于文件的內容需要自學)二、概要設計( 一 ) 按系統(tǒng)分析的功能要求將系統(tǒng)劃分為以下幾個主要功能模塊:1 、文件管理文件打開、關閉:對于剛輸入或進行操作后的商品信息,在建立新的商品庫存量后,可以把其保存在一個文件中,并對該文件可進行打開和關閉操作。2、進出貨管理(1) 商品進貨 : 輸入數據后商品信息能自動更新進行添加(2) 商品銷售 : 輸入數據后商品信息能自動更新進行減少3、商品數據管理(1) 增加 / 刪除商品 : 添加或刪除某條商品的信息(2) 修改商品信息 : 對某條商品的信息進行修改4、瀏覽商品信息管理(1) 查詢商品信息:可分別按商品編號、名稱、類別或需要進貨商品查詢

3、(2) 排序商品信息 : 可按商品編號、名稱、類別分別排排序(3) 瀏覽商品信息:可瀏覽輸入、查詢或排序后的數據。(二)本程序結構( 1)結構體設計 struct goods long int num;char name20;char sort20;long int count;long int price;goods200;(2) 各功能函數設計:void input() /*功能 1:輸入商品信息 */ 2.精品文檔void sequence()/*功能 2:排序商品信息 */void purchase()/*功能 3:進貨商品信息 */void sell()/*功能 4:銷售商品信息 *

4、/void edit()/*功能 5:添加或刪除商品信息 */void correct()/*功能 6:修改商品信息 */void search()/*功能 7:查詢商品信息 */void scan() /*功能 8:瀏覽商品信息 */void reserve()/*功能 9:保存文件 */void quit()/*退出系統(tǒng) */(3) 主函數設計: void main ()void input();void sequence();void purchase();void sell();void edit();void correct();void search();void scan();v

5、oid reserve();lp: for(i=0;i<1;i+)scanf("%d",&k);system("cls");switch(k) /*用 switch 語句實現功能選擇 */system("cls");/*清屏 */goto lp; /*返回主界面 */三、詳細設計(1) 各功能函數:void input() /*功能 1:輸入商品信息 */printf("n請輸入需要建立新庫存的商品種類數量:");scanf("%d",&n);system("cl

6、s");printf("n n");for(i=0;i<n;i+)/*用循環(huán)實現輸入n 個商品 */printf("nt*請輸入商品的編號 :");scanf("%ld",&goodsi.num);printf("nt請輸入商品的名稱 :");3.精品文檔scanf("%s",);printf("nt請輸入商品的種類 :");scanf("%s",goodsi.sort);printf("nt請輸入商

7、品的數量 :");scanf("%d",&goodsi.count);printf("nt請輸入商品的單價 :");scanf("%d",&goodsi.price);printf("n n");printf("tPlease press any key to continue:");getch();return;/*返回主界面 */void sequence()/*功能 2:排序商品信息 */long temp;char p130,p230;for(k=0;k<

8、n-1;k+)/*(1):按編號排序 */for(i=0;i<n-k-1;i+) /*用起泡法排序 */if(goodsi.num>goodsi+1.num) /*按編號由小到大排序 */temp=goodsi.num;goodsi.num=goodsi+1.num;goodsi+1.num=temp;strcpy(p1,);strcpy(,goodsi+1.name);strcpy(goodsi+1.name,p1);strcpy(p2,goodsi.sort);strcpy(goodsi.sort,goodsi+1.sort);str

9、cpy(goodsi+1.sort,p2);printf("-n");-printf("ntt按商品編號排序后的商品信息 nn");printf("t商品編號商品名稱商品類別商品數量商品單價 n");/*輸出排序后商品信息 */for(i=0;i<n;i+)printf("t %5ld%5s%5s%5ld%5ldn",goodsi.num,,goodsi.sort,goodsi.count,goodsi.price);.精品文檔4for(k=0;k<n-1;k+)/*(2):按商品

10、名稱排序 */for(i=0;i<n-k-1;i+)if(strcmp(,goodsi+1.name)>0)strcpy(p1,);strcpy(,goodsi+1.name);strcpy(goodsi+1.name,p1);temp=goodsi.num;goodsi.num=goodsi+1.num;goodsi+1.num=temp;strcpy(p2,goodsi.sort);strcpy(goodsi.sort,goodsi+1.sort);strcpy(goodsi+1.sort,p2);printf(

11、"-n");printf("ntt按商品名稱排序后的商品信息n");printf("nt商品名稱商品編號商品類別商品數量商品單價 n");/*輸出排序后商品信息 */for(i=0;i<n;i+)printf("t %5s%5ld%5s%5ld%5ldn",,goodsi.num,goodsi.sort,goodsi.count,goodsi.price);for(k=0;k<n-1;k+)/*(3):按商品類別排序 */for(i=0;i<n-k-1;i+)/*用起泡法排序

12、 */if(strcmp(goodsi.sort,goodsi+1.sort)>0)strcpy(p2,goodsi.sort);strcpy(goodsi.sort,goodsi+1.sort);strcpy(goodsi+1.sort,p2);temp=goodsi.num;goodsi.num=goodsi+1.num;goodsi+1.num=temp;strcpy(p1,);strcpy(,goodsi+1.name);strcpy(goodsi+1.name,p1);printf("-.精品文檔5-");prin

13、tf("ntt按商品類別排序后的商品信息nn");printf("t商品類別商品編號商品名稱商品數量商品單價 n");/*輸出排序后商品信息 */for(i=0;i<n;i+)printf("t %5s%5ld%5s%5ld%5ldn",goodsi.sort,goodsi.num,,goodsi.count,goodsi.price);printf("-");printf("please press any key to continue:");getch();re

14、turn;/*返回主界面 */void purchase() /*功能 3:進貨商品信息 */long temp; /* 定義臨時變量表示剛進貨的商品編號 */ int j;printf("nt5請輸入剛進貨的商品編號:");scanf("%ld",&temp);printf("nt5請輸入剛進貨的商品數量:");scanf("%d",&j);printf("nnntpress any key to contiue:");getch();system("cls"

15、;);printf("nt輸出進貨后的商品信息:");for(i=0;i<n;i+)/*循環(huán),尋找與進貨相同的商品信息*/if(temp=goodsi.num)goodsi.count=goodsi.count+j; /*自動更改商品數量 */printf("nt商品編號商品名商品類別商品數量商品價格 ");for(i=0;i<n;i+)/*循環(huán),輸出進貨后的商品信息*/printf("nt %4ld%4s%4s%ld%4ld",goodsi.num,,goodsi.sort,goodsi.count

16、,goodsi.price);printf("nnttPress any key to enter menu:");getch(); /*返回功能選擇界面 */return;.精品文檔 6void sell() /*功能 4:銷售商品信息 */long temp; /* 定義臨時變量 temp 表示剛銷售的商品編號 */ int j;printf("nt5請輸入剛銷售的商品編號:");scanf("%ld",&temp);printf("nt5請輸入剛銷售的商品數量:");scanf("%d&qu

17、ot;,&j);for(i=0;i<n;i+) /*循環(huán),找到剛銷售的商品信息*/if(temp=goodsi.num)for(;j>goodsi.count;)/*如果銷售額大于庫存量,則出現錯誤提示 */printf("nt售出數量大于商品原有數量,出現錯誤,請重新輸入 :");scanf("%d",&j);goodsi.count=goodsi.count-j;/*完成自動更改商品數量的功能 */printf("ntpress any key to contiue:");getch();system(

18、"cls");/*清屏 */printf("nn*銷售后商品信息: ");printf("nt商品類別商品編號商品名稱商品數量商品單價 n");for(i=0;i<n;i+)/*循環(huán),輸出銷售后商品信息*/printf("t %4s%4ld%4s%4ld%4ldn",goodsi.sort,goodsi.num,,goodsi.count,goodsi.price );printf("ntPress any key to enter menu:");getch();r

19、eturn;/*返回功能選擇界面 */void edit() /*功能 5:添加或刪除商品信息 */.精品文檔void add(); /*聲明子函數 */void dele(); 7printf("nt請選擇: 1. 添加商品信息;2.刪除商品信息; ");printf("t*請輸入 1 或 2 繼續(xù): ");scanf("%d",&k);switch(k) /*用 switch 語句實現功能選擇 */case 1: add();break;case 2: dele();break;getch();return; /*返回主菜

20、單 */void add() /*添加商品信息 */*定義子函數 */printf("t*請輸入所添加商品的商品編號:");scanf("%ld",&goodsn.num);printf("nt請輸入所添加商品的名稱:");scanf("%s",);printf("nt請輸入所添加商品的類別:");scanf("%s",goodsn.sort);printf("nt請輸入所添加商品的數量:");scanf("%d&q

21、uot;,&goodsn.count);printf("nt請輸入所添加商品的價格:");scanf("%d",&goodsn.price);n=n+1;printf("n");void dele() /*刪除商品信息 */*定義子函數 */int temp; /*定義局部變量 */int j;for(i=0;i<n;i+)printf("nt商品編號商品名商品類別商品數量商品價格 ");printf("nt %5ld%5s%5s%5ld%5ld",goodsi.num,g

22、,goodsi.sort,goodsi.count,goodsi.price);printf("n");printf("n");printf("n*請輸入要刪除的商品編號:");.精品文檔scanf("%ld",&temp);printf("nn");8for(i=0;i<n;i+)if(temp=goodsi.num)for(j=i;j<n;j+)goodsj.num=goodsj+1.num;strcpy(,goodsj+1.na

23、me);strcpy(goodsj.sort,goodsj+1.sort);goodsj.count=goodsj+1.count;goodsj.price=goodsj+1.price;n=n-1;/*商品總庫存量減少 */for(i=0;i<n;i+)printf("nt商品編號商品名商品類別商品數量商品價格 ");/*輸出刪除后的商品信息 */printf("nt %5ld%5s%5s%5ld%5ld",goodsi.num,,goodsi.sort,goodsi.count,goodsi.price);printf(&

24、quot;n");printf("Please press any key to continue:");getch();return;/*返回主界面 */void correct() /*功能 6:修改商品信息 */long temp; /*定義局部變量 */printf("nt請輸入要修改的商品的編號:");scanf("%ld",&temp);/*輸入新的商品信息 */printf("n");for(i=0;i<n;i+)/*保存新的商品信息 */if(temp=goodsi.num)

25、printf("t請輸入一個新的的商品編號:");scanf("%ld",&goodsi.num);printf("nt請輸入新的商品的名稱:");.精品文檔scanf("%s",);printf("nt請輸入新的商品的類別:"); 9scanf("%s",goodsi.sort);printf("nt請輸入新的商品的數量:");scanf("%d",&goodsi.count);printf(&q

26、uot;nt請輸入新的商品價格 :");scanf("%d",&goodsi.price);printf("n");for(i=0;i<n;i+)printf("nt新的商品名稱商品編號商品類別商品數量商品單價 n");printf("t%4s%4ld%4s%4ld%4ld",,goodsi.num,goodsi.sort,goodsi.count,goodsi.price);printf("n");printf("Please press

27、 any key to continue:"); /*返回功能選擇界面 */getch();return;/*返回主菜單 */void search() /*功能 7:查詢商品信息 */int k;/*定義局部變量 */long temp1;char temp230,temp320;printf("nt5按商品編號查詢 , 請按 1ttt5按商品名查詢 , 請按2nt5按商品類別查詢 , 請按 3ttt5查需要進貨的商品 , 請按 4n");printf("nnnttt請輸入數字確定查詢方式:");scanf("%d",&a

28、mp;k);printf("n");printf("Press any key to continue:");getch();system("cls");switch(k)/*實現查詢方式的選擇 */case 1: printf("nnnnntt 請輸入要查詢的商品的編號 :"); /* 按商品編號查詢 */scanf("%ld",&temp1);.精品文檔system("cls"); /*清屏 */for(i=0;i<n;i+)10if(temp1=goods

29、i.num)printf("n");printf("nt商品編號商品名商品類別商品數量商品價格 ");printf("nt %5ld%5s%5s%5ld%5ld",goodsi.num,,goodsi.sort,goodsi.count,goodsi.price);break; /*跳出 switch 語句 */case 2: printf("nnnnntt請輸入要查詢的商品名 :"); /*按商品名查詢數據 */scanf("%s",temp2);system("

30、;cls");for(i=0;i<n;i+)if(strcmp(temp2,)=0)printf("n");printf("nt 商品編號 商品名 商品類別 商品數量商品價格 ");printf("nt %5ld%5s%5s%5ld%5ld",goodsi.num,,goodsi.sort,goodsi.count,goodsi.price);break; /*跳出 switch 語句 */case 3: printf("nnnnntt請輸入要查詢的商品類別:&qu

31、ot;);/*按商品類別查詢數據 */scanf("%s",temp3);system("cls");for(i=0;i<n;i+)if(strcmp(temp3,goodsi.sort)=0)printf("n");printf("nt商品編號商品名商品類別商品數量.精品文檔商品價格 ");printf("nt %5ld%5s%5s%5ld%5ld",goodsi.num,,goodsi.sort,goodsi.count,goodsi11 .price);brea

32、k; /*跳出 switch 語句 */case 4: int a=50;for(i=0;i<n;i+) /*查詢需要進貨的商品名 */if(goodsi.count<a)printf("ntt4需要進貨的商品名 :%s現有庫存量: %ldn",,goodsi.count);break; /*跳出 switch 語句 */printf("nnttPress any key to enter menu:");getch();return; /*返回主界面 */void scan()/*功能 8:瀏覽商品信息 */print

33、f("nt瀏覽輸入的商品信息 , 請按 1nnt瀏覽查詢的商品信息 , 請按 2nnt 瀏覽排序后商品信息 , 請按 3n"); printf(" 請選擇: "); scanf("%d",&k);switch(k)case 1: printf("ttt瀏覽輸入的商品信息 n");printf("t商品編號商品名商品類別商品數量商品價格 n");/* 輸出瀏覽商品信息 */ for(i=0;i<n;i+)printf("t%5ld %5s %5s %5ld %ld"

34、;,goodsi.num ,,goodsi.sort,goodsi.count,goodsi.price);printf("n");printf("Press any key to enter menu:");getch();.精品文檔return; break; /* 跳出 switch 語句 */ case 2: printf("ttt瀏覽查詢的商品信息 n");12printf("t商品編號商品名商品類別商品數量商品價格 n");/* 輸出瀏覽商品信息 */ for(i=0;i<n

35、;i+)printf("t%5ld%5s%5s%5ld%ld",goodsi.num,,goodsi.sort,goodsi.count,goodsi.price);printf("n");printf("nPress any key to enter menu:");getch();return; break; /* 跳出 switch 語句 */ case 3: printf("ttt瀏覽按商品編號排序的商品信息 n");printf("t商品編號商品名商品類別商品數量商品價格

36、n");/* 輸出瀏覽商品信息 */ for(i=0;i<n;i+)printf("t%5ld %5s %5s %5ld %ld",goodsi.num ,,goodsi.sort,goodsi.count,goodsi.price);printf("n");printf("nPress any key to enter menu:");getch();return;/*返回主界面 */ break; /*跳出 switch 語句 */void reserve() /*功能 9:保存文件 */FILE *fp;char file15;/*用來存放文件保存路徑以及文件名*/system("cls");/*清屏 */printf("nt*請輸入文件路徑及文件名:");scanf("%s",file);fp=fopen("file",&

溫馨提示

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

最新文檔

評論

0/150

提交評論