版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
PAGE2PAGE5數(shù)據(jù)結構課程設計報告項目名稱:藥店藥品銷售統(tǒng)計系統(tǒng)學號:班級:姓名:指導老師:計算機科學與技術2014年12月22日問題描述:(1)設計一系統(tǒng),實現(xiàn)醫(yī)藥公司定期對銷售各藥品的記錄進行統(tǒng)計,可按藥品的編號、單價、銷售量或銷售額做出排名。(2)在本設計中,首先從數(shù)據(jù)文件中讀出各藥品的信息記錄,存儲在順序表中。各藥品的信息包括:藥品編號、藥名、藥品單價、銷出數(shù)量、銷售額。藥品編號共4位,采用字母和數(shù)字混合編號,如:A125,前一位為大寫字母,后三位為數(shù)字,按藥品編號進行排序時,可采用基數(shù)排序法。對各藥品的單價、銷售量或銷售額進行排序時,可采用多種排序方法,如直接插入排序、冒泡排序、快速排序,直接選擇排序等方法。設計思路:本次課程設計的任務是設計一個藥店藥品銷售統(tǒng)計系統(tǒng),實現(xiàn)對藥店內藥品的信息進行記錄和對銷售情況進行整理排序,更直觀的了解藥店的藥品銷售情況。本次設計的系統(tǒng)主要采用C語言程序設計基本知識,通過文件來輸入、記錄、保存藥品的編碼、名稱、單價、銷售數(shù)量,運用乘法運算算出各類藥品的銷售總額,最后利用冒泡排序法(運用文件指針知識)將藥品信息按照藥品編碼、藥品名稱、藥品單價、藥品銷售數(shù)量、藥品銷售總額5個方面進行從大到小的排序。該系統(tǒng)主要由1.輸入記錄并保存藥品信息,2.在界面上顯示所輸入的藥品信息,3.將藥品信息根據(jù)5個方面進行排序并保存這三大模塊所構成。數(shù)據(jù)結構定義:typedefstructnode//藥品信息的存儲結構類型定義{charnum[10];//藥品編號charname[30];floatprice;//單價輸入2:輸入3:輸入4:輸入5體會:通過本次課程設計,培養(yǎng)了我關于系統(tǒng)的設計理念,掌握具體的編程方法,提高了個人的綜合實踐能力。學會通過所學的知識和查閱相關資料,能夠根據(jù)實際問題設計出實用并可靠的系統(tǒng)程序。藥店藥品銷售統(tǒng)計系統(tǒng)是由C語言編寫而成的,該系統(tǒng)程序函數(shù)層次簡練分明,可讀性強。對于商店來講,一般銷售額的統(tǒng)計都比較繁瑣、容易出現(xiàn)錯誤。藥店藥品的銷售統(tǒng)計系統(tǒng)在這方面可以大大的減少人們對信息的處理,比較有實際意義。并且該系統(tǒng)操作起來簡單快捷,極大的降低了工作量。不過系統(tǒng)仍然存在著不足之處,需要后續(xù)的補充和修改完善。例如:無法對輸入的信息進行分類保存,無法再中途添加藥品信息,沒有一個完整的信息庫等等。完成本次課程設計,一方面對我的知識進行了鞏固,另一方面提前讓我養(yǎng)成了研發(fā)設計系統(tǒng)的思路和感受。對今后的學習和實驗相信有著積極的意義。同時也認識到自己的不足和學習的永無止境,的確學如逆水行舟,不進則退!時代在發(fā)展,很多系統(tǒng)就得跟上人們的需求,所以我們今后的發(fā)展前景還是很大的。主程序#include<stdio.h>#include<stdlib.h>#include<string.h>#definemaxsize100//該醫(yī)藥公司藥品最大種類typedefstructnode//藥品信息的存儲結構類型定義{charnum[10];//藥品編號charname[30];floatprice;//單價intcount;//銷售量floatsale;//銷售額}DataType;typedefstruct//存儲藥品信息的順序表的定義{DataTyper[maxsize];intlength;inttype;}SqList;voidnumber(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].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按藥品編號排序后:\n");printf("\t藥品編號藥品名稱藥品單價藥品銷售量藥品銷售額\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藥品編號藥品名稱藥品單價藥品銷售量藥品銷售額\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按藥品單價排序后:\n");printf("\t藥品編號藥品名稱藥品單價藥品銷售量藥品銷售額\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藥品編號藥品名稱藥品單價藥品銷售量藥品銷售額\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藥品編號藥品名稱藥品單價藥品銷售量藥品銷售額\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)按藥品編號|\n");printf("\t|2)按藥品名稱|\n");printf("\t|3)按藥品單價|\n");printf("\t|4)按藥品銷售量|\n");printf("\t|5)按藥品銷售額|\n");printf("\t|0)退出系統(tǒng)|\n");printf("\t|\n");printf("請選擇<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("請輸入藥品種類數(shù)(<=100):");scanf("%d",&n);L->type=n;for(i=0;i<n;i++){ printf("請輸入該藥品的編號(格式如:B12,前一位為大寫字母,后二位為數(shù)字):"); scanf("%s",num1); getchar(); printf("請輸入該藥品的名稱:"); scanf("%s",name1); getchar(); printf("請輸入該藥品的單價:"); scanf("%f",&price1); printf("請輸入該藥品的銷售量:"); scanf("%d",&count1);getchar(); sale1=price1*count1; fprintf(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024至2030年減震連桿總成項目投資價值分析報告
- 2024至2030年LED消防應急燈項目投資價值分析報告
- 陜西鐵路工程職業(yè)技術學院《大學體育Ⅵ》2023-2024學年第一學期期末試卷
- 陜西師范大學《橡塑機械設計》2023-2024學年第一學期期末試卷
- 陜西青年職業(yè)學院《能源類專業(yè)寫作》2023-2024學年第一學期期末試卷
- 2024年洗碗機電機端蓋項目可行性研究報告
- 2024年無繩手腕帶項目可行性研究報告
- 餐廳租地合同范例
- 五年級數(shù)學(小數(shù)乘除法)計算題專項練習及答案
- 一年級數(shù)學計算題專項練習集錦
- 小學生講海軍司令肖勁光的紅色故事肖勁光先進事跡學習
- 養(yǎng)老院的經(jīng)營規(guī)劃方案
- 人教版英語初二上學期試題及答案指導(2024年)
- 期末+(試題)+-2024-2025學年譯林版(三起)(2024)英語三年級上冊
- 2023年農(nóng)機專業(yè)合作社調研報告(五篇)
- 2024年秋季新人教版七年級上冊地理全冊導學案(2024年新教材)
- TCMAM Z25-2024“卡洛甘露”藏?。{沐)質量標準
- 人工智能生成內容的著作權侵權風險與侵權責任分配
- 2024年高考英語試題(新高考Ⅱ卷) 含解析
- GE Digital iFIX:iFIX歷史數(shù)據(jù)查詢與分析教程.Tex.header
- 3班主任基本功競賽:主題班會《我本是高山》教學課件
評論
0/150
提交評論