C語言藥品管理系統_第1頁
C語言藥品管理系統_第2頁
C語言藥品管理系統_第3頁
C語言藥品管理系統_第4頁
C語言藥品管理系統_第5頁
已閱讀5頁,還剩25頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

⑤刪除藥品信息。之因此設計這麼一個主界面,一是因為能使用戶對程序操作的流程更加清晰簡明,二是保證了用戶同時只能對一個文件進行操作系統的要求,保證了系統不會打開文件紊亂或者出現致命的錯誤。再加上相應的顏色函數:system(“color3F”)從而成功使系統界面背景顏色與字體分別變成藍色與白色。每個函數體如下:intmain()//主函數{ system("color3F"); intc; printf("\t\t\t*****************************\n\n"); printf("\t\t\t歡迎使用藥品信息管理系統!\n\n"); printf("\t\t\t*****************************\n\n"); do { printf("\t\t\t1>輸入信息\n"); printf("\t\t\t2>刪除信息\n"); printf("\t\t\t3>查找信息\n"); printf("\t\t\t4>瀏覽信息\n"); printf("\t\t\t5>退出系統\n"); printf("請選擇您的操作~~\n"); scanf("%d",&c); switch(c) { case1:add();break; case2:del();break; case3:search();break; case4:traverse();break; case5:break; default:printf("錯誤選擇,請重選!\n");break; } } while(c!=5); return0;}主界面:voidadd()//錄入藥品{ inti=0,k,N; printf("\t歡迎進入藥品信息的錄入!\n"); printf("\t請輸入要錄入信息的藥品的數量!\n"); scanf("%d",&N); for(i=1;i<=M;i++)if(stu[i].flag!=1){ k=i; break; } for(i=k;i<k+N;i++) { stu[i].flag=1; printf("請輸入第%d個藥品的編號:",i); scanf("%s",stu[i-1].bnum); printf("請輸入第%d個藥品的名稱:",i); scanf("%s",stu[i-1].name); printf("請輸入第%d個藥品的價格:",i); scanf("%s",stu[i-1].price); printf("請輸入第%d個藥品的功效:",i); scanf("%s",stu[i-1].function);}}voiddel()//刪除操作{ inti,j; charstr[12]; printf("\t歡迎進入藥品信息的刪除!\n"); printf("請輸入要刪除信息的編號:"); scanf("%s",str); for(i=0;i<=M;i++)if(strcmp(str,stu[i].bnum)==0){for(j=i;j<=M;j++)stu[j]=stu[j+1];printf("刪除成功!\n"); for(intn=M;;n--) if(stu[n].flag==1) { stu[n].flag=0; break; }break;}if(i==M)printf("無此編號!\n");}voidsearch()//查找操作{ charstr[10]; intk,i; printf("請輸入要查找藥品的編號:"); scanf("%s",str); for(i=0;i<M;i++) if(strcmp(str,stu[i].bnum)==0) { k=i; break; } printf("編號:%s\t名稱:%s\t價格:%s\t功效:%s\n",stu[k].bnum,stu[k].name,stu[k].price,stu[k].function);voidtraverse()//瀏覽操作{ intk,i; for(i=1;i<=M;i++) if(stu[i].flag==0) { k=i-1; break; } for(i=0;i<k;i++) { printf("編號:%s\t名稱:%s\t價格:%s\t功效:%s\n",stu[i].bnum,stu[i].name,stu[i].price,stu[i].function); }}2、設計思想(1)確定語言算法由于之前都沒有做過類似的設計,因此一時間不能夠確定到底使用何種語言來設計本系統,因此在網上看了一些其它人設計的程序,鏈表的、數組的,C++的,各種各樣的,也不知如何選擇,可是仔細地看了其中的設計思想,最終還是用C和指針數組的來做,一是覺得本人對鏈表掌握的不是很熟練,那么在設計過程中容易產生不能理解的錯誤,耽誤時間,二是想運用C,能夠鞏固一下所學的數據結構的知識,之前做實驗的時候一直用C來做,都沒怎么用所學的知識,這時候想練練。就這樣確定了整體的結構算法。確定程序主要功能模塊這個就比較簡單了,主要是根據系統設計的說明及要求來設計,從而設計了十大功能模塊,有文件操作,有系統維護功能,排序和統計功能,有輸入輸出等基本功能,比較人性化,添加了較多的提示語。這個程序的主要功能時輸入藥品的功效,名稱,價格和編號。系統結構體的設計structstudent{ charbnum[12];//編號 charname[12];//藥品名稱 charprice[8];//價格 charfunction[100];//功效 intflag;}stu[M];所遇到的問題和分析解決存在的不足本藥品信息管理系統由十大模塊組成,每個模塊相互聯系又相互獨立。這個藥品信息管理系統存在著很多不足之處,由于自己本身編程能力的問題,這個系統能夠實現的功能非常有限。只能實現藥品信息管理系統最基本的功能,能夠進行簡單的輸入、輸出藥品信息,查詢和修改藥品信息。而且在每個模塊也有不足的地方,比如在輸入藥品資料時,對每個信息項沒有嚴格的規定,能夠輸入任何的字符。這有待以后努力,更詳盡的實現模塊的功能。指針數組的使用就是在插入藥品記錄模塊中,另一個指針數組的定義,之前做的時候沒有注意到這點,結果所做的修改不能夠保存到文件,之后操作的時候也沒有顯示所做修改的記錄,之后找了資料看了之后才知道,是變量的問題,因此最后作了修改,加了一個另外的指針數組。細節方面其實在有些細節方面還是要特別注意啊,比如分號的添加,函數的返回值等問題,雖然容易改掉,可是很容易養成不好的習慣,而且還會浪費時間,因此在一開始寫的時候就要很仔細,這樣才能保證程序編的精細,同時若出現很多這樣的錯誤的話,在編寫程序的時候也會心里煩的,因此在編程的時候要認真仔細。內存的分配問題對于初學者的話對內存的分配和釋放問題是比較抽象的和模糊的問題,在排序是之前就出現了交換數據困難的問題,以及內存分配空間繁瑣釋放空間不及時的問題,造成空間的浪費,使得程序運行時效率較低,因此最后采用了順序存儲記錄的方式,這就能改變前面所出現的問題。較小的問題方面其余的就沒什么比較大的問題了,基本上只要細心一點的話就能夠正確調試了。系統特色及關鍵技術其實在本程序的設計過程當中,沒有很吸引人的關鍵技術,因為我們小組的C語言或C++語言都不是學的很好,因此當初設計的時候就只是想把功能都實現就好了,盡可能的把所要求的功能都編進程序,這樣就覺得很滿足了。因此都是設計的比較簡單易懂的語言,這樣能夠使人更明白一些,因此就沒有時間去細細地去設計程序。本程序要說有什么值得說的,那就只有人性化這點了,在設計成學的時候,因為我們怕弄混了,因此添加了很詳盡的提示,這樣在編程的過程中或調試的時候都能夠比較快的運行。還有就是盡可能的應用了while語句和switch-case語句,這兩個語句在之前不是很常見,因此在這個程序中試煉了一下,雖然在編寫的過程中總是出錯,但還是成功的用好了,也使程序有條理一些。我們也知道可能別人設計的程序比我們弄得還要好,可是在我們所學的知識中成功的應用了這些,我們覺得這就是好事,就是進步。結論及心得體會組員分工:負責查找有關設計藥品管理設計程序的資料,并進行篩選,并負責撰寫課程設計模板。組員分工:對篩選后得到的資料,運用C語言在MicrosoftVisualC++6.0環境中進行編寫一個藥品管理系統程序,和對程序進行調試,作出修改,最后對程序進行測試,得出運行結果,和對課程設計的內容進行修改和補充。程序設計時所面臨的問題:在藥品刪除的程序的實現中,當輸入多組藥品信息后,在多組藥品進行刪除時,程序只能正確刪除第一組藥品信息,而不能正確刪除第二組及之后的藥品信息。最后正確的解決是經過修改for(j=i;j<=M;j++)stu[j]=stu[j+1];printf("刪除成功!\n");for(intn=M;;n--)if(stu[n].flag==1){stu[n].flag=0;break;}break;中的for(j=i;j<=M;j++)stu[j]=stu[j+1];才使刪除操作能夠正常實現了。經過幾天多次的程序修改,程序終于能夠正確運行了,雖然有些疲憊,但還是有很多的收獲的,像計算機組成原理的課設一樣,讓我們我又一次鞏固了所學到的知識,之前的學習只是停留在理論基礎上,現在經過我們自己動手操作試驗后,才是真正的理解及體會。C也學了近一年,有很多知識都是似懂非懂,經過平時上機操作,也了解了一些,但讓我們有了更深的理解和更好的認識,則是在這次的課設上,之前的困惑也經過這次的課設解決了一些,雖然還是不能夠全面的理解,可是有進步就很高興。在課程設計之前,因為有了綜合實驗的經驗與教訓,明白了寫代碼這一步是非常重要的,因為當你把代碼輸進去之后,并編譯讓其運行,發現經過不了,再來檢查出問題,是很費費力的事情,因此分析和規劃代碼是很重要的,最重要的是要把邏輯結構寫好,這樣就不會出現大問題,寫代碼就要先找出核心的內容,用多種方法來實現核心部分,這樣能夠盡可能的避免發現邏輯或編譯不支持的錯誤。附錄(源代碼)#include<stdio.h>#include<string.h>#include<stdlib.h>#defineM100structstudent{ charbnum[12]; charname[12]; charprice[8]; charfunction[100]; intflag;}stu[M];voidadd();voiddel();voidsearch();voidtraverse();intmain(){ system("color3F"); intc; printf("\t\t\t*****************************\n\n"); printf("\t\t\t歡迎使用藥品信息管理系統!\n\n"); printf("\t\t\t*****************************\n\n"); do { printf("\t\t\t1>輸入信息\n"); printf("\t\t\t2>刪除信息\n"); printf("\t\t\t3>查找信息\n"); printf("\t\t\t4>瀏覽信息\n"); printf("\t\t\t5>退出系統\n"); printf("請選擇您的操作~~\n"); scanf("%d",&c); switch(c) { case1:add();break; case2:del();break; case3:search();break; case4:traverse();break; case5:break; default:printf("錯誤選擇,請重選!\n");break; } } while(c!=5); return0;}voidadd(){ inti=0,k,N; printf("\t歡迎進入藥品信息的錄入!\n"); printf("\t請輸入要錄入信息的藥品的數量!\n"); scanf("%d",&N); for(i=1;i<=M;i++)if(stu[i].flag!=1){ k=i; break; } for(i=k;i<k+N;i++) { stu[i].flag=1; printf("請輸入第%d個藥品的編號:",i); scanf("%s",stu[i-1].bnum); printf("請輸入第%d個藥品的名稱:",i); scanf("%s",stu[i-1].name); printf("請輸入第%d個藥品的價格:",i); scanf("%s",stu[i-1].price); printf("請輸入第%d個藥品的功效:",i); scanf("%s",stu[i-1].function);}}voiddel(){ inti,j; charstr[12]; printf("\t歡迎進入藥品信息的刪除!\n"); printf("請輸入要刪除信息的編號:"); scanf("%s",str); for(i=0;i<=M;i++)if(strcmp(str,stu[i].bnum)==0){for(j=i;j<=M;j++)stu[j]=stu[j+1];printf("刪除成功!\n"); for(intn=M;;n--) if(stu[n].flag==1) { stu[n].flag=0; break; }break;}if(i==M)printf("無此編號!\n");}voidsearch(){ char

溫馨提示

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

評論

0/150

提交評論