藥店藥品銷售統(tǒng)計(jì)系統(tǒng)_第1頁
藥店藥品銷售統(tǒng)計(jì)系統(tǒng)_第2頁
藥店藥品銷售統(tǒng)計(jì)系統(tǒng)_第3頁
藥店藥品銷售統(tǒng)計(jì)系統(tǒng)_第4頁
藥店藥品銷售統(tǒng)計(jì)系統(tǒng)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

PAGE2PAGE5數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告項(xiàng)目名稱:藥店藥品銷售統(tǒng)計(jì)系統(tǒng)學(xué)號(hào):班級(jí):姓名:指導(dǎo)老師:計(jì)算機(jī)科學(xué)與技術(shù)2014年12月22日問題描述:(1)設(shè)計(jì)一系統(tǒng),實(shí)現(xiàn)醫(yī)藥公司定期對(duì)銷售各藥品的記錄進(jìn)行統(tǒng)計(jì),可按藥品的編號(hào)、單價(jià)、銷售量或銷售額做出排名。(2)在本設(shè)計(jì)中,首先從數(shù)據(jù)文件中讀出各藥品的信息記錄,存儲(chǔ)在順序表中。各藥品的信息包括:藥品編號(hào)、藥名、藥品單價(jià)、銷出數(shù)量、銷售額。藥品編號(hào)共4位,采用字母和數(shù)字混合編號(hào),如:A125,前一位為大寫字母,后三位為數(shù)字,按藥品編號(hào)進(jìn)行排序時(shí),可采用基數(shù)排序法。對(duì)各藥品的單價(jià)、銷售量或銷售額進(jìn)行排序時(shí),可采用多種排序方法,如直接插入排序、冒泡排序、快速排序,直接選擇排序等方法。設(shè)計(jì)思路:本次課程設(shè)計(jì)的任務(wù)是設(shè)計(jì)一個(gè)藥店藥品銷售統(tǒng)計(jì)系統(tǒng),實(shí)現(xiàn)對(duì)藥店內(nèi)藥品的信息進(jìn)行記錄和對(duì)銷售情況進(jìn)行整理排序,更直觀的了解藥店的藥品銷售情況。本次設(shè)計(jì)的系統(tǒng)主要采用C語言程序設(shè)計(jì)基本知識(shí),通過文件來輸入、記錄、保存藥品的編碼、名稱、單價(jià)、銷售數(shù)量,運(yùn)用乘法運(yùn)算算出各類藥品的銷售總額,最后利用冒泡排序法(運(yùn)用文件指針知識(shí))將藥品信息按照藥品編碼、藥品名稱、藥品單價(jià)、藥品銷售數(shù)量、藥品銷售總額5個(gè)方面進(jìn)行從大到小的排序。該系統(tǒng)主要由1.輸入記錄并保存藥品信息,2.在界面上顯示所輸入的藥品信息,3.將藥品信息根據(jù)5個(gè)方面進(jìn)行排序并保存這三大模塊所構(gòu)成。數(shù)據(jù)結(jié)構(gòu)定義:typedefstructnode//藥品信息的存儲(chǔ)結(jié)構(gòu)類型定義{charnum[10];//藥品編號(hào)charname[30];floatprice;//單價(jià)輸入2:輸入3:輸入4:輸入5體會(huì):通過本次課程設(shè)計(jì),培養(yǎng)了我關(guān)于系統(tǒng)的設(shè)計(jì)理念,掌握具體的編程方法,提高了個(gè)人的綜合實(shí)踐能力。學(xué)會(huì)通過所學(xué)的知識(shí)和查閱相關(guān)資料,能夠根據(jù)實(shí)際問題設(shè)計(jì)出實(shí)用并可靠的系統(tǒng)程序。藥店藥品銷售統(tǒng)計(jì)系統(tǒng)是由C語言編寫而成的,該系統(tǒng)程序函數(shù)層次簡練分明,可讀性強(qiáng)。對(duì)于商店來講,一般銷售額的統(tǒng)計(jì)都比較繁瑣、容易出現(xiàn)錯(cuò)誤。藥店藥品的銷售統(tǒng)計(jì)系統(tǒng)在這方面可以大大的減少人們對(duì)信息的處理,比較有實(shí)際意義。并且該系統(tǒng)操作起來簡單快捷,極大的降低了工作量。不過系統(tǒng)仍然存在著不足之處,需要后續(xù)的補(bǔ)充和修改完善。例如:無法對(duì)輸入的信息進(jìn)行分類保存,無法再中途添加藥品信息,沒有一個(gè)完整的信息庫等等。完成本次課程設(shè)計(jì),一方面對(duì)我的知識(shí)進(jìn)行了鞏固,另一方面提前讓我養(yǎng)成了研發(fā)設(shè)計(jì)系統(tǒng)的思路和感受。對(duì)今后的學(xué)習(xí)和實(shí)驗(yàn)相信有著積極的意義。同時(shí)也認(rèn)識(shí)到自己的不足和學(xué)習(xí)的永無止境,的確學(xué)如逆水行舟,不進(jìn)則退!時(shí)代在發(fā)展,很多系統(tǒng)就得跟上人們的需求,所以我們今后的發(fā)展前景還是很大的。主程序#include<stdio.h>#include<stdlib.h>#include<string.h>#definemaxsize100//該醫(yī)藥公司藥品最大種類typedefstructnode//藥品信息的存儲(chǔ)結(jié)構(gòu)類型定義{charnum[10];//藥品編號(hào)charname[30];floatprice;//單價(jià)intcount;//銷售量floatsale;//銷售額}DataType;typedefstruct//存儲(chǔ)藥品信息的順序表的定義{DataTyper[maxsize];intlength;inttype;}SqList;voidnumber(SqList*L)//按藥品編號(hào)排序{inti,j;charnum1[10],name1[30];floatprice1,sale1;intcount1;for(i=0;i<L->type;i++) for(j=i+1;j<L->type;j++) if(strcmp(L->r[j].num,L->r[i].num)>0) {strcpy(num1,L->r[j].num); strcpy(L->r[j].num,L->r[i].num); strcpy(L->r[i].num,num1); strcpy(name1,L->r[j].name); strcpy(L->r[j].name,L->r[i].name); strcpy(L->r[i].name,name1); price1=L->r[j].price; L->r[j].price=L->r[i].price; L->r[i].price=price1;count1=L->r[j].count; L->r[j].count=L->r[i].count; L->r[i].count=count1; sale1=L->r[j].sale; L->r[j].sale=L->r[i].sale; L->r[i].sale=sale1; }printf("\t按藥品編號(hào)排序后:\n");printf("\t藥品編號(hào)藥品名稱藥品單價(jià)藥品銷售量藥品銷售額\n");for(i=0;i<L->type;i++)printf("\t%s\t%s\t%f\t%d\t%f\n",L->r[i].num,L->r[i].name,L->r[i].price,L->r[i].count,L->r[i].sale);}voidnam(SqList*L)//按藥品名稱排序{inti,j;charnum1[10],name1[30];floatprice1,sale1;intcount1;for(i=0;i<L->type;i++) for(j=i+1;j<L->type;j++) if(strcmp(L->r[j].name,L->r[i].name)>0) {strcpy(num1,L->r[j].num); strcpy(L->r[j].num,L->r[i].num); strcpy(L->r[i].num,num1); strcpy(name1,L->r[j].name); strcpy(L->r[j].name,L->r[i].name); strcpy(L->r[i].name,name1); price1=L->r[j].price; L->r[j].price=L->r[i].price; L->r[i].price=price1;count1=L->r[j].count; L->r[j].count=L->r[i].count; L->r[i].count=count1; sale1=L->r[j].sale; L->r[j].sale=L->r[i].sale; L->r[i].sale=sale1; }printf("\t按藥品名稱排序后:\n");printf("\t藥品編號(hào)藥品名稱藥品單價(jià)藥品銷售量藥品銷售額\n");for(i=0;i<L->type;i++)printf("\t%s\t%s\t%f\t%d\t%f\n",L->r[i].num,L->r[i].name,L->r[i].price,L->r[i].count,L->r[i].sale);}voidpric(SqList*L){inti=0,j;charnum1[10],name1[30];floatprice1,sale1;intcount1;for(i=0;i<L->type;i++) for(j=i+1;j<L->type;j++) if(L->r[j].price>L->r[i].price) {strcpy(num1,L->r[j].num); strcpy(L->r[j].num,L->r[i].num); strcpy(L->r[i].num,num1); strcpy(name1,L->r[j].name); strcpy(L->r[j].name,L->r[i].name); strcpy(L->r[i].name,name1); price1=L->r[j].price; L->r[j].price=L->r[i].price; L->r[i].price=price1;count1=L->r[j].count; L->r[j].count=L->r[i].count; L->r[i].count=count1; sale1=L->r[j].sale; L->r[j].sale=L->r[i].sale; L->r[i].sale=sale1; } printf("\t按藥品單價(jià)排序后:\n");printf("\t藥品編號(hào)藥品名稱藥品單價(jià)藥品銷售量藥品銷售額\n");for(i=0;i<L->type;i++)printf("\t%s\t%s\t%f\t%d\t%f\n",L->r[i].num,L->r[i].name,L->r[i].price,L->r[i].count,L->r[i].sale);}voidcoun(SqList*L){inti=0,j;charnum1[10],name1[30];floatprice1,sale1;intcount1;for(i=0;i<L->type;i++) for(j=i+1;j<L->type;j++) if(L->r[j].count>L->r[i].count) {strcpy(num1,L->r[j].num); strcpy(L->r[j].num,L->r[i].num); strcpy(L->r[i].num,num1); strcpy(name1,L->r[j].name); strcpy(L->r[j].name,L->r[i].name); strcpy(L->r[i].name,name1); price1=L->r[j].price; L->r[j].price=L->r[i].price; L->r[i].price=price1;count1=L->r[j].count; L->r[j].count=L->r[i].count; L->r[i].count=count1; sale1=L->r[j].sale; L->r[j].sale=L->r[i].sale; L->r[i].sale=sale1; }printf("\t按藥品銷售量排序后:\n");printf("\t藥品編號(hào)藥品名稱藥品單價(jià)藥品銷售量藥品銷售額\n");for(i=0;i<L->type;i++)printf("\t%s\t%s\t%f\t%d\t%f\n",L->r[i].num,L->r[i].name,L->r[i].price,L->r[i].count,L->r[i].sale);}voidsales(SqList*L){inti=0,j;charnum1[10],name1[30];floatprice1,sale1;intcount1;for(i=0;i<L->type;i++) for(j=i+1;j<L->type;j++) if(L->r[j].sale>L->r[i].sale) {strcpy(num1,L->r[j].num); strcpy(L->r[j].num,L->r[i].num); strcpy(L->r[i].num,num1); strcpy(name1,L->r[j].name); strcpy(L->r[j].name,L->r[i].name); strcpy(L->r[i].name,name1); price1=L->r[j].price; L->r[j].price=L->r[i].price; L->r[i].price=price1;count1=L->r[j].count; L->r[j].count=L->r[i].count; L->r[i].count=count1; sale1=L->r[j].sale; L->r[j].sale=L->r[i].sale; L->r[i].sale=sale1; }printf("\t按藥品銷售額排序后:\n");printf("\t藥品編號(hào)藥品名稱藥品單價(jià)藥品銷售量藥品銷售額\n");for(i=0;i<L->type;i++)printf("\t%s\t%s\t%f\t%d\t%f\n",L->r[i].num,L->r[i].name,L->r[i].price,L->r[i].count,L->r[i].sale);}voidmenu(){printf("\t\t\t銷售記錄排序\n");printf("\t\n");printf("\t|1)按藥品編號(hào)|\n");printf("\t|2)按藥品名稱|\n");printf("\t|3)按藥品單價(jià)|\n");printf("\t|4)按藥品銷售量|\n");printf("\t|5)按藥品銷售額|\n");printf("\t|0)退出系統(tǒng)|\n");printf("\t|\n");printf("請(qǐng)選擇<0~5>");}main(){SqList*L;intn,i,m;charnum1[10],name1[30];floatprice1,sale1;intcount1;FILE*fp;L=(SqList*)malloc(sizeof(SqList));fp=fopen("medince.txt","w");//創(chuàng)建文件if(!fp){printf("Sorry!Fileopenerror!\n");exit(0);}printf("請(qǐng)輸入藥品種類數(shù)(<=100):");scanf("%d",&n);L->type=n;for(i=0;i<n;i++){ printf("請(qǐng)輸入該藥品的編號(hào)(格式如:B12,前一位為大寫字母,后二位為數(shù)字):"); scanf("%s",num1); getchar(); printf("請(qǐng)輸入該藥品的名稱:"); scanf("%s",name1); getchar(); printf("請(qǐng)輸入該藥品的單價(jià):"); scanf("%f",&price1); printf("請(qǐng)輸入該藥品的銷售量:"); scanf("%d",&count1);getchar(); sale1=price1*count1; fprintf(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論