




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、內(nèi)蒙古科技大學(xué)本科生課程設(shè)計(jì)說明書題 目:C語言課程設(shè)計(jì) 學(xué)生成績管理系統(tǒng)學(xué)生姓名:郭*學(xué) 號:1567111215專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班 級:計(jì)科-2指導(dǎo)教師:劉立新日 期:2015年 12月25日內(nèi)蒙古科技大學(xué)課程設(shè)計(jì)任務(wù)書課程名稱C語言課程設(shè)計(jì)設(shè)計(jì)題目學(xué)生成績管理系統(tǒng)指導(dǎo)教師劉立新時間一、教學(xué)要求1. 鞏固和加深學(xué)生對C語言課程的基本知識的理解和掌握2. 掌握C語言編程和程序調(diào)試的基本技能3. 利用C語言進(jìn)行基本的軟件設(shè)計(jì)4. 掌握書寫程序設(shè)計(jì)說明文檔的能力5. 提高運(yùn)用C語言解決實(shí)際問題的能力二、設(shè)計(jì)資料及參數(shù)每個學(xué)生在教師提供的課程設(shè)計(jì)題目中任意選擇一題,獨(dú)立完成,題目選定后不可
2、更換。某班學(xué)生成績管理,包括以下功能:v 從鍵盤輸入包括學(xué)號、姓名、各門課程成績(不少于5門),并將其保存在磁盤文件里v 打開文件后,計(jì)算每個人的總分和平均分,排序并保存v 具有單項(xiàng)查詢或多項(xiàng)查詢的功能(即按照給定的關(guān)鍵字,如姓名找出滿足條件的紀(jì)錄)v 具有插入、刪除和修改功能v 具有輸出文件數(shù)據(jù)信息的功能三、設(shè)計(jì)要求及成果1. 分析課程設(shè)計(jì)題目的功能需求(可選用數(shù)組或鏈表實(shí)現(xiàn),可多人(最多3人)協(xié)作完成一個題目)2. 寫出詳細(xì)設(shè)計(jì)說明(至少包括功能實(shí)現(xiàn)分析和模塊流程圖)3. 編寫程序代碼,調(diào)試程序使其能正確運(yùn)行(代碼書寫要規(guī)范,標(biāo)示符要見名知意,要有必要的注釋,每人至少500行代碼,不包括注
3、釋和花括號)4. 設(shè)計(jì)完成的軟件要便于操作和使用5. 設(shè)計(jì)完成后提交課程設(shè)計(jì)報告(請嚴(yán)格按照模板進(jìn)行排版)四、進(jìn)度安排第一天 選擇課程設(shè)計(jì)題目,分析課題的要求第二天 編程第三天 編程及調(diào)試第四天 寫課程設(shè)計(jì)報告第五天 提交課程設(shè)計(jì)報告(打印稿及電子稿)五、評分標(biāo)準(zhǔn)1. 根據(jù)平時上機(jī)考勤、表現(xiàn)和進(jìn)度,教師將每天點(diǎn)名和檢查2. 根據(jù)課程設(shè)計(jì)完成情況,必須有可運(yùn)行的軟件。3. 根據(jù)課程設(shè)計(jì)報告的質(zhì)量,如有雷同,則所有雷同的所有人均判為不及格。六、建議參考資料1C語言程序設(shè)計(jì),譚浩強(qiáng),清華大學(xué)出版社2C語言程序設(shè)計(jì)課程設(shè)計(jì),劉振安,機(jī)械工業(yè)出
4、版社目 錄內(nèi)蒙古科技大學(xué)課程設(shè)計(jì)任務(wù)書I第一章 需求分析31.1引言31.2任務(wù)概述31.3數(shù)據(jù)描述31.4功能需求31.5性能需求31.6運(yùn)行需求41.7任務(wù)計(jì)劃4第二章概要設(shè)計(jì)42.1總體設(shè)計(jì)42.2數(shù)據(jù)類型設(shè)計(jì)(或數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì))52.3接口設(shè)計(jì) /函數(shù)聲明52.4運(yùn)行界面設(shè)計(jì)6第三章詳細(xì)設(shè)計(jì)73.1輸入模塊設(shè)計(jì)73.2輸出模塊設(shè)計(jì)73.3查找模塊設(shè)計(jì)83.4排序模塊設(shè)計(jì)83.5保存及讀取模塊設(shè)計(jì)9第四章測試分析104.1測試程序執(zhí)行情況10第五章課程設(shè)計(jì)總結(jié)14附錄:程序代碼15參考文獻(xiàn)32致謝32第一章 需求分析1.1 引言因?qū)W校中學(xué)生信息龐大,復(fù)雜,為了方便教師們管理學(xué)生信息,特編寫
5、了一個學(xué)生成績管理系統(tǒng)。1.2 任務(wù)概述1. 目標(biāo)本學(xué)生成績管理系統(tǒng)主要是為學(xué)校里的老師提供一個管理學(xué)生信息的平臺。根據(jù)系統(tǒng)界面的提示信息對學(xué)生信息進(jìn)行添加、瀏覽、修改、保存等操作。 2.運(yùn)行環(huán)境Windows系統(tǒng)3. 用戶特點(diǎn)懂得一些基本的電腦操作即可。4. 條件限制計(jì)算機(jī)一臺1.3 數(shù)據(jù)描述系統(tǒng)的數(shù)據(jù)類型有:整型int,實(shí)型float,字符型char,結(jié)構(gòu)體struct;自己定義的數(shù)據(jù)類型有:STU;1.4 功能需求v 從鍵盤輸入包括學(xué)號、姓名、各門課程成績(不少于5門),并將其保存在磁盤文件里v 打開文件后,計(jì)算每個人的總分和平均分,排序并保存v 具有單項(xiàng)查詢或多項(xiàng)查詢的功能(即按照給定
6、的關(guān)鍵字,如姓名找出滿足條件的紀(jì)錄)v 具有插入、刪除和修改功能具有輸出文件數(shù)據(jù)信息的功能1.5 性能需求無1.6 運(yùn)行需求1. 硬件環(huán)境普通的計(jì)算機(jī)2. 軟件環(huán)境支持的操作系統(tǒng)包括windows98/xp及及以上版本1.7 任務(wù)計(jì)劃本系統(tǒng)共分為一個主頁面模塊(主函數(shù)部分),五個功能模塊(功能函數(shù))分別為增加學(xué)生成績信息、查看學(xué)生成績信息、修改學(xué)生成績信息、對學(xué)生信息進(jìn)行排序、退出。設(shè)計(jì)時要先寫好主函數(shù)、定義好全局變量和功能函數(shù),再對五個功能函數(shù)進(jìn)行設(shè)計(jì)。在每個功能函數(shù)和主函數(shù)應(yīng)加入控制條件使用戶可以隨時退出系統(tǒng),并在用戶輸入指令錯誤的時候給予提醒和退出選項(xiàng)。第二章 概要設(shè)計(jì)2.1 總體設(shè)計(jì)
7、程序運(yùn)行 退出 排序 修改 瀏覽 添加2.2 數(shù)據(jù)類型設(shè)計(jì)(或數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì))typedef struct student/定義結(jié)構(gòu)體 long ID;/學(xué)生學(xué)號 char nameMAX_LEN;/學(xué)生姓名 float scoreCOURSE_NUM;/學(xué)生成績 float sum;/總分 float aver;/平均分STU;對學(xué)生信息采用一個結(jié)構(gòu)體變量,使學(xué)生信息的管理更加靈活方便2.3 接口設(shè)計(jì) 函數(shù)名函數(shù)格式 /即函數(shù)首部函數(shù)功能menuint主菜單sum_stuint求和return_IDint通過學(xué)號返回數(shù)組下標(biāo)return_nameint通過姓名返回數(shù)組下標(biāo)Search_Name
8、void按姓名查找Search_IDvoid按學(xué)號查找scorefencevoid信息欄writefilevoid寫入文件readfromfilevoid讀出文件modifymenuvoid修改菜單modifyscorevoid修改成績delete_stuvoid刪除學(xué)生sortmenuvoid排序菜單sort_IDvoid按學(xué)號排序sort_scorevoid按成績排序sort_avervoid按平均分排序sort_sumvoid按總分排序readscorevoid讀取信息printscorevoid輸出信息searchmenuvoid搜索菜單2.4 運(yùn)行界面設(shè)計(jì) 首頁 查詢界面第三章 詳細(xì)
9、設(shè)計(jì)3.1 輸入模塊設(shè)計(jì) 開始輸入學(xué)生個數(shù)輸入學(xué)生信息 成功 返回菜單3.2 輸出模塊設(shè)計(jì) 開始 輸出信息 返回菜單3.3 查找模塊設(shè)計(jì) 開始 選擇查找方式 按姓名查找 按學(xué)號查找 學(xué)生信息返回菜單3.4排序模塊設(shè)計(jì) 開始 選擇排序方式按總分?jǐn)?shù)排序按成績排序按學(xué)號排序 學(xué)生信息3.5 保存及讀取模塊設(shè)計(jì)開始程序使用、修改信息保存創(chuàng)建或讀取文件退出程序第四章 測試分析4.1 測試程序執(zhí)行情況 主菜單 添加信息 查看學(xué)生信息 修改學(xué)生信息 查詢出錯 查詢結(jié)果 排序結(jié)果第五章 課程設(shè)計(jì)總結(jié)通過此次課程設(shè)計(jì),使我更加扎實(shí)的掌握了有關(guān)C語言方面的知識,在設(shè)計(jì)過程中雖然遇到了一些問題,但經(jīng)過一次又一次的思
10、考,一遍又一遍的檢查終于找出了原因所在,也暴露出了前期我在這方面的知識欠缺和經(jīng)驗(yàn)不足。實(shí)踐出真知,通過親自動手編寫,使我們掌握的知識不再是紙上談兵。過而能改,善莫大焉。在課程設(shè)計(jì)過程中,我們不斷發(fā)現(xiàn)錯誤,不斷改正,不斷領(lǐng)悟,不斷獲齲最終的檢測調(diào)試環(huán)節(jié),本身就是在踐行“過而能改,善莫大焉”的知行觀。這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多問題,最后在老師的指導(dǎo)下,終于游逆而解。在今后社會的發(fā)展和實(shí)踐過程中,一定要不懈努力,不能遇到問題就想到要退縮,一定要不厭其煩的發(fā)現(xiàn)問題所在,然后一一進(jìn)行解決,只有這樣,才能成功的做成想做的事,才能在今后的道路上劈荊斬棘,而不是知難而退,那樣永遠(yuǎn)不可能收獲
11、成功,收獲喜悅,也永遠(yuǎn)不可能得到社會及他人對你的認(rèn)可!附錄:程序代碼1. #include <stdio.h>2. #include <stdlib.h>3. #include <string.h>4. #include <windows.h>5. #define MAX_LEN 106. #define STU_NUM 307. #define COURSE_NUM 58. int num=0;9. typedef struct student/定義結(jié)構(gòu)體10. 11. long ID;12. char nameMAX_LEN;13. floa
12、t scoreCOURSE_NUM;14. float sum;15. float aver;16. STU;17. int menu(void);/主菜單18. int sum_stu(STU stu);/ 求和19. int return_ID(STU stu,long ID);/通過學(xué)號返回數(shù)組下標(biāo)20. int return_name(STU stu,char name);/通過姓名返回數(shù)組下標(biāo)21. void Search_Name(STU stu);/按姓名查找22. void Search_ID(STU stu);/按學(xué)號查找23. void scorefence();/信息欄2
13、4. void writefile(STU stu);/寫入文件25. void readfromfile(STU stu);/讀出文件26. void modifymenu(STU stu,int i);/修改菜單27. void modifyscore(STU stu,int i);/修改成績28. void delete_stu(STU stu,int i);/刪除學(xué)生29. void sortmenu(STU stu);/排序菜單30. void sort_ID(STU stu);/按學(xué)號排序31. void sort_score(STU stu,int m);/按成績排序32. vo
14、id sort_aver(STU stu);/按平均分排序33. void sort_sum(STU stu);/按總分排序34. void readscore(STU stu,int n);/ 讀取信息35. void printscore(STU stu,int n);/ 輸出信息36. void searchmenu(STU stu);/ 搜索菜單37. int main()38. 39. int n;40. char ch;41. STU stuSTU_NUM;42. readfromfile(stu);43. while (1)44. 45. ch = menu();46. swit
15、ch(ch)47. 48. case 1:49. system("cls");50. printf("n -添加學(xué)生信息-n");51. printf("輸入學(xué)生的個數(shù):n");52. scanf("%d",&n);53. readscore(stu,n);54. break;55. case 2:56. system("cls");57. printf("n -查看學(xué)生信息-nn");58. printscore(stu,num);59. break;60. cas
16、e 3:61. system("cls");62. printf("n-修改學(xué)生信息-n");63. searchmenu(stu);64. break;65. case 4:66. system("cls");67. printf("n-排序-n");68. sortmenu(stu);69. break;70. case 5:71. printf("程序結(jié)束!n");72. exit(0);73. default:74. printf("輸入錯誤!請重新輸入n");75.
17、 Sleep(1000);76. system("cls");77. 78. writefile(stu);79. 80. return 0;81. 82. int menu()/主菜單83. 84. int ch;85. printf("n - 學(xué)生成績管理系統(tǒng)-n");86. printf(" 1. 增加學(xué)生成績信息n");87. printf(" 2. 查看學(xué)生成績信息n");88. printf(" 3. 修改學(xué)生成績信息n");89. printf(" 4. 對學(xué)生信息進(jìn)行排
18、序n");90. printf(" 5. 退出n");91. printf("n -n");92. printf("請選擇(1-5):");93. scanf("%d",&ch);94. return ch;95. 96. void readscore(STU stu,int n)/ 讀取信息97. 98. int j,a;99. a=num;100. printf("n");101. printf("輸入學(xué)生的學(xué)號、姓名、成績n");102. printf
19、("例如:1567111111 王小明 99 88 77 44 100n");103. printf("n");104. while(num<a+n)105. 106. scanf("%ld %s",&stunum.ID,);107. for(j=0;j<COURSE_NUM;j+)108. 109. scanf(" %f",&stunum.scorej);110. 111. stunum.sum=sum_stu(stu);112. stunum.aver=stun
20、um.sum/COURSE_NUM;113. num+;114. 115. getchar();116. if(num!=0)117. 118. printf("n添加完成!n");119. 120. else121. 122. printf("n添加失敗!n");123. 124. printf("回車返回主菜單n");125. getchar();126. system("cls");127. 128. void printscore(STU stu,int num)/ 輸出信息129. 130. int i,
21、j;131. scorefence();132. for(i=0;i<num;i+)133. 134. printf("%5d ",i+1);135. printf("%10ld%10s",stui.ID,);136. for(j=0;j<COURSE_NUM;j+)137. 138. printf("%9.2f",stui.scorej);139. 140. printf("%8.2f%8.2fn",stui.aver,stui.sum);141. 142. getchar();14
22、3. printf("n回車返回主菜單n");144. getchar();145. system("cls");146. 147. int sum_stu(STU stu)/ 求和148. 149. int i,sum;150. for(i=0;i<COURSE_NUM;i+)151. 152. sum=sum+stunum.scorei;153. 154. return sum;155. 156. void searchmenu(STU stu)/ 搜索菜單157. 158. int ch;159. printf(" 1.按學(xué)號查找n
23、");160. printf(" 2.按姓名查找n");161. printf("請選擇n");162. scanf("%d",&ch);163. if(ch=1)164. 165. Search_ID(stu);166. 167. else if(ch=2)168. 169. Search_Name(stu);170. 171. getchar();172. system("cls");173. 174. void Search_Name(STU stu)/按姓名查找175. 176. char
24、 search_nameMAX_LEN,ch;177. int i,j,a;178. while(1)179. 180. printf("輸入你要查找的姓名:n");181. scanf("%s",search_name);182. system("cls");183. i=return_name(stu,search_name);184. if(i=-1)185. 186. printf("學(xué)生不存在!n");187. 188. else189. 190. a=i;191. printf("你要查詢的學(xué)
25、生信息為:n");192. scorefence();193. printf("%5d %10ld%10s",i,stui.ID,);194. for(j=0;j<COURSE_NUM;j+)195. 196. printf("%9.2f",stui.scorej);197. 198. printf("%8.2f%8.2fn",stui.aver,stui.sum);199. modifymenu(stu,a);200. 201. printf("是否繼續(xù)?(y/n)");202.
26、 scanf(" %c",&ch);203. if(ch='n'|ch='N')204. 205. break;206. 207. 208. 209. void Search_ID(STU stu)/按學(xué)號查找210. 211. long search_ID;212. int i,j,a;213. char ch;214. while(1)215. 216. printf("輸入你要查找的學(xué)號:n");217. scanf("%ld",&search_ID);218. system(&q
27、uot;cls");219. i=return_ID(stu,search_ID);220. if(i=-1)221. 222. printf("學(xué)生不存在!n");223. 224. else225. 226. a=i;227. printf("你要查詢的學(xué)生信息為:n");228. scorefence();229. printf("%5d %10ld%10s",i,stui.ID,);230. for(j=0;j<COURSE_NUM;j+)231. 232. printf("%9.2
28、f",stui.scorej);233. 234. printf("%8.2f%8.2fn",stui.aver,stui.sum);235. modifymenu(stu,a);236. 237. printf("是否繼續(xù)?(y/n)");238. scanf(" %c",&ch);239. if(ch='n'|ch='N')240. 241. break;242. 243. 244. 245. void scorefence()/信息欄246. 247. int i;248. pr
29、intf("%6s%10s%10s","序號","學(xué)號","姓名");249. for(i=1;i<=COURSE_NUM;i+)250. 251. printf("%8s","成績");252. printf("%d",i);253. 254. printf("%8s%8sn","均分","總分");255. printf("-n");256. 257. void wr
30、itefile(STU stu)/寫入文件258. 259. FILE *fp;260. int i;261. if(fp=fopen("student.txt","wb")=NULL)262. 263. printf("不能打開文件!n");264. return ;265. 266. if (fwrite(&num,sizeof(int),1,fp)!=1)267. 268. printf("寫入文件錯誤!n");269. 270. for(i=0;i<num;i+)271. 272. if(fw
31、rite(&stui,sizeof(STU),1,fp)!=1)273. 274. printf("寫入文件錯誤!n");275. 276. 277. fclose(fp);278. 279. void readfromfile(STU stu)/讀出文件280. 281. FILE *fp;282. int i;283. if (fp=fopen("student.txt","rb")=NULL)284. 285. printf("不能打開文件!n");286. return;287. 288. if (
32、fread(&num,sizeof(int),1,fp)!=1)289. 290. num=-1;291. 292. else293. 294. for(i=0;i<num;i+)295. 296. fread(&stui,sizeof(STU),1,fp);297. 298. 299. fclose(fp);300. 301. void modifymenu(STU stu,int i)/修改菜單302. 303. int ch;304. printf("n");305. printf("1.修改學(xué)號n");306. printf
33、("2.修改姓名n");307. printf("3.修改成績n");308. printf("4.刪除n");309. scanf("%d",&ch);310. switch(ch)311. 312. case 1:313. printf("輸入新學(xué)號n");314. scanf("%ld",&stui.ID);315. break;316. case 2:317. printf("輸入新姓名n");318. scanf("%s
34、",);319. break;320. case 3:321. printf("輸入新成績n");322. modifyscore(stu,i);323. break;324. case 4:325. delete_stu(stu,i);326. break;327. default:328. printf("輸入錯誤!請重新輸入n");329. Sleep(1000);330. system("cls");331. 332. 333. void modifyscore(STU stu,int i)/修改成
35、績334. 335. int j;336. for(j=0;j<COURSE_NUM;j+)337. 338. scanf(" %f",&stui.scorej);339. 340. for(j=0,stui.sum=0;j<COURSE_NUM;j+)341. 342. stui.sum=stui.sum+stui.scorej;343. 344. stui.aver=stui.sum/COURSE_NUM;345. 346. void delete_stu(STU stu,int i)/刪除學(xué)生347. 348. for (i;i<num-1;
36、i+)349. 350. stui=stui+1;351. 352. num-;353. 354. void sortmenu(STU stu)/排序菜單355. 356. int ch;357. printf("選擇排序的方式n");358. printf("1.按學(xué)號排序n");359. printf("2.按科目1排序n");360. printf("3.按科目2排序n");361. printf("4.按科目3排序n");362. printf("5.按科目4排序n"
37、);363. printf("6.按科目5排序n");364. printf("7.按均分排序n");365. printf("8.按總分排序n");366. printf("請選擇:n");367. scanf("%d",&ch);368. switch(ch)369. 370. case 1:371. sort_ID(stu);372. system("cls");373. printscore(stu,num);374. break;375. case 2:37
38、6. sort_score(stu,0);377. system("cls");378. printscore(stu,num);379. break;380. case 3:381. sort_score(stu,1);382. system("cls");383. printscore(stu,num);384. break;385. case 4:386. sort_score(stu,2);387. system("cls");388. printscore(stu,num);389. break;390. case 5:39
39、1. sort_score(stu,3);392. system("cls");393. printscore(stu,num);394. break;395. case 6:396. sort_score(stu,4);397. system("cls");398. printscore(stu,num);399. break;400. case 7:401. sort_aver(stu);402. system("cls");403. printscore(stu,num);404. break;405. case 8:406. sort_sum(stu);407. system("cls");408. printscore(stu,num);409. break;410. 411. 412. void sort_
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度聯(lián)營股本借款合同全文
- 2025鋁合金門窗制作合同
- 2025商務(wù)合作合同模板
- 2025全新版委托維修合同
- 2025年簽訂股權(quán)轉(zhuǎn)讓合同的要點(diǎn)分析及合同范本
- 2025年上海房屋租賃合同范本
- 2025年:探討合同規(guī)范化管理對企業(yè)發(fā)展的長遠(yuǎn)意義
- 《危重患者的觀察要點(diǎn)》課件
- 《藝術(shù)史概述:唐宋元明清》課件
- 《供應(yīng)鏈管理》課件
- 2025年吉林省民航機(jī)場集團(tuán)長白山機(jī)場公司招聘筆試參考題庫附帶答案詳解
- 2025年江蘇省徐州市銅山區(qū)中考一模道德與法治試題(原卷版+解析版)
- 制造業(yè)自檢自控流程優(yōu)化計(jì)劃
- 《人工智能的進(jìn)展》課件
- 風(fēng)濕免疫病患者結(jié)核病診治及預(yù)防實(shí)踐指南(2025版)解讀課件
- 大建安-大連市建筑工程安全檔案編制指南
- 2025年湖南韶旅集團(tuán)招聘筆試參考題庫含答案解析
- 2024年全國統(tǒng)一高考英語試卷(新課標(biāo)Ⅰ卷)含答案
- 讀書分享讀書交流會《你當(dāng)像鳥飛往你的山》課件
- 新疆維吾爾自治區(qū)保障性住房建設(shè)標(biāo)準(zhǔn)(正文)
- T∕ACSC 01-2022 輔助生殖醫(yī)學(xué)中心建設(shè)標(biāo)準(zhǔn)(高清最新版)
評論
0/150
提交評論