版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、華中科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院華中科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院cc 語言程序設(shè)計(jì)語言程序設(shè)計(jì)課程設(shè)計(jì)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)報(bào)告題目:題目: 門診病歷信息管理系統(tǒng)門診病歷信息管理系統(tǒng) 專業(yè):專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)計(jì)算機(jī)科學(xué)與技術(shù) _ 班級:班級:cs0809cs0809 _ 學(xué)號:學(xué)號: _姓名:姓名: _ 成績:成績: _指導(dǎo)教師:指導(dǎo)教師: _完成日期:完成日期:2009 年年 1010 月月 8 8 日日一、一、系統(tǒng)功能模系統(tǒng)功能模塊塊結(jié)結(jié)構(gòu)構(gòu)圖圖.1二、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)及用法說明 .1三、三、各模塊的功能解析、各模塊的功能解析、程程序結(jié)構(gòu)、運(yùn)行結(jié)果及部分流程序結(jié)構(gòu)、運(yùn)行結(jié)果及部分流程圖圖 .
2、2文件系統(tǒng)、輔助函數(shù)及歡迎界面2錄入信息5修改信息6插入信息10刪除信息13查詢信息14統(tǒng)計(jì)信息15四、四、心得體心得體會(huì)會(huì).17五、五、源代碼及源代碼及注注釋釋18六、六、參考參考文文獻(xiàn)獻(xiàn).103 c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 cs0809 陶松橋1一一、系統(tǒng)功能模塊結(jié)構(gòu)圖、系統(tǒng)功能模塊結(jié)構(gòu)圖 二、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)及用法說明二、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)及用法說明該系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)是采用十字交叉鏈表。十字交叉鏈表的模型如下: 單位病歷門診信息十字交叉鏈表門診病歷信息管理系統(tǒng)門診病歷信息管理系統(tǒng)文件系統(tǒng)文件系統(tǒng)編輯系統(tǒng)編輯系統(tǒng)查詢系統(tǒng)查詢系統(tǒng)統(tǒng)計(jì)系統(tǒng)統(tǒng)計(jì)系統(tǒng)信息導(dǎo)入信息顯示信息保存錄入信息修改信息插入信息子刪除信息查
3、詢病歷信息查詢門診信息查詢單位信息統(tǒng)計(jì)各月門診量統(tǒng)計(jì)各單位門診量統(tǒng)計(jì)未門診員工信息錄入單位信息錄入門診信息錄入病歷信息修改單位信息修改門診信息修改病歷信息插入單位信息插入門診信息插入病歷信息刪除單位信息刪除門診信息刪除病歷信息d_head單位1單位 2單位 nnull病歷 1病歷 2病歷 nnull.門診 1門診 2.門診 2門診 1門診 n null門診 n null門診 1門診 2.門診 n null門診 1門診 2.門診 n null. c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 cs0809 陶松橋2三個(gè)結(jié)構(gòu)的聲明如下:/*定義存儲(chǔ)單位基本信息的結(jié)構(gòu)*/typedef struct danwei cha
4、r dd_num10; /*單位編號*/ char d_name30; /*單位名稱*/ char d_person20; /*單位負(fù)責(zé)人*/ char d_tel12; /*聯(lián)系電話*/ struct danwei *next; /*指向下一個(gè)單位結(jié)點(diǎn)*/ struct bingli *b_head; /*指向病歷信息鏈表頭指針*/danwei;/*定義存儲(chǔ)病歷基本信息的結(jié)構(gòu)*/typedef struct bingli char bb_num10; /*病歷編號*/ char name10; /*姓名*/ char sex; /*性別*/ char bd_name30 ; /*所在單位*/
5、 char bd_num10; /*所在單位編號*/ char birthday11; /*出生日期*/ char* history; /*藥物過敏史*/ char tel12; /*電話*/ char add30; /*住址*/ struct bingli *next; /*指向下一個(gè)病歷結(jié)點(diǎn)*/ struct menzhen *m_head;/*指向門診信息鏈表頭指針*/bingli;/*定義存儲(chǔ)門診基本信息的結(jié)構(gòu)*/typedef struct menzhen char mb_num10; /*病歷編號*/ char md_num10; /*所在單位編號*/ char kebie10;
6、/*科別*/ char time11; /*門診時(shí)間*/ char zs30; /*主訴*/ char zd30; /*初步診斷*/ char yj30; /*治療意見*/ char doctor10; /*醫(yī)師姓名*/ struct menzhen* next; /*指向下一門診信息結(jié)點(diǎn)*/menzhen;三、三、各模塊的功能解析、程序結(jié)構(gòu)、運(yùn)行結(jié)果及部分流程圖各模塊的功能解析、程序結(jié)構(gòu)、運(yùn)行結(jié)果及部分流程圖整個(gè)系統(tǒng)有七大模塊,除了主函數(shù)外,另外還有 24 個(gè)函數(shù),除了實(shí)現(xiàn)上面模塊結(jié)構(gòu)圖中的各個(gè)功能以外,還有讀取鍵入值的函數(shù) int get_key(); 畫邊框函數(shù) void box(int
7、 startx,int stary,int high,int width);和一個(gè)歡迎界面的函數(shù) void welcome(void);。各個(gè)模塊的功能解析和程序的結(jié)構(gòu)說明分別如下: c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 cs0809 陶松橋3 文件系統(tǒng)、輔助函數(shù)及歡迎界面文件系統(tǒng)、輔助函數(shù)及歡迎界面1歡迎界面歡迎界面 void welcome(void);本程序是由 wintc 編譯。該界面調(diào)用了 dos 庫里的 getdate 和 gettime 函數(shù),date 和 time 結(jié)構(gòu)已在 dos.h 中定義,可以讀取系統(tǒng)日期和時(shí)間。首先將界面背景設(shè)為白色,字體設(shè)為藍(lán)色,然后輸出相應(yīng)信息及系統(tǒng)時(shí)間。最后使
8、用 getch()函數(shù),使得按任意鍵進(jìn)入系統(tǒng)主界面。2得到按鍵值得到按鍵值 int get_key();要使程序得到鍵盤按鍵值,就要對按鍵進(jìn)行掃描,通過查詢鍵盤編碼表,通過get_key 函數(shù)返回按鍵的掃描碼(即編碼高位字節(jié))。在 get_key 函數(shù)中,首先定義類型為 regs 的聯(lián)合體 rg,然后降高字節(jié)初始化為 0,然后使用 int86 函數(shù)寄存鍵值,最后輸出高字節(jié)鍵值即掃描碼。3畫邊框函數(shù)畫邊框函數(shù) void box(int startx,int starty,int high,int width);該函數(shù)主要是在設(shè)計(jì)下拉菜單時(shí)使用,通過該函數(shù)畫出一個(gè)矩形框。 換矩形邊框時(shí),先打印左上
9、角,再打印上邊線,再打印右上角,再打印左邊線和右邊線,最后打印左下角,下邊線和右下角。startx、starty、high、width 分別代表起始坐標(biāo)和矩形邊框的高度和寬度。 c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 cs0809 陶松橋44導(dǎo)入文件導(dǎo)入文件 void load(danwei *d_head);該函數(shù)中聲明了 3 個(gè)字符數(shù)組,分別用來存儲(chǔ)要導(dǎo)入的三個(gè)文件的路徑名,即用戶可以自己確定要導(dǎo)入的數(shù)據(jù)文件。如果用戶輸入的文件路徑不對或者文件不存在,系統(tǒng)會(huì)提示用戶重新輸入或者退出。讀入單位時(shí),建立的是后進(jìn)先出鏈表,最先保存的那個(gè)單位建立在鏈表的尾部;讀取病歷時(shí),先要找到對應(yīng)的單位編號,然后建立后進(jìn)先出
10、鏈表;讀取門診時(shí),先找到對應(yīng)病歷編號,然后同樣建立后進(jìn)先出鏈表。錄入完畢,關(guān)閉三個(gè)文件。5保存文件保存文件 void save(danwei *d_head);該函數(shù)有三個(gè)文件指針,分別指向三級信息要保存的文件。函數(shù)將整個(gè)系統(tǒng)的三部分?jǐn)?shù)據(jù)分別保存在 3 個(gè)文件里面,而且也聲明了 3 個(gè)字符數(shù)組,用來存儲(chǔ)文件名,即用戶可以自己選擇保存的路徑和文件名。6顯示信息顯示信息 void show(danwei *d_head);該函數(shù)可以將整個(gè)系統(tǒng)的所有信息顯示出來。本函數(shù)新建立三個(gè)窗口,即先建立一個(gè)窗口輸出單位信息,然后在原有窗口上建立第二個(gè)窗口用來輸出病歷信息,最后在原有窗 c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告
11、 cs0809 陶松橋5口上建立第三個(gè)窗口用來輸出門診信息。當(dāng)顯示完一次門診后按任意鍵清屏顯示下一個(gè)門診,當(dāng)一個(gè)病歷的門診顯示完之后,清屏顯示下一個(gè)病歷并顯示其病歷,當(dāng)一個(gè)單位的病歷顯示完之后清屏顯示下一個(gè)單位,當(dāng)顯示完所有信息后清屏按任意鍵退出。 錄入信息錄入信息1錄入單位信息錄入單位信息 danwei *create1(void); 該函數(shù)是錄入單位基本信息,建立第一級鏈表。建立該鏈表采用的是后進(jìn)先出式,即輸入的下一個(gè)單位的 next 指針指向前一個(gè)單位,最后錄入的那個(gè)單位作為鏈表的第一個(gè)單位。返回值為指向第一個(gè)單位的指針。將每個(gè)單位的 b_head 指針賦值為空。效果如下:2錄入病歷信息
12、錄入病歷信息 bingli *create2(danwei *d_head);本函數(shù)是在錄入單位基本信息的基礎(chǔ)上錄入病歷基本信息,建立第二級鏈表,如果未錄入單位信息將自動(dòng)退出。首先提示輸入要錄入病歷信息的單位編號,然后找到對應(yīng)的單位(如未找到則提示重新輸入或退出),如果該單位有多條病歷輸入,則建立一個(gè)先進(jìn)先出鏈表。將單位最后一條病歷的 next 指針賦值為 null。如果該單位已經(jīng)存在病歷信息則提示退出,用戶可以通過插入來輸入病歷信息。每條病歷的 m_head 指針都自動(dòng)賦值為 null。輸入病歷信息時(shí), c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 cs0809 陶松橋6不必重新輸入單位編號,單位名稱,而通過
13、strcpy 函數(shù)將單位信息復(fù)制到病歷結(jié)構(gòu)中。當(dāng)用戶不在輸入某一單位病歷時(shí),可自動(dòng)通過循環(huán)提示輸入下一個(gè)單位病歷信息或者輸入 x 退出。3錄入門診信息錄入門診信息 menzhen *create3(danwei *d_head); 本函數(shù)是在錄入單位信息及病歷信息的基礎(chǔ)上建立的第三級鏈表,即門診信息鏈表。同前,先找到對應(yīng)的單位,然后再找到對應(yīng)的病歷,找到后先判斷是否已經(jīng)存在門診信息,如果門診信息不存在,則可建立一個(gè)先進(jìn)先出鏈表,如果門診信息已經(jīng)存在,則提示用戶可以使用插入函數(shù)來添加,并退出該函數(shù)。當(dāng)然有些已知信息可以直接復(fù)制而不必重新輸入。通過自身的循環(huán)可以選擇錄入某一單位某一病歷的門診信息,
14、也可選擇退出。 修改信息修改信息1 1修改單位信息修改單位信息 void modify1(danwei *d_head); 本函數(shù)的功能是查找某一單位并修改該單位的某一項(xiàng)信息。首先提示用戶輸入要修改的單位編號,然后遍歷第一級鏈表,找出對應(yīng)的單位,然后提示用戶輸入要修改的某一項(xiàng)信息,修改后提示修改成功,并由用戶選擇繼續(xù)修改還是退出。相應(yīng)的流程圖如下: c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 cs0809 陶松橋7 y y n y n n y n y n y n y danwei *p=null;char d_num10; char flag; int flag1;int flag2; char space;p
15、=d_head;d_head=null?d_num=輸入的單位編號p=null?strcmp(p-dd_num,d_num)=0?p=p-next判斷重新輸入還是退出flag=輸入的選擇(r 或x)flag 不為r,r,x,x?flag 為 r或 r提示用戶輸入要修改的項(xiàng)目 flag1=輸入的代號(1、2、3 或 4)flag1 不為1、2、3、4 中的任意一個(gè)?3415開始 c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 cs0809 陶松橋8 y n y n y n y n y n n flag 為 1提示用戶輸入新單位編號并修改scanf(%s,p-dd_num);flag 為 2flag=3提示用戶輸入新單
16、位名稱并修改scanf(%s,p-d_name);提示用戶輸入新的單位負(fù)責(zé)人并修改 scanf(%s,p-d_person);提示用戶輸入新電話號碼并修改 scanf(%s,p-d_tel);提示用戶是否繼續(xù)修改單位信息。flag2=輸入的編號(1 代表繼續(xù)修改這個(gè)單位的其他信息,2 代表修改其他單位信息,0 代表不再修改)。flag2 不為1、2、0 中的任一個(gè)flag2 為1?3flag2 為 2?4461結(jié)束65y c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 cs0809 陶松橋9運(yùn)行效果如下:2修改病歷信息修改病歷信息 void modify2(danwei* d_head);該函數(shù)的功能是查找某一病歷
17、并修改該病歷的某一項(xiàng)信息。同單位信息修改函數(shù)一樣,需要查找所要修改的病歷所在的單位,然后查找出該病歷。然后提示用戶輸入所要修改的某一項(xiàng)病歷信息,然后進(jìn)行修改,修改成功后可修改其他病歷或者退出。運(yùn)行效果如下:3修改門診信息修改門診信息 void modify3(danwei *d_head);該函數(shù)的功能是查找某一門診并修改該門診的某一項(xiàng)信息。同前,先便利鏈表找到門診對應(yīng)的單位,然后再找到對應(yīng)的病歷,最后根據(jù)門診時(shí)間找出對應(yīng)的門診。讓用戶選擇要修改的門診選項(xiàng),修改成功后,用戶可以繼續(xù)修改或者退出。在此期間如果出現(xiàn)找不到的情況,系統(tǒng)都會(huì)提示重新輸入或退出。運(yùn)行效果如下: c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告
18、cs0809 陶松橋10 插入信息插入信息1插入單位信息插入單位信息 danwei *add1(danwei *d_head);該函數(shù)的作用是在某個(gè)單位后插入一個(gè)新的單位信息。插入時(shí),首先尋找要在其后插入的那個(gè)單位,然后輸入要插入的單位信息,然后判斷是不是在鏈尾插入,調(diào)整鏈表指針的對應(yīng)關(guān)系,插入成功后可繼續(xù)插入或者退出。運(yùn)行效果如下:相應(yīng)的流程圖如下:danwei *p=null,*other,*after;char d_num10; char flag; int flag2; char space;開始 c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 cs0809 陶松橋11 y y n y n n y n y
19、n y n p=d_head;d_head=null?d_num=輸入的單位編號p=null?strcmp(p-dd_num,d_num)=0?p=p-next判斷重新輸入還是退出flag=輸入的選擇(r 或x)flag 不為r,r,x,x?flag 為 r或 rafter=p-next;other=(danwei *)malloc(sizeof(danwei);413提示用戶輸入單位編號scanf(%s,other-dd_num);提示用戶輸入單位名稱scanf(%s,other-d_name);提示用戶輸入單位負(fù)責(zé)人scanf(%s,other-d_person); c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)
20、告 cs0809 陶松橋12 n y y y n y n 2 2插入病歷信息插入病歷信息 bingli *add2(danwei *d_head);該函數(shù)功能是在指定的病歷后插入一個(gè)新的病歷。同插入單位信息一樣,要先找到指定的單位,然后找到指定的病歷。如果病歷信息鏈未建立,則直接輸入第一個(gè)病歷信息,如果已經(jīng)建立,則在對應(yīng)的位置插入病歷信息。插入完成可繼續(xù)插入或者選擇退出。運(yùn)行效果如下flag2 為1?1結(jié)束533提示用戶輸入單位聯(lián)系電話scanf(%s,other-d_tel);after 不為空,即不是鏈尾?other-next=after;p-next=other;other-next=n
21、ull;p-next=other;提示用戶是否繼續(xù)插入單位信息。flag2=輸入的編號(1 代表繼續(xù)插入,2 代表不再插入)。flag2 不為1、2、0 中的任一個(gè)45 c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 cs0809 陶松橋133插入門診信息插入門診信息 menzhen *add3(danwei *d_head);該函數(shù)是在指定的門診后插入一個(gè)新的門診信息。同上,先找到指定的單位,然后找到指定的病歷,最后根據(jù)門診日期找到對應(yīng)的門診。如果門診信息鏈未建立,則直接輸入第一個(gè)門診信息,如果已經(jīng)建立,則在指定位置插入門診信息。運(yùn)行效果如下: 刪除信息刪除信息1刪除單位信息刪除單位信息 danwei *del1
22、(danwei *d_head);本函數(shù)是刪除指定的一個(gè)單位信息。找到該單位后,先釋放該單位下單位下的病歷和門診鏈,然后判斷刪除的單位是否是單位信息鏈的頭部,如果是就將頭指針指向下一個(gè)單位,如果不是,將前一個(gè)單位指向后一個(gè)單位,最后釋放所要?jiǎng)h除的單位。運(yùn)行結(jié)果: c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 cs0809 陶松橋142刪除病歷信息刪除病歷信息 bingli *del2(danwei *d_head);本函數(shù)的功能是刪除指定的一條病歷信息。同前首先找出該病歷,然后釋放該病歷的門診信息鏈,然后再判斷該病歷是否是鏈表的頭部,同前做出相應(yīng)的操作。運(yùn)行結(jié)果:3刪除門診信息刪除門診信息 menzhen *de
23、l3(danwei *d_head); 本函數(shù)的功能是刪除指定的一條門診信息。同前首先找出該門診,然后通過判斷該門診是不是頭結(jié)點(diǎn)做出相應(yīng)的操作,最后釋放該節(jié)點(diǎn)。運(yùn)行結(jié)果: 查詢信息查詢信息1查詢單位信息查詢單位信息 void danweiinfo_inq(danwei *d_head); 該函數(shù)是為了查找某一個(gè)單位的基本信息,用戶首先輸入要查找的單位編號,然后找到后系統(tǒng)輸出所要查找的單位信息。 運(yùn)行結(jié)果如下:2查詢病歷信息查詢病歷信息 void bingliinfo_inq(danwei *d_head);該函數(shù)是為了查找并顯示某一個(gè)病歷的基本信息,通過單位編號及病歷編號找出該病歷,然后將病歷
24、信息依次顯示。運(yùn)行結(jié)果如下: c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 cs0809 陶松橋153查詢門診信息查詢門診信息 void menzheninfo_inq(danwei *d_head);同前該函數(shù)的作用是查找某一門診并顯示該門診信息,依次通過單位編號、病歷編號、門診日期找到該門診,然后將其詳細(xì)信息輸出。運(yùn)行結(jié)果如下: 統(tǒng)計(jì)信息統(tǒng)計(jì)信息1統(tǒng)計(jì)一年中各月的門診量統(tǒng)計(jì)一年中各月的門診量 void cal1(danwei *d_head); 該函數(shù)的功能是統(tǒng)計(jì)一年中各月的門診量,并且按照降序排序后輸出。該函數(shù)首先定義一個(gè)二維整型數(shù)組 m122,每行第一個(gè)位置存取月份,第二個(gè)位置存放該月門診量,定義字符數(shù)組
25、 b3,用于中間月份的轉(zhuǎn)化。然后遍歷鏈表,將門診月份的那兩位字符存取到 b中,然后利用 atoi 函數(shù)將其轉(zhuǎn)化為整型,那么則將 m 中對應(yīng)的月份的門診量加一,循環(huán)直至遍歷所有門診。然后利用冒泡排序法對二維整型數(shù)組進(jìn)行降序排序,排序時(shí)大小比較按照第二列,但整行要互換。最后將排序后的結(jié)果按順序輸出。運(yùn)行結(jié)果如下: c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 cs0809 陶松橋162統(tǒng)計(jì)各單位員工的總門診量統(tǒng)計(jì)各單位員工的總門診量 void cal2(danwei *d_head); 該函數(shù)的功能是統(tǒng)計(jì)各單位員工的總門診量,并且按照降序排序后輸出顯示。該函數(shù)首先定義一個(gè)存儲(chǔ)單位員工總門診量的結(jié)構(gòu) m_list,該結(jié)
26、構(gòu)中包括單位編號、單位名稱、總門診量及指向下一個(gè)單位的指針。然后遍歷單位鏈表,同時(shí)創(chuàng)建統(tǒng)計(jì)門診量的鏈表,將單位信息拷貝到新建結(jié)構(gòu)中,然后遍歷該單位各病歷的門診,統(tǒng)計(jì)門診量并存儲(chǔ)到新建結(jié)構(gòu)中。然后對 m_list 鏈表進(jìn)行降序排列,排列時(shí)采用的是交換節(jié)點(diǎn)的方法。最后將排序后的各單位門診量按從大到小順序依次輸出。 運(yùn)行結(jié)果如下:3列出從未門診的員工基本信息列出從未門診的員工基本信息 void cal3(danwei *d_head); 該函數(shù)的功能是列出從未門診的員工的基本信息,即找出門診鏈為空的病歷,并將其信息輸出。該函數(shù)首先遍歷鏈表,找出門診鏈為空的病歷,然后將其信息輸出,每當(dāng)顯示完兩條病歷信
27、息時(shí),提示用戶按任意鍵進(jìn)入下一頁,則將在原有窗口基礎(chǔ)上新建一個(gè)同樣大小的窗口繼續(xù)輸出未門診病歷信息,相當(dāng)于翻頁。最后提示信息輸出完畢,可以輸出從未門診的員工的個(gè)數(shù),按任意鍵退出該函數(shù)。 c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 cs0809 陶松橋17 運(yùn)行效果如下:四、心得體會(huì)四、心得體會(huì)這是我進(jìn)入大學(xué)以來的第一次大型的并且與專業(yè)相關(guān)的作業(yè),完成它我前后花費(fèi)將近兩個(gè)月的時(shí)間,雖然付出了很大的精力,但很值得,收獲頗豐。 第一次接到這樣的作業(yè),剛開始非常迷茫,感到無從下手。雖然很努力地學(xué)習(xí)了一個(gè)學(xué)期的 c 語言,但真到學(xué)以致用之時(shí)卻力不從心?;氐郊椅也]有立即去做課設(shè),而是又仔細(xì)地將 c 語言課本從頭到尾又看了
28、一遍,尤其是仔細(xì)地看了指針和文件的內(nèi)容,因?yàn)閷W(xué)的時(shí)候不是太清楚。然后又大概將譚浩強(qiáng)的 c 語言程序設(shè)計(jì)瀏覽了一遍,感覺對 c 語言有了更深的理解。接著拿起放假前買的那本 c 語言課程設(shè)計(jì)看起來,但我發(fā)現(xiàn)這本書里介紹的都是一些很簡單的小型程序的設(shè)計(jì),例如通訊錄,但還是只有很少的功能。但學(xué)習(xí)都是由易到難的,因此我就先學(xué)習(xí)了一下這本書里的內(nèi)容,如統(tǒng)計(jì)工資、職工檔案及簡明信息的生成、鏈表信息管理、學(xué)生成績管理系統(tǒng)等。在學(xué)習(xí)中,我更加體會(huì)到 c 語言的偉大之處,并且對結(jié)構(gòu)和鏈表有了進(jìn)一步的理解。 c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 cs0809 陶松橋18正式開始做這次課設(shè)大概是 8 月 19 日,這次我又仔細(xì)地
29、讀了一下 c 語言課程設(shè)計(jì)任務(wù)書。第一個(gè)出現(xiàn)在我面前的問題是采用簡易菜單還是文本菜單的形式,這也是決定代碼簡單還是復(fù)雜的問題。由于對文本菜單充滿好奇,并且想自我挑戰(zhàn)一下,我決定采用文本菜單的形式。然后查詢了一些書籍和網(wǎng)站,對 turboc 的圖形菜單有了一定得了解。然后我就開始規(guī)劃我的系統(tǒng)模塊,考慮到時(shí)間問題和老師的要求及系統(tǒng)的實(shí)用性,我將整個(gè)程序分成了七大模塊、24 個(gè)函數(shù)。由于我使用的是 vista 系統(tǒng),turoc2.0 無法使用,經(jīng)朋友推薦我選擇了 wintc 編譯軟件,該軟件有兩大優(yōu)點(diǎn):1.在 windows 下編輯 tc 代碼,可以充分利用 windows 的支持剪貼版和中文的特點(diǎn)
30、 2.include 和 lib 路徑自動(dòng)定位,告別 tc 設(shè)置路徑的歷史。選擇好了編譯系統(tǒng),然后就是設(shè)計(jì)函數(shù)了。由于是文本菜單,自然要有一個(gè)函數(shù)來接收鍵盤的按鍵值。通過查詢網(wǎng)絡(luò),并查閱匯編語言的一些相關(guān)知識,最后終于把函數(shù)搞出來??墒沁\(yùn)行的時(shí)候敲擊回車鍵無反應(yīng),可我回車鍵的編碼沒搞錯(cuò)呀,經(jīng)過再三審查,原來是我沒有弄清楚掃描碼與擴(kuò)展碼之間的關(guān)系。將回車鍵的鍵碼修改以后,程序立即按找預(yù)期效果運(yùn)行,心中成就感油然而生。在確定結(jié)構(gòu)時(shí),我也多次修改三個(gè)結(jié)構(gòu)里的內(nèi)容,以便某些函數(shù)例如查詢修改函數(shù)的需要。鏈表的基本操作例如創(chuàng)建修改插入刪除功能已經(jīng)學(xué)過,自然寫得很快,但其間也出現(xiàn)不少問題,主要還是回車鍵的處
31、理問題。由于函數(shù)中大部分變量為字符串,那么接收數(shù)據(jù)時(shí)很容易忽略回車鍵,經(jīng)過仔細(xì)的反復(fù)修改,程序終于調(diào)試運(yùn)行成功。在寫查詢函數(shù)時(shí)也是很輕松的。但是在寫統(tǒng)計(jì)函數(shù)時(shí),又遇見了不少問題。例如排列月份的門診量,我最先想到的是用結(jié)構(gòu),但過于復(fù)雜,我最終選擇使用二維整型數(shù)組,利用循環(huán)將各月門診量統(tǒng)計(jì),然后利用冒泡排序法進(jìn)行輸出。在統(tǒng)計(jì)各單位門診量時(shí),由于變量類型不一致,我決定使用結(jié)構(gòu),最終通過排列結(jié)構(gòu)也順利實(shí)現(xiàn)函數(shù)功能。然后面臨的一個(gè)問題是函數(shù)輸出的美觀性問題,例如在顯示全部信息時(shí)犯了難。由于信息較多,無法一次數(shù)完,然后想著建立三個(gè)窗口分別輸出各個(gè)結(jié)構(gòu)的內(nèi)容,而且要按照輸完一個(gè)單位的全部信息后在輸出其他單位
32、,輸完一個(gè)病歷的所有信息后再輸出其他病歷的信息的原則,這樣我就要按順序清屏和輸出信息,并且要提示用戶換頁。這個(gè)問題解決了,統(tǒng)計(jì)未門診病歷的信息時(shí)也按照相似方法得到了解決。然后我不斷調(diào)節(jié)系統(tǒng)的美觀性,如換行的控制,屏幕背景顏色的調(diào)節(jié)以及字體顏色的調(diào)節(jié)。另外,我也為系統(tǒng)增添了一些附加功能,如在歡迎界面里我利用課本介紹的 dos 庫函數(shù)調(diào)用了系統(tǒng)的時(shí)間。當(dāng)然,該系統(tǒng)還有很多缺點(diǎn),例如由于使用的是 wintc 編譯系統(tǒng),自身不能識別中文的輸入與輸出,我只好在整個(gè)程序中使用英文,在這個(gè)方面金山詞霸幫了我不少忙。一個(gè)大型的程序要考慮的問題是很多的,并且對用戶每次輸入的數(shù)據(jù)要有全面的考慮,因此,在程序中要始
33、終從用戶的角度考慮系統(tǒng)的完善性。這就要求考慮問題要全面,自然也增加對用戶的引內(nèi)容及代碼的長度。通過這次課設(shè),我認(rèn)為自身得到了很大提高。我變得更加細(xì)心認(rèn)真,考慮問題更加全面,解決一個(gè)大問題更加有針對性和步驟性,并且能把問模塊化,步步為營,最終順利完成任務(wù),體會(huì)到成功的喜悅。因此,我要感謝老師給予我們一次鍛煉自己的機(jī)會(huì),讓我們能在完成作業(yè)中更加靈活的使用所學(xué)知識,讓我們能在解決問題中不斷提高自身做事和做人的能力。五、源代碼及注釋五、源代碼及注釋#include /*輸入/輸出函數(shù)*/#include /*一般的使用函數(shù)*/#include /*進(jìn)程處理函數(shù)*/#include /*調(diào)用 dos 庫
34、中時(shí)間函數(shù)*/ c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 cs0809 陶松橋19#include#include /*圖形函數(shù)*/#include /*字符串函數(shù)*/#include /*內(nèi)存操作函數(shù)*/#include /*字符操作函數(shù)*/#include /*動(dòng)態(tài)地址分配函數(shù)*/#define key_down 80 /* 向下箭頭鍵 */#define key_up 72 /* 向上箭頭鍵 */#define key_esc 1 /* esc 鍵 */#define key_alt_x 45 /* alt + x */#define key_enter 28 /* enter */#define ke
35、y_alt_f 33 /* alt + f*/#define key_alt_r 19 /*alt+r*/#define key_alt_m 50 /*alt+m*/#define key_alt_a 30 /*alt+a*/#define key_alt_d 32 /*al+d*/#define key_alt_i 23 /*alt+i*/#define key_alt_c 46 /*alt+c*/#define key_alt_h 35/*alt+h*/*定義存儲(chǔ)單位基本信息的結(jié)構(gòu)*/typedef struct danwei char dd_num10; /*單位編號*/ char d_
36、name30; /*單位名稱*/ char d_person20; /*單位負(fù)責(zé)人*/ char d_tel12; /*聯(lián)系電話*/ struct danwei *next; /*指向下一個(gè)單位結(jié)點(diǎn)*/ struct bingli *b_head; /*指向病歷信息鏈表頭指針*/danwei;/*定義存儲(chǔ)病歷基本信息的結(jié)構(gòu)*/typedef struct bingli char bb_num10; /*病歷編號*/ char name10; /*姓名*/ char sex; /*性別*/ char bd_name30 ; /*所在單位*/ char bd_num10; /*所在單位編號*/ c
37、har birthday11; /*出生日期*/ char history30; /*藥物過敏史*/ char tel12; /*電話*/ char add30; /*住址*/ c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 cs0809 陶松橋20 struct bingli *next; /*指向下一個(gè)病歷結(jié)點(diǎn)*/ struct menzhen *m_head;/*指向門診信息鏈表頭指針*/bingli;/*定義存儲(chǔ)門診基本信息的結(jié)構(gòu)*/typedef struct menzhen char mb_num10; /*病歷編號*/ char md_num10; /*所在單位編號*/ char kebie10; /
38、*科別*/ char time11; /*門診時(shí)間*/ char zs30; /*主訴*/ char zd30; /*初步診斷*/ char yj30; /*治療意見*/ char doctor10; /*醫(yī)師姓名*/ struct menzhen* next; /*指向下一門診信息結(jié)點(diǎn)*/menzhen;/*函數(shù)聲明*/void welcome(void); /*歡迎界面*/int get_key(); /*讀取鍵入值函數(shù)*/void box(int startx,int starty,int high,int width); /*畫邊框函數(shù)*/void load(danwei* d_hea
39、d); /*讀入鏈表*/void save(danwei* d_head); /*保存鏈表*/void show(danwei* d_head); /*顯示所有信息*/danwei *create1(void); /*單位基本信息錄入函數(shù)*/bingli *create2(danwei *); /*病歷基本信息錄入函數(shù)*/menzhen *create3(danwei *); /*門診信息錄入函數(shù)*/void modify1(danwei *); /*單位基本信息修改函數(shù)*/void modify2(danwei *); /*病歷基本信息修改函數(shù)*/void modify3(danwei *)
40、; /*門診修改函數(shù)*/danwei *add1(danwei *); /*插入一條單位基本信息函數(shù)*/bingli *add2(danwei *); /*插入一條病歷基本信息函數(shù)*/menzhen *add3(danwei *); /*插入一條門診信息函數(shù)*/danwei *del1(danwei *); /*刪除一條單位基本信息函數(shù)*/bingli *del2(danwei *); /*刪除一條病歷基本信息函數(shù)*/menzhen *del3(danwei *); /*刪除一條門診信息函數(shù)*/void danweiinfo_inq(danwei* d_head);/*查詢某一單位基本信息*/
41、 c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 cs0809 陶松橋21void bingliinfo_inq(danwei* d_head);/*查詢某一病歷基本信息*/void menzheninfo_inq(danwei* d_head);/*查詢某一門診基本信息*/void cal1(danwei*); /*統(tǒng)計(jì)一年中各月的門診量,并按降序排序后輸出*/void cal2(danwei*); /*統(tǒng)計(jì)各單位員工的總門診量,并按降序排序后輸出*/void cal3(danwei*); /*列出從未門診的員工基本信息*/*各個(gè)下拉菜單中要打出的內(nèi)容*/char *menu=file,read-in,modif
42、y,add-in,delete,inquiry,calculation,help;char *red=f,r,m,a,d,i,c,h;char *f=load file, save file,show info, quit alt_x ;char *r=danwei info,bingli info,menzhen info;char *m=danwei info,bingl info,menzhen info;char *a=danwei info,bingl info,menzhen info;char *d=danwei info,bingl info,menzhen info;char
43、 *i=danwei info,bingl info,menzhen info;char *c=geyue menzhen,gedanwei menzhen,weimenzhen info;char *h=file,read-in,modify,add-in,delete,inquiry,calculation,about;char buf18*10*2,buf117*2;void main() danwei*d_head=null; int i,key,x,y,l; textbackground(black); clrscr(); welcome(); clrscr(); while(1)
44、/*設(shè)置屏幕背景顏色,并清除屏幕*/ textbackground(lightgreen); clrscr(); /*創(chuàng)建窗口用于顯示菜單欄*/ window(1,1,80,1); /*設(shè)置文本屬性:白底黑字*/ textbackground(white);/*白色背景*/ textcolor(black);/*黑色字體*/ clrscr();/*清屏*/ window(1,1,80,1); clrscr();/*清屏*/ /*顯示菜單*/ c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 cs0809 陶松橋22 for(i=0,l=0;i8;i+) /* 保存菜單第一個(gè)字母的位置,后面要用紅色再打一次菜單的第一個(gè)
45、字母 */ x=wherex(); /* 當(dāng)前光標(biāo) x 坐標(biāo) */ y=wherey(); /* 當(dāng)前光標(biāo) y 坐標(biāo) */ /* 打印輸出菜單 */ cprintf( %s,menui); l=strlen(menui); gotoxy(x,y); /* 用紅色輸出菜單的第一個(gè)字母 */ textcolor(red); cprintf( %s,redi); x=x+l+3; gotoxy(x,y); /* 將文本顏色修改為黑色 */ textcolor(black); x=0; key=0; while (bioskey(1)=0); /* 等待鍵盤輸入 */ /* 取得按鍵 */ key=g
46、et_key(); /*alt + x 退出程序*/ if(key=key_alt_x)exit(0); /*alt + f 顯示 file 下拉菜單*/ if(key=key_alt_f) /*設(shè)置文本屬性:黑底白字 */ textbackground(black); textcolor(white); /*打印輸出 file */ gotoxy(2,1); cprintf(%s,menu0); /*備份將要被 file 下拉菜單窗口覆蓋的區(qū)域到內(nèi)存 buf */ gettext(4,2,20,7,buf); /*創(chuàng)建 file 下拉菜單窗口 */ window(4,2,19,7); /*設(shè)
47、置文本屬性:白底黑字 */ textbackground(white); textcolor(black); clrscr(); /* 畫邊框 */ c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 cs0809 陶松橋23 window(4,2,20,7); box(1,1,6,16); /* 打印輸出下拉菜單 */ for(i=2; i6;i+) gotoxy(2,i); cprintf(%s,fi-2); /* 備份下拉菜單的第一項(xiàng)到內(nèi)存 bufl,然后用 黑底白字(表示選中) 打印輸出第一項(xiàng) */ gettext(5,3,20,3,buf1); textbackground(black); textcolor
48、(white); gotoxy(2,2); cprintf(%s,f0); /* 處理按鍵 */ y=2; key=get_key(); while(key!=key_alt_x&key!=key_enter&key!=key_esc) /* 上下鍵 */ /* 用內(nèi)存 buf1 恢復(fù)當(dāng)前菜單項(xiàng),并備份將要被選中的菜單項(xiàng)到 buf1,然后用 黑底白字 打印輸出將要被選中的菜單項(xiàng) */ if(key=key_up|key=key_down) puttext(5,y+1,20,y+1,buf1); /* 恢復(fù)之前 黑底白字的項(xiàng) 到 白底黑字*/ if(key=key_up) y=y=2? 5:y-
49、1; /* 如果往上,到了最上面跳到最下面 */ if(key=key_down) y=y=5? 2:y+1; /* 如果往下,到了最下面跳到最上面 */ gettext(5,y+1,18,y+1,buf1); /* 備份當(dāng)前項(xiàng)(白底黑字) */ textbackground(black); /* 以下 4 行,用 黑底白字(表示選中) 打印輸出 當(dāng)前項(xiàng) */ textcolor(white); gotoxy(2,y); cprintf(%s,fy-2); key=get_key(); /* 等待鍵盤輸入 */ c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 cs0809 陶松橋24 /* alt + x 退出 *
50、/ if(key=key_alt_x) exit(0); /* enter */ if(key=key_enter) /* 下拉菜單處理 */ switch(y-1) case 1:puttext(4,2,20,7,buf);/*恢復(fù)屏幕顯示*/ puttext(5,y+1,18,y+1,buf1); /* 恢復(fù)之前 黑底白字的項(xiàng) 到 白底黑字*/ window(1,2,80,25); /*在整個(gè)屏幕上建一個(gè)窗口*/ textbackground(blue); textcolor(yellow); clrscr(); load(&d_head); /*load 文件*/ break; case
51、 2:puttext(4,2,20,7,buf);/*恢復(fù)屏幕顯示*/ puttext(5,y+1,18,y+1,buf1); /*恢復(fù)之前 黑底白字的項(xiàng) 到 白底黑字*/ window(1,2,80,25); /*在整個(gè)屏幕上建一個(gè)窗口*/ textbackground(blue); textcolor(yellow); clrscr(); save(d_head); /*save 文件*/ break; case 3:puttext(4,2,20,7,buf); /*恢復(fù)屏幕顯示*/ puttext(5,y+1,18,y+1,buf1); /*恢復(fù)之前 黑底白字的項(xiàng) 到 白底黑字*/ wi
52、ndow(1,2,80,25); /*在整個(gè)屏幕上建一個(gè)窗口*/ textbackground(blue); textcolor(yellow); clrscr(); show(d_head); /*輸出所有信息的報(bào)表*/ break; case 4:exit(0); default: break; c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 cs0809 陶松橋25 /* esc -關(guān)閉下拉菜單,恢復(fù)屏幕顯示 */ else window(1,1,80,2); puttext(4,2,20,7,buf); textbackground(white); textcolor(black); gotoxy(2,1)
53、; cprintf(%s,menu0); /*alt+r 顯示 read-in 下拉菜單*/ if(key=key_alt_r) window(1,1,80,1); /*設(shè)置文本屬性:黑底白字 */ textbackground(black); textcolor(white); /*打印輸出 read-in */ gotoxy(9,1); cprintf(%s,menu1); /*備份將要被 read-in 下拉菜單窗口覆蓋的區(qū)域到內(nèi)存 buf */ gettext(11,2,27,6,buf); /*創(chuàng)建 file 下拉菜單窗口 */ window(11,2,27,6); /*設(shè)置文本屬性
54、:白底黑字 */ textbackground(white); textcolor(black); clrscr(); /* 畫邊框 */ window(11,2,28,6); box(1,1,5,17); /* 打印輸出下拉菜單 */ for(i=2; i5;i+) gotoxy(2,i); cprintf(%s,ri-2); c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 cs0809 陶松橋26 /* 備份下拉菜單的第一項(xiàng)到內(nèi)存 bufl,然后用 黑底白字(表示選中) 打印輸出第一項(xiàng) */ gettext(12,3,27,3,buf1); textbackground(black); textcolor(wh
55、ite); gotoxy(2,2); cprintf(%s,r0); /* 處理按鍵 */ y=2; key=get_key(); /*讀取鍵入的值*/ while(key!=key_alt_x&key!=key_enter&key!=key_esc) /* 上下鍵 */ /* 用內(nèi)存 buf1 恢復(fù)當(dāng)前菜單項(xiàng),并備份將要被選中的菜單項(xiàng)到 buf1,然后用 黑底白字 打印輸出將要被選中的菜單項(xiàng) */ if(key=key_up|key=key_down) puttext(12,y+1,27,y+1,buf1); /* 恢復(fù)之前黑底白字的項(xiàng) 到 白底黑字*/ if(key=key_up) y=y
56、=2? 4:y-1; /* 如果往上,到了最上面跳到最下面 */ if(key=key_down) y=y=4? 2:y+1; /* 如果往下,到了最下面跳到最上面 */ gettext(12,y+1,27,y+1,buf1); /* 備份當(dāng)前項(xiàng)(白底黑字) */ textbackground(black); /* 以下 4 行,用 黑底白字(表示選中) 打印輸出 當(dāng)前項(xiàng) */ textcolor(white); gotoxy(2,y); cprintf(%s,ry-2); key=get_key(); /* 等待鍵盤輸入 */ /* alt + x 退出 */ if(key=key_alt_
57、x) exit(0); /* enter */ if(key=key_enter) c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 cs0809 陶松橋27 /* 下拉菜單處理 */ switch(y-1) case 1: puttext(11,2,27,6,buf);/*恢復(fù)屏幕顯示*/ puttext(12,y+1,27,y+1,buf1); /* 恢復(fù)之前 黑底白字的項(xiàng) 到 白底黑字*/ window(1,2,80,25); textbackground(blue); textcolor(yellow); clrscr(); d_head=create1(); /*錄入單位基本信息*/ break; case
58、 2: puttext(11,2,27,6,buf); /*恢復(fù)屏幕顯示*/ puttext(12,y+1,27,y+1,buf1); /* 恢復(fù)之前 黑底白字的項(xiàng) 到 白底黑字*/ window(1,2,80,25); textbackground(blue); textcolor(yellow); clrscr(); create2(d_head); /*錄入病歷基本信息*/ break; case 3: puttext(11,2,27,6,buf); /*恢復(fù)屏幕顯示*/ puttext(12,y+1,27,y+1,buf1); window(1,2,80,25); textbackgr
59、ound(blue); textcolor(yellow); clrscr(); create3(d_head); /*錄入門診基本信息*/ break; default: break; /* esc -關(guān)閉下拉菜單,恢復(fù)屏幕顯示 */ else window(1,1,80,2); puttext(11,2,27,7,buf); textbackground(white); textcolor(black); gotoxy(2,1); cprintf(%s,menu1); c 語言課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 cs0809 陶松橋28 /*alt+m 顯示 modify 下拉菜單*/ if(key=key
60、_alt_m) window(1,1,80,1); /*設(shè)置文本屬性:黑底白字 */ textbackground(black); textcolor(white); /*打印輸出 modify*/ gotoxy(19,1); cprintf(%s,menu2); /*備份將要被 modify 下拉菜單窗口覆蓋的區(qū)域到內(nèi)存 buf */ gettext(21,2,37,6,buf); /*創(chuàng)建 modify 下拉菜單窗口 */ window(21,2,37,6); /*設(shè)置文本屬性:白底黑字 */ textbackground(white); textcolor(black); clrscr(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 水上滑梯市場環(huán)境與對策分析
- 模型汽車相關(guān)項(xiàng)目實(shí)施方案
- 空間活動(dòng)課程設(shè)計(jì)
- 服裝綬帶市場環(huán)境與對策分析
- 沙灘帽市場環(huán)境與對策分析
- 屏風(fēng)家具相關(guān)項(xiàng)目建議書
- 毛筆字帖項(xiàng)目評價(jià)分析報(bào)告
- 公司、項(xiàng)目部、各個(gè)班組安全培訓(xùn)試題及參考答案(滿分必刷)
- 新進(jìn)廠職工安全培訓(xùn)試題帶答案(綜合題)
- 新員工入職前安全培訓(xùn)試題附完整答案(必刷)
- MOOC 國際商務(wù)-暨南大學(xué) 中國大學(xué)慕課答案
- “結(jié)構(gòu)化教學(xué)”視域下的小學(xué)數(shù)學(xué)復(fù)習(xí)課設(shè)計(jì) 論文
- 《誰是最可愛的人-魏巍作業(yè)設(shè)計(jì)方案-2023-2024學(xué)年初中語文統(tǒng)編版》
- 2023-2024學(xué)年教科版五年級上學(xué)期科學(xué)期中學(xué)情調(diào)研試卷(含答案)
- 國家開放大學(xué)2024年《知識產(chǎn)權(quán)法》形考任務(wù)1-4答案
- 【含多場景】為了孩子離婚不離家的協(xié)議書
- 《麗江寧蒗》課件
- 第一單元 負(fù)數(shù)(單元作業(yè)設(shè)計(jì))六年級下冊數(shù)學(xué) 人教版
- 2023年10月自考00055企業(yè)會(huì)計(jì)學(xué)試題及答案
- 頸椎病的治療
- 人教版數(shù)學(xué)三年級上冊《1-4單元綜合復(fù)習(xí)》試題
評論
0/150
提交評論