課程設計(論文)書店圖書銷售系統(tǒng)_第1頁
課程設計(論文)書店圖書銷售系統(tǒng)_第2頁
課程設計(論文)書店圖書銷售系統(tǒng)_第3頁
課程設計(論文)書店圖書銷售系統(tǒng)_第4頁
課程設計(論文)書店圖書銷售系統(tǒng)_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 題目:書店圖書銷售系統(tǒng)一、課程設計時間201011第2學期 第15周,共計1周,20學時。二、課程設計內(nèi)容用c語言編寫軟件完成以下任務:模擬書店經(jīng)營業(yè)務,主要指“購進圖書”和“出售圖書”兩種業(yè)務。由于圖書的出售價格高于圖書的購進價格,所以系統(tǒng)能夠計算累計利潤。要求:“購進圖書”和“出售圖書”2方面信息只用1個文件(myfile.txt)存儲,文件中每行數(shù)據(jù)遵循如下順序:圖書編號,圖書名稱,出版社,購進冊數(shù),購進價格,出售冊數(shù),出售價格。能夠隨時顯示庫存情況和銷售情況。能夠隨時計算書店累計利潤。能夠隨時購進新書和出售圖書,冊數(shù)不限。三、課程設計要求1. 程序質(zhì)量:l 貫徹結構化程序設計思想。l

2、 用戶界面友好,功能明確,操作方便;可以加以其它功能或修飾。l 用戶界面中的菜單至少應包括“題庫錄入”、“隨機抽題”、“統(tǒng)計測驗成績”、“退出”4項。l 代碼應適當縮進,并給出必要的注釋,以增強程序的可讀性。2. 課程設計說明書:課程結束后,上交課程設計說明書和源程序。課程設計說明書的格式和內(nèi)容參見提供的模板。四、指導教師和學生簽字指導教師:_ 學生簽名:_五、說明書成績六、教師評語沈陽航空航天大學設計用紙目錄一、需求分析1二、設計分析2三、主要界面截圖6四、技術要點.7五、個人總結10六、參考文獻11七、源程序1115一、需求分析經(jīng)過對程序設計題目的分析可知,整個程序的設計實現(xiàn)大致分為七個模

3、塊,其中每一個模塊對應一個函數(shù),他們的功能分別是:顯示菜單,存入數(shù)據(jù),賣出圖書,購進圖書,計算利潤,書庫現(xiàn)狀,出售現(xiàn)狀功能。 1、顯示菜單 主要實現(xiàn)在屏幕上顯示菜單目錄,以便執(zhí)行操作。2、存入數(shù)據(jù) 實現(xiàn)的是往文本文檔里存入數(shù)據(jù),以便后續(xù)函數(shù)。3、賣出圖書 實現(xiàn)的是賣出圖書的名字和冊數(shù),提供了出售功能。4、購進圖書 實現(xiàn)了隨時可以購進任意圖書任意冊數(shù)的功能。5、計算利潤 實現(xiàn)了出售圖書和購進圖書的價格差與冊數(shù)的乘積,可計算利潤。6、書庫現(xiàn)狀 實現(xiàn)了書庫剩余量與出售量與價格的顯示功能。7、出售現(xiàn)狀 實現(xiàn)了出售圖書與出售價格的顯示功能。除上面介紹的功能之外,程序還具有退出功能,可以在程序的一次運行當

4、中循環(huán)執(zhí)行所有的功能,并根據(jù)需要終止程序的執(zhí)行。二、設計分析定義結構體變量輸出選項讀取進書后的信息進書售書計算利潤圖書現(xiàn)狀開始出售現(xiàn)狀退出1、程序總體結構圖存入數(shù)據(jù)模塊: 定義變量 以只寫方式打開文件d:myfile.txt輸出文字:“請您輸入購進幾種書”輸入數(shù)字輸出,請輸入您要進入的圖書編號 圖書名稱 出版社 購進冊數(shù) 購進價格 出售冊數(shù) 出售價格 for(i=0;iz;i+) 輸入數(shù)據(jù) 往文本里輸入數(shù)據(jù) 關閉文件 定義變量 輸出(請您輸入您要的圖書編號及冊數(shù):); 輸入數(shù)據(jù) 以讀寫方式打開文件d:myfile.txt是 num=book1.num 否 for(i=0;in;i+) book

5、i.gouce-=z;booki.shouce+=z;往文本里輸入數(shù)據(jù),并關閉文件輸出:編號名字出版社出售冊數(shù) 售價輸出數(shù)據(jù)售書模塊: in進書模塊:定義變量輸出,輸入編號:輸入數(shù)據(jù)。輸出輸入數(shù)量:輸入數(shù)據(jù)for(i=0;in;i+) 是 num=booki.num1 否 booki.gouce+=j;輸出這本書在商店里的數(shù)目是:相關數(shù)據(jù) scanf(%d,&j);計算利潤模塊: 定義變量for(i=0;in;i+) 計算利潤輸出利潤書店現(xiàn)狀模塊:定義變量以只讀方式打開文件d:myfile.txtfor(i=0;!feof(fp);i+)輸出文本數(shù)據(jù)并關閉文件輸出“編號 剩余 售出 名字 出版

6、社 進價 售價 for(j=0;ji-1;j+)輸出數(shù)據(jù) 出售現(xiàn)狀模塊: 定義變量 以只讀方式打開文件d:myfile.txtfor(i=0;!feof(fp);i+) 輸出文本文件里的數(shù)據(jù),并關閉文件 輸出“編號出售名字出版社“ for(j=0;ji-1;j+) 輸出數(shù)據(jù)三、主要界面截圖 1 菜單截圖2錄入數(shù)據(jù)截圖四、技術要點本程序主要通過主函數(shù)調(diào)用函數(shù)實現(xiàn)其購進圖書與銷售圖書的功能,并能計算利潤,還可顯示書庫現(xiàn)狀,以及出售現(xiàn)狀,以下將對此進行事例與說明:購進圖書函數(shù):此函數(shù)主要實現(xiàn)了購進任意圖書和任意冊數(shù)的功能,并能隨時進貨,隨時補貨,能使程序簡單明了,相關數(shù)據(jù)還存入文本文檔里面。程序如下

7、:void goujin()int i,j;int num; printf(輸入編號:); scanf(%d,&num); printf(輸入數(shù)量:); scanf(%d,&j); for(i=0;in;i+) if(num=booki.num1) booki.gouce+=j; printf(這本書在商店里的數(shù)目是: %dn,booki.gouce); 出售圖書函數(shù):此函數(shù)主要實現(xiàn)了出售任意圖書和任意冊數(shù)的功能,并能提醒您如果沒有此書的功能,此函數(shù)顯示出了出售價格和購進價格給讀者與以方便還有圖書編號,方便出售,還把相關數(shù)據(jù)存入到文本文檔里面。程序如下:void mai()int i;int

8、num,z;printf(請您輸入您要的圖書編號及冊數(shù):); scanf(%d%d,&num,&z);file *fp;fp=fopen(d:myfile.txt,r+); for(i=0;in;i+) if(num=booki.num1) booki.gouce-=z; booki.shouce+=z; fprintf(fp,%d %s %s %d %f %d %fn,booki.num1,,booki.chubanshe,booki.gouce,booki.goujia,booki.shouce,booki.shoujia); fclose(fp);printf(編號名

9、字出版社出售冊數(shù) 售價n); printf(%d %s %s %d %6.2fn,booki.num1,, booki.chubanshe,booki.shouce,booki.shoujia); 計算利潤函數(shù):此函數(shù)為計算書店銷售利潤,以公式計算出出售書的利潤,可以查出書店每天的利潤,每本書的利潤。方便使用。程序如下:void lirun()float sum;int i;float a=0;for(i=0;in;i+)sum=booki.shouce*(booki.shoujia-booki.goujia);a=a+sum; printf(利潤:%fn,a);五、個人總

10、結經(jīng)過了一周的課程設計實習,我對c語言又了更深的認識,知道了它不光是一種語言,一些字母和算法,它可以實現(xiàn)許多功能,給社會提供了許多便利。也通過這次課程設計對我的c語言能力有了一定程度的提高,自己能和計算機溝通了,也能讓計算機給自己做事。并且方便,簡潔。 這次課程設計所設計的題目是書店銷售系統(tǒng),剛拿到的時候?qū)ν瓿蓻]什么信心,經(jīng)過自己的努力終于還是完成了。并且還算滿意,也有些許成就感。希望今后對計算機還能有更高的了深造。也讓我對c語言2級考試充滿了信心和希望。六、參考文獻1 譚浩強c程序設計北京:清華大學出版社,20052 劉成等c語言程序設計實驗指導與習題集北京:中國鐵道出版社,2006。七、源

11、程序#include#include#include#define n 4 /*定義符號常量n的值為4*/void menu();void save();void mai();void goujin();void lirun();void booknow();void sellnow();struct book /*定義一個book結構體*/ int num1; int gouce; int shouce; char name20; char chubanshe20; float goujia; float shoujia;bookn;void save()int i,z;file *fp;f

12、p=fopen(d:myfile.txt,w);printf(請您輸入購進幾種書:n);scanf(%d,&z);printf(請輸入您要進入的圖書編號 圖書名稱 出版社 購進冊數(shù) 購進價格 出售冊數(shù) 出售價格: n);printf(出售價格要高于夠進價格,并且出售冊數(shù)為0n);for(i=0;iz;i+)scanf(%d %s %s %d %f %d %f,&booki.num1,,booki.chubanshe,&booki.gouce,&booki.goujia,&booki.shouce,&booki.shoujia);fprintf(fp,%d %s %s %d

13、%f %d %fn,booki.num1,,booki.chubanshe,booki.gouce,booki.goujia,booki.shouce,booki.shoujia);fclose(fp);void mai()int i;int num,z;printf(請您輸入您要的圖書編號及冊數(shù):); scanf(%d%d,&num,&z); file *fp; fp=fopen(d:myfile.txt,r+); for(i=0;in;i+) if(num=booki.num1) booki.gouce-=z; booki.shouce+=z; fprintf(fp,%

14、d %s %s %d %f %d %fn,booki.num1,,booki.chubanshe,booki.gouce,booki.goujia,booki.shouce,booki.shoujia); fclose(fp);printf(編號 名字 出版社 出售冊數(shù) 售價n); printf(%d %s %s %d %6.2fn,booki.num1,,booki.chubanshe,booki.shouce,booki.shoujia); void goujin()int i,j;int num; printf(輸入編號:); scanf(%d,&

15、num); printf(輸入數(shù)量:); scanf(%d,&j); for(i=0;in;i+) if(num=booki.num1) booki.gouce+=j; printf(這本書在商店里的數(shù)目是: %dn,booki.gouce); void lirun()float sum;int i;float a=0;for(i=0;in;i+)sum=booki.shouce*(booki.shoujia-booki.goujia);a=a+sum; printf(利潤:%fn,a);void booknow()int i,j;file *fp; fp=fopen(d:myfile.txt

16、,r); /*只讀方式打開txt文件*/ for(i=0;!feof(fp);i+) /*將txt文件讀到結構體數(shù)組中*/fscanf(fp,%d %s %s %d %f %d %f,&booki.num1,,booki.chubanshe,&booki.gouce,&booki.goujia,&booki.shouce,&booki.shoujia); ; fclose(fp); printf(編號 剩余 售出 名字 出版社 進價 售價n); for(j=0;ji-1;j+) printf(%d %d %d %s %s %5.2f %5.2fn,bookj.num1,bo

17、okj.gouce,bookj.shouce,,bookj.chubanshe,bookj.goujia,bookj.shoujia); void sellnow()int i,j;file *fp; fp=fopen(d:myfile.txt,r); /*只讀方式打開txt文件*/ for(i=0;!feof(fp);i+) /*將txt文件讀到結構體數(shù)組中*/fscanf(fp,%d %s %s %d %f %d %f,&booki.num1,,booki.chubanshe,&booki.gouce,&booki.goujia,&booki.sho

18、uce,&booki.shoujia); fclose(fp); /*關閉文件*/ printf(編號 出售 名字 出版社n); for(j=0;ji-1;j+) printf(%d %d %s %sn,bookj.num1,bookj.shouce,,bookj.chubanshe);void main() int n;while(1) menu(); printf(n 請輸入您要選擇的操作序號,按回車鍵確認:); scanf(%d,&n); switch(n) case 1: save();break; case 2: mai();break; case 3: goujin();break; c

溫馨提示

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

最新文檔

評論

0/150

提交評論