C語言程序設(shè)計附源代碼_第1頁
C語言程序設(shè)計附源代碼_第2頁
C語言程序設(shè)計附源代碼_第3頁
C語言程序設(shè)計附源代碼_第4頁
C語言程序設(shè)計附源代碼_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、專業(yè)設(shè)計報告課程名稱: C 語 言 程 序 設(shè) 計課題名稱: 醫(yī)院信息管理系統(tǒng) 專業(yè)班別: 12 本計算機(jī)科學(xué)與技術(shù)二班 姓 名:學(xué) 號:指導(dǎo)教師:設(shè)計日期: 2012-5-25教師評語:等級項(xiàng)目優(yōu)良中及格差專業(yè)設(shè)計目的設(shè)計基本要求算法分析源程序代碼源程序代碼測試設(shè)計總結(jié)成績評定:指導(dǎo)教師簽名:日期: 2012 年 月課程設(shè)計題目 醫(yī)院信息管理程序作者姓名 :同組成員 :摘要 利用結(jié)構(gòu)體存儲每個病人的信息和每種藥品的信息,并使用鏈表存儲全部病人的信息;能完成 對醫(yī)院內(nèi)所有病人信息的注冊、查詢、刪除和修改等操作,同時又能對藥房內(nèi)庫存的藥品進(jìn)行查詢;可以 將鏈表中的病人信息保存在文件中,并且可以對

2、文件中的病人信息進(jìn)行讀取與顯示1專業(yè)設(shè)計目的1 、掌握鏈表的操作,包括鏈表節(jié)點(diǎn)的創(chuàng)建、釋放還有鏈表的遍歷2 、掌握對二進(jìn)制文件的創(chuàng)建、增添等基本操作。3 、熟悉 C 語言函數(shù)的使用方法,學(xué)會模塊化處理問題以及多個源文件的處理方式2設(shè)計基本要求 (1 、使用結(jié)構(gòu)體來存儲病人的信息,結(jié)構(gòu)體中包括病的 id 號碼、姓名、病歷以及消費(fèi)信息,并用鏈 表將所有病人信息整合。2 、用文件來存儲鏈表的信息以便下次再使用該程序時載入病人信息3 、能夠?qū)崿F(xiàn)病人信息的注冊、病人信息的查詢、病人消費(fèi)統(tǒng)計、保存鏈表信息、載入鏈表信息、 查詢庫存等幾項(xiàng)功能。4 、要求用四個源文件、 、5 、系統(tǒng)完成后應(yīng)實(shí)現(xiàn)類似下面所示界

3、面3、算法分析1、數(shù)據(jù)結(jié)構(gòu)設(shè)計鏈表中的一個節(jié)點(diǎn)存儲一個病人的信息,使用下面的結(jié)構(gòu)體類型定義: struct patientchar id10;char name10;char casehist200;int cost3;int transfusion;int surgery;struct patient *next;其中 cost 數(shù)組用來存儲病人賣藥的的個數(shù)(總共三種藥) , casehist 存儲病歷內(nèi)容, transfusion 用 來存儲病人輸液的花費(fèi), surgery 存儲手術(shù)的花費(fèi)。 Struct patient *next 用來指向下一個病人結(jié)構(gòu)體的 起始地址從而形成一個鏈表。此

4、外還要用到一個結(jié)構(gòu)體來存儲庫存中當(dāng)前的藥品情況。struct storageint amount3;int price3;2 、函數(shù)定義程序代碼有、 、四個源文件組成,使用頭文件把四個源文件連接起來,四個文件中所包含的函數(shù)說明 如表所示。源文件函數(shù)原型功能說明void test()檢測有無存儲病人的二進(jìn)制文件void init(struct storage *temp)初始化庫存中的藥品,參數(shù)為指向 struct storage 類型的指針void printmenu()打印提示菜單Void liststock(struct storage temp)列出庫存中的藥品struct patien

5、t *enroll()注冊新病人信息void freeall(struct patient *temp)清除鏈表內(nèi)容,參數(shù)為指向 struct patient 類型的指針void search(struct patient *temp)查詢單個病人的信息,參數(shù)為指向 struct patient 類型的指針void listall(struct patient *temp)列出所有病人的信息,參數(shù)為指向 struct patient 類型的指針struct patient *insert(struct patient *head,struct patient *rea加入新節(jié)點(diǎn),參數(shù)為指向 s

6、truct patient 類 型的指針void modify(struct patient*temp)修改病人病歷,參數(shù)為指向 struct patient 類型的指針void buy(struct patient *temp,struct storage *s)/ 用于病人的消費(fèi)處理,參數(shù)為指向 struct patient 類型的指針與指向 struct storage 的指針void save(struct patient *head)將鏈表信息保存到文件中,參數(shù)為指向struct patient 類型的指針struct patient *load(struct patient *he

7、ad)將文件信息寫入到鏈表中,參數(shù)為指向struct patient 類型的指針3、處理過程( 1)檢查存儲病人信息的文件是否存在,若不存在則創(chuàng)建一個新文件并設(shè)置flag 值為 1,以標(biāo)記現(xiàn)在可以對鏈表進(jìn)行操作。( 2)初始化庫存令巴米爾、感冒靈、病毒唑3 種藥的數(shù)量分別為 20、20、10,價格分別為 5、9、16。( 3)輸出提示菜單讓用戶懸著要操作的項(xiàng)目.1) 寫病歷前先檢查是否有可用的鏈表(此標(biāo)記為 flag 的值,若為 1 則代表可以修改病歷,否則要 求用戶重新做出選擇) 。確認(rèn)有可用鏈表之后進(jìn)入 modify 函數(shù)。要求用戶輸入病人的 id 號碼, 然后在鏈表 中尋找該病所對應(yīng)的節(jié)

8、點(diǎn), 若無此病人的 id 則直接輸出提示信息后返回: 若找到后, 先輸出原來的病歷內(nèi) 容,然后提示用戶輸入當(dāng)前日期和新添加的病歷內(nèi)容,調(diào)用 strcmp 函數(shù)將新內(nèi)容追加到原來的 casehist 字符串?dāng)?shù)組中。printf( 原有病歷 : %sn,temp-casehist);printf( 輸入當(dāng)前日期 年份 );gets(a);printf( 輸入當(dāng)前月份 );gets(b);printf( 輸入當(dāng)前日子 );gets(c);strcat(temp-casehist,a); strcat(temp-casehist,/);strcat(temp-casehist,b); strcat(t

9、emp-casehist,/);strcat(temp-casehist,c); strcat(temp-casehist,:); printf( 請輸入新病歷的內(nèi)容 n); gets(d);strcat(temp-casehist,d);2 )載入鏈表信息是首先定義一個文件指針,然后以只讀方式打開文件。若失敗則輸出提示信息返 回,成功后調(diào)用 malloc 函數(shù)來申請一塊內(nèi)存,用 read 函數(shù)將文件內(nèi)容寫入到節(jié)點(diǎn)中,隨后調(diào)用 insert 函數(shù)將節(jié)點(diǎn)加入鏈表,如此循環(huán)下去直到 fread 函數(shù)返回 0 值,即文件已經(jīng)讀到了末尾時,再將鏈表的頭 指針返回給主函數(shù)即可。 Flag 值置為 1,用

10、來代表已有可用鏈表。if(fp=fopen(data,r)=0)printf( 文件不存在! );return head;while(1)rear=(struct patient *)malloc(sizeof(struct patient);if(fread(rear,sizeof(struct patient),1,fp) head=insert(head,rear); elsefree(rear);flag=1; break;4、源程序代碼#ifndef FIRST#include#include#includestruct patientprintf(2.查詢單個病人信息 n);printf(3.寫病歷 n);printf(4.病人消費(fèi) n);printf(5.列出所有病人的信息 n);printf(6.載入所有病人信息 n);printf(7.保存現(xiàn)有信息 n);printf

溫馨提示

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

評論

0/150

提交評論