




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
年4月19日C語言課程設計通訊錄管理系統(tǒng)文檔僅供參考***科技大學本科生課程設計說明書題目:C語言課程設計——通訊錄管理系統(tǒng)學生姓名:**學號:***專業(yè):軟件工程班級:1指導教師:**內蒙古科技大學課程設計任務書課程名稱C語言課程設計設計題目通訊錄管理系統(tǒng)指導教師***時間.12.31——.1.4一、教學要求1.鞏固和加深學生對C語言課程的基本知識的理解和掌握
2.掌握C語言編程和程序調試的基本技能
3.利用C語言進行基本的軟件設計
4.掌握書寫程序設計說明文檔的能力
5.提高運用C語言解決實際問題的能力二、設計資料及參數(shù)每個學生在教師提供的課程設計題目中任意選擇一題,獨立完成,題目選定后不可更換。通訊錄管理系統(tǒng)現(xiàn)有一批通訊錄的數(shù)椐,要求輸入計算機并存放在內存中,然后增加若干個新通訊錄的記錄,并可輸出通訊錄清單,實現(xiàn)文件存盤和讀入文件進行修改的功能。通訊錄的基本信息包括編號,姓名,電話號碼,QQ號碼,電子郵件,通訊地址。要求設計菜單來調用其各功能模塊:新建文件、打開文件、保存信息到文件輸入記錄、輸出記錄查詢記錄(至少具有兩種查詢方式,例如以姓名查詢和以電話號碼查詢)修改、插入和刪除記錄三、設計要求及成果1.分析課程設計題目的功能需求(可選用數(shù)組或鏈表實現(xiàn),可多人(最多3人)協(xié)作完成一個題目)
2.寫出詳細設計說明(至少包括功能實現(xiàn)分析和模塊流程圖)
3.編寫程序代碼,調試程序使其能正確運行(代碼書寫要規(guī)范,標示符要見名知意,要有必要的注釋,每人至少3個函數(shù),每人至少200行代碼,不包括注釋和花括號)
4.設計完成的軟件要便于操作和使用
5.設計完成后提交課程設計報告(請嚴格按照模板進行排版)四、進度安排第一天
選擇課程設計題目,分析課題的要求
第二天
編程
第三天
編程及調試
第四天
寫課程設計報告
第五天
提交課程設計報告(打印稿及電子稿)五、評分標準1.根據平時上機考勤、表現(xiàn)和進度,教師將每天點名和檢查2.根據課程設計完成情況,必須有可運行的軟件。
3.根據課程設計報告的質量,如有雷同,則所有雷同的所有人均判為不及格。六、建議參考資料1.《C語言程序設計》,譚浩強,清華大學出版社2.《C語言程序設計課程設計》,劉振安,機械工業(yè)出版社。目錄內蒙古科技大學課程設計任務書 I目錄 III第一章需求分析 31.1 引言 31.2 任務概述 31.3 數(shù)據描述 31.4 功能需求 31.5 性能需求 41.6 運行需求 41.7 任務計劃 4第二章 概要設計 112.1 總體設計 112.2 數(shù)據類型設計(或數(shù)據結構設計) 112.3 接口設計 122.4 運行界面設計 12第三章 詳細設計 173.1 輸入模塊設計 173.2 輸出模塊設計 183.3 查找模塊設計 193.4 刪除模塊設計 243.5 保存及讀取模塊設計 25第四章 測試分析 374.1 測試程序執(zhí)行情況 374.2 出現(xiàn)的問題和解決的方法 54第五章 課程設計總結 56附錄:程序代碼 57參考文獻 86致謝 87第一章需求分析引言經過程序設計,達到理論與實際應用相結合,提高對信息管理系統(tǒng)的分析能力,能夠根據實際應用,初步實現(xiàn)系統(tǒng)功能模塊及算法的設計,經過編程基本實現(xiàn)信息管理系統(tǒng)。任務概述采用結構體的形式對數(shù)據進行輸入輸出。能夠對通訊錄進行簡單的排序,篩選,刪除。能夠對任意信息就行修改。能夠把數(shù)據已文件的形式輸入輸出。任意瀏覽信息。數(shù)據描述以所示的文本數(shù)據位初始數(shù)據進行簡單操作,也可另行添加。功能需求實現(xiàn)以上功能需求。性能需求能夠進行簡單的數(shù)據處理。具有對新信息處理打印打能力。運行需求輸入個人信息時以例如按照“編號、姓名、年齡、電話號碼、通訊地址、電子郵箱”的順序輸入。輸入時編號年齡、電話號碼、通訊地址、電子郵箱以數(shù)字格式輸入,輸入姓名以文字輸入。以(Y/N)形式判斷時,僅限N或者n為否,其它字符真。進入排序功能后,要想見排序信息,到主菜單下見瀏覽信息功能。任務計劃1.樣例輸入和輸出2.本通訊錄管理程序,能夠對數(shù)據進行輸入輸出,集排序,修改,打印,刪除等功能。下面以上述數(shù)據描述的數(shù)據為測試數(shù)據進行簡單輸入輸出。——1.未排序前的信息4).刪除界面:刪除后,通訊錄里的顯示記錄:5).查詢界面:以姓名查詢方式為例:6).修改界面:修改后,通訊錄里的顯示記錄:7).保存界面:tongxunlu.txt文件截圖:概要設計總體設計添加:能夠添加通訊錄記錄,依次輸入編號、姓名、年齡、電話號碼、通訊地址、電子郵箱后,會提示是否繼續(xù)添加。顯示:能夠以表格形式輸出所有通訊錄里的記錄刪除:輸入欲刪除的那個人的名字后,會自動刪除她(她)的記錄內容查詢:能夠選擇用姓名、電話、地址三種方式查詢修改:輸入欲修改的那個人的名字后,再依次輸入編號、姓名、年齡、電話號碼、通訊地址、電子郵箱即可完成修改保存:,輸入文件名(帶后綴名)后,即可將通訊錄信息保存到文件數(shù)據類型設計(或數(shù)據結構設計)typedefstruct { charscore;/*編號*/ charname[10];/*姓名*/ charnum[15];/*號碼*/ charemail[20]; /*郵箱*/ charage[8]; /*年齡*/ charadds[20]; /*住址*/ }Person;以結構體數(shù)組類型輸入數(shù)據。 接口設計表2.1:函數(shù)列表函數(shù)名函數(shù)首部函數(shù)功能intmenu_select()void運行界面intInput(Personper[],intn)int輸入函數(shù)voidDisplay(Personper[],intn)Void輸出函數(shù)intDelete_a_record(Personper[],intn)int刪除數(shù)據voidQuery_a_record(Personper[],intn)void查詢數(shù)據voidChange(Personper[],intn)void更改數(shù)據voidWritetoText(Personper[],intn)void把數(shù)據寫到文件運行界面設計voidmain()/*主函數(shù)*/{ intn=0; for(;;) { switch(menu_select()) { case1: printf("\n\t添加記錄到通訊錄\n");/*添加記錄*/ n=Input(pe,n); break; case2: printf("\n\t\t\t通訊錄記錄表\n");/*顯示記錄*/ Display(pe,n); break; case3: printf("\n\t從通訊錄中刪除記錄\n"); n=Delete_a_record(pe,n); /*刪除記錄*/ printf("\t"); system("pause"); break; case4: printf("\n\t在通訊錄中查找記錄\n"); Query_a_record(pe,n); /*查找記錄*/ printf("\t"); system("pause"); break; case5: printf("\n\t修改通訊錄中的記錄\n"); Change(pe,n); /*修改數(shù)據*/ printf("\t"); system("pause"); break; case6: printf("\n\t保存功能\n"); WritetoText(pe,n); /*保存數(shù)據*/ printf("\t"); system("pause"); break; case0: printf("\n\t\t謝謝使用,再見!\n");/*結束程序*/ printf("\n\t\t"); system("pause"); exit(0); } }}以switch為關鍵控制選著要調用函數(shù)的開關,然后以主菜單為主界面,其它功能為擴展界面來運行通訊錄管理系統(tǒng)。主菜單代碼為:intmenu_select() { charc; do{ system("cls"); printf("\t\t*****通訊錄*****\n"); printf("\t\t||\n"); printf("\t\t│1.添加記錄│\n"); printf("\t\t│2.顯示記錄│\n"); printf("\t\t│3.刪除記錄│\n"); printf("\t\t│4.查詢記錄│\n"); printf("\t\t│5.修改記錄│\n"); printf("\t\t│6.保存記錄│\n"); printf("\t\t│0.退出程序│\n"); printf("\t\t\||n"); printf("\t\t請您選擇(0-6):"); c=getchar(); }while(c<'0'||c>'6'); return(c-'0'); }如圖所示為主要運行界面:詳細設計輸入模塊設計intInput(Personper[],intn){ inti=0; charsign,x[10]; while(sign!='n'&&sign!='N') { printf("\t編號:"); scanf("\t%d",&per[n+i].score); printf("\t姓名:"); scanf("\t%s",per[n+i].name); printf("\t年齡:"); scanf("\t%s",per[n+i].age); printf("\t電話號碼:"); scanf("\t%s",per[n+i].num); printf("\t通訊住址:"); scanf("\t%s",per[n+i].adds); printf("\t電子郵箱:"); scanf("\t%s",per[n+i].email); gets(x); printf("\n\t是否繼續(xù)添加?(Y/N)"); scanf("\t%c",&sign); i++; } return(n+i);}輸出模塊設計voidDisplay(Personper[],intn){ inti; printf("\n");/*格式*/ printf("編號姓名年齡電話號碼通訊地址電子郵箱\n"); printf("\n"); for(i=1;i<n+1;i++) { printf("%-5d%-8s%-6s%-13s%-15s%-15s\n",per[i-1].score,per[i-1].name,per[i-1].age,per[i-1].num,per[i-1].adds,per[i-1].email); if(i>1&&i%10==0) { printf("\t\n"); printf("\t"); system("pause"); printf("\t\n"); } } printf("\n"); system("pause");}查找模塊設計voidQuery_a_record(Personper[],intn){ intm; printf("\t\n請選擇查詢方式:\n");printf("\t┌──────┐\n");printf("\t│1姓名│\n");printf("\t│2電話│\n");printf("\t│3地址│\n");printf("\t│4返回│\n");printf("\t└──────┘\n");printf("請選擇:");scanf("%d",&m);while(m!=1&&m!=2&&m!=3&&m!=4){ printf("輸入錯誤,請重新選擇:"); scanf("%d",&m); } if(m==1) { chars[20]; inti=0; printf("\t請輸入想查詢的姓名:"); scanf("\t%s",s); while(strcmp(per[i].name,s)!=0&&i<n)i++; if(i==n) { printf("\t通訊錄中沒有此人!\n"); return; } printf("\t此人編號:%d\n",per[i].score); printf("\t此人年齡:%s\n",per[i].age); printf("\t電話號碼:%s\n",per[i].num); printf("\t通訊地址:%s\n",per[i].adds); printf("\t電子郵箱:%s\n",per[i].email); }; if(m==2) { chars[20]; inti=0; printf("\t請輸入想查詢的電話:"); scanf("\t%s",s); while(strcmp(per[i].num,s)!=0&&i<n)i++; if(i==n) { printf("\t通訊錄中沒有此人!\n"); return; } printf("\t此人編號:%d\n",per[i].score); printf("\t此人姓名:%s\n",per[i].name); printf("\t此人年齡:%s\n",per[i].age); printf("\t通訊地址:%s\n",per[i].adds); printf("\t電子郵箱:%s\n",per[i].email); }; if(m==3) { chars[20]; inti=0; printf("\t請輸入想查詢的地址:"); scanf("\t%s",s); while(strcmp(per[i].adds,s)!=0&&i<n)i++; if(i==n) { printf("\t通訊錄中沒有此人!\n"); return; } printf("\t此人編號:%d\n",per[i].score); printf("\t此人姓名:%s\n",per[i].name); printf("\t此人年齡:%s\n",per[i].age); printf("\t電話號碼:%s\n",per[i].num); printf("\t電子郵箱:%s\n",per[i].email); };}刪除模塊設計intDelete_a_record(Personper[],intn){ chars[20]; inti=0,j; printf("\t請輸入想刪除記錄中的名字:"); scanf("%s",s); while(strcmp(per[i].name,s)!=0&&i<n)i++; if(i==n) { printf("\t通訊錄中沒有此人!\n"); return(n); } for(j=i;j<n-1;j++) { strcpy(per[j].num,per[j+1].num); strcpy(per[j].name,per[j+1].name); strcpy(per[j].age,per[j+1].age); strcpy(per[j].adds,per[j+1].adds); strcpy(per[j].email,per[j+1].email); per[j].score=per[j+1].score; } printf("\t\t\t已經成功刪除!\n"); return(n-1);}更改模塊設計voidChange(Personper[],intn){ chars[20]; inti=0; printf("\t請輸入想修改的記錄中的名字:"); scanf("%s",s); while(strcmp(per[i].name,s)!=0&&i<n)i++; if(i==n) { printf("\t通訊錄中沒有此人!\n"); return; } printf("\t編號:"); scanf("\t%d",&per[i].score); printf("\t姓名:"); scanf("\t%s",per[i].name); printf("\t年齡:"); scanf("\t%s",per[i].age); printf("\t電話號碼:"); scanf("\t%s",per[i].num); printf("\t通訊住址:"); scanf("\t%s",per[i].adds); printf("\t電子郵箱:"); scanf("\t%s",per[i].email); printf("\t修改成功!");}3.6保存模塊設計voidWritetoText(Personper[],intn){ inti=0; FILE*fp;/*定義文件指針*/ charfilename[20];/*定義文件名*/ printf("\t保存到文件\n");/*輸入文件名*/ printf("\t請輸入所保存的文件名:"); scanf("\t%s",filename); if((fp=fopen(filename,"w"))==NULL) { printf("\t無法打開文件\n"); system("pause"); return; } fprintf(fp,"******************************************通訊錄******************************************\n"); fprintf(fp,"編號姓名年齡電話號碼通訊地址電子郵箱\n"); fprintf(fp,"\n"); while(i<n) { fprintf(fp,"%-3d\t%-6s\t%-3s\t%-13s\t%-20s\t%-20s\n",per[i].score,per[i].name,per[i].age,per[i].num,per[i].adds,per[i].email); i++; } fprintf(fp,"\n"); fprintf(fp,"***************************************共有%d條記錄****************************************\n",n); fclose(fp);/*關閉文件*/ printf("保存成功!\n");}voidmain()/*主函數(shù)*/{ intn=0; for(;;) { switch(menu_select()) { case1: printf("\n\t添加記錄到通訊錄\n");/*添加記錄*/ n=Input(pe,n); break; case2: printf("\n\t\t\t通訊錄記錄表\n");/*顯示記錄*/ Display(pe,n); break; case3: printf("\n\t從通訊錄中刪除記錄\n"); n=Delete_a_record(pe,n); /*刪除記錄*/ printf("\t"); system("pause"); break; case4: printf("\n\t在通訊錄中查找記錄\n"); Query_a_record(pe,n); /*查找記錄*/ printf("\t"); system("pause"); break; case5: printf("\n\t修改通訊錄中的記錄\n"); Change(pe,n); /*修改數(shù)據*/ printf("\t"); system("pause"); break; case6: printf("\n\t保存功能\n"); WritetoText(pe,n); /*保存數(shù)據*/ printf("\t"); system("pause"); break; case0: printf("\n\t\t謝謝使用,再見!\n");/*結束程序*/ printf("\n\t\t"); system("pause"); exit(0); } }}測試分析測試程序執(zhí)行情況1).顯示的主菜單界面2).添加界面:3).顯示界面:4).刪除界面:刪除后,通訊錄里的顯示記錄:5).查詢界面:以姓名查詢方式為例:6).修改界面:修改后,通訊錄里的顯示記錄:7).保存界面:大部分功能以按上面圖文描述,有不足的地方請老師批評指正。您的建議將幫我走得更好。出現(xiàn)的問題和解決的方法1.當我在進行刪除、查詢、修改、保存等功能時,以查詢?yōu)槔?,輸入名字按回車后,雖然會顯示該人的所有記錄,可是顯示后,它馬上自動消失了,還沒來得及等我看內容。因此,向別人請教后,在一些地方加入了system("pause");這個語言,用來對某項操作完成后進行暫停。課程設計總結這次的程序實設計實驗是對我們進入大學以來學習程序設計語言結果的一次大檢驗。自己動手,自己發(fā)現(xiàn)和解決問題。發(fā)現(xiàn)了自己的許多不足。平時沒有掌握好的知識在這次實驗中徹底暴露出來,經過不斷思考,不斷查閱資料和上機運行,解決其中大部分問題,當然還存在一些問題沒有解決。我相信在以后的學習能夠解決好它們??墒?,收獲還是不小的,我不但對C的操作有了進一步的掌握,還了解到了程序設計的書寫風格及其注釋的格式。當我選擇通訊錄這個題目時,一開始想運用大量鏈表及指針來完成,可是在慢慢琢磨之后,覺得這個不一定要用鏈表,于是改變了編程思路。當然還有不少文件的讀寫問題,不過還是經過不斷測試之后順利解決了。另外一點要說的就是這個程序用了很多的循環(huán),因此對于循環(huán)的控制要十分小心,有時while和do-while的區(qū)別也是十分重要的。還有一點體會就是,書上和老師教的內容是有限的,我們需要不斷地靠自己去學習,向她人請教,了解和掌握更多的知識,這樣我們才能編出更好的C程序??傮w來說,這次C語言程序設計實驗還是比較成功的,雖然最終程序還存在一些不足,但能取得這樣的成績我還是比較高興的。最后,要感謝學校為我們提供這次實驗機會,也要感謝老師的教導和好心人對我的幫助與支持。附錄:程序代碼#include<stdio.h>#include<stdlib.h>#include<string.h>typedefstruct { charscore;/*編號*/ charname[10];/*姓名*/ charnum[15];/*號碼*/ charemail[20]; /*郵箱*/ charage[8]; /*年齡*/ charadds[20]; /*住址*/ }Person;Personpe[80];intmenu_select() { charc; do{ system("cls"); printf("\t\t*****通訊錄*****\n"); printf("\t\t||\n"); printf("\t\t│1.添加記錄│\n"); printf("\t\t│2.顯示記錄│\n"); printf("\t\t│3.刪除記錄│\n"); printf("\t\t│4.查詢記錄│\n"); printf("\t\t│5.修改記錄│\n"); printf("\t\t│6.保存記錄│\n"); printf("\t\t│0.退出程序│\n"); printf("\t\t\||n"); printf("\t\t請您選擇(0-6):"); c=getchar(); }while(c<'0'||c>'6'); return(c-'0'); }intInput(Personper[],intn){ inti=0; charsign,x[10]; while(sign!='n'&&sign!='N') { printf("\t編號:"); scanf("\t%d",&per[n+i].score); printf("\t姓名:"); scanf("\t%s",per[n+i].name); printf("\t年齡:"); scanf("\t%s",per[n+i].age); printf("\t電話號碼:"); scanf("\t%s",per[n+i].num); printf("\t通訊住址:"); scanf("\t%s",per[n+i].adds); printf("\t電子郵箱:"); scanf("\t%s",per[n+i].email); gets(x); printf("\n\t是否繼續(xù)添加?(Y/N)"); scanf("\t%c",&sign); i++; } return(n+i);}voidDisplay(Personper[],intn){ inti; printf("\n");/*格式*/ printf("編號姓名年齡電話號碼通訊地址電子郵箱\n"); printf("\n"); for(i=1;i<n+1;i++) { printf("%-5d%-8s%-6s%-13s%-15s%-15s\n",per[i-1].score,per[i-1].name,per[i-1].age,per[i-1].num,per[i-1].adds,per[i-1].email); if(i>1&&i%10==0) { printf("\t\n"); printf("\t"); system("pause"); printf("\t\n"); } } printf("\n"); system("pause");}intDelete_a_record(Personper[],intn){ chars[20]; inti=0,j; printf("\t請輸入想刪除記錄中的名字:"); scanf("%s",s); while(strcmp(per[i].name,s)!=0&&i<n)i++; if(i==n) { printf("\t通訊錄中沒有此人!\n"); return(n); } for(j=i;j<n-1;j++) { strcpy(per[j].num,per[j+1].num); strcpy(per[j].name,per[j+1].name); strcpy(per[j].age,per[j+1].age); strcpy(per[j].adds,per[j+1].adds); strcpy(per[j].email,per[j+1].email); per[j].score=per[j+1].score; } printf("\t\t\t已經成功刪除!\n"); return(n-1);}voidQuery_a_record(Personper[],intn){ intm; printf("\t\n請選擇查詢方式:\n");printf("\t┌──────┐\n");printf("\t│1姓名│\n");printf("\t│2電話│\n");printf("\t│3地址│\n");printf("\t│4返回│\n");printf("\t└──────┘\n");printf("請選擇:");scanf("%d",&m);while(m!=1&&m!=2&&m!=3&&m!=4){ printf("輸入錯誤,請重新選擇:"); scanf("%d",&m); } if(m==1) { chars[20]; inti=0; printf("\t請輸入想查詢的姓名:"); scanf("\t%s",s); while(strcmp(per[i].name,s)!=0&&i<n)i++; if(i==n) { printf("\t通訊錄中沒有此人!\n"); return; } printf("\t此人編號:%d\n",per[i].score); printf("\t此人年齡:%s\n",per[i].age); printf("\t電話號碼:%s\n",per[i].num); printf("\t通訊地址:%s\n",per[i].adds); printf("\t電子郵箱:%s\n",per[i].email); }; if(m==2) { chars[20]; inti=0; printf("\t請輸入想查詢的電話:"); scanf("\t%s",s); while(strcmp(per[i].num,s)!=0&&i<n)i++; if(i==n) { printf("\t通訊錄中沒有此人!\n"); return; } printf("\t此人編號:%d\n",per[i].score); printf("\t此人姓名:%s\n",per[i].name); printf("\t此人年齡:%s\n",per[i].age); printf("\t通訊地址:%s\n",per[i].adds); printf("\t電子郵箱:%s\n",per[i].email); }; if(m==3) { chars[20]; inti=0; printf("\t請輸入想查詢的地址:"); scanf("\t%s",s); while(strcmp(per[i].adds,s)!=0&&i<n)i++; if(i==n) { printf("\t通訊錄中沒有此人!\n"); return; } printf("\t此人編號:%d\n",per[i].score); printf("\t此人姓名:%s\n",per[i].name); printf("\t此人年齡:%s\n",per[i].age); printf("\t電話號碼:%s\n",per[i].num); printf("\t電子郵箱:%s\n",per[i].email); };}voidChange(Personper[],intn){ chars[20]; inti=0; printf("\t請輸入想修改的記錄中的名字:"); scanf("%s",s); while(strcmp(per[i].name,s)!=0&&i<n)i++; if(i==n) { printf("\t通訊錄中沒有此人!\n"); return; } printf("\t編號:"); scanf("\t%d",&per[i].score); printf("\t姓名:"); scanf("\t%s",per[i].name); printf("\t年齡:"); scanf("\t%s",per[i].age); printf("\t電話號碼:"); scanf("\t%s",per[i].num); printf("\t通訊住址:"); scanf("\t%s",per[i].adds); printf("\t電子郵箱:"); scanf("\t%s",per[i].email); printf("\t修改成功!");}voidWritetoText(Personper[],intn){ inti=0; FILE*fp;/*定義文件指針*/ charfilename[20];/*定義文件名*/ printf("\t保存到文件\n");/*輸入文件名*/ printf("\t請輸入所保存的文件名:"); scanf("\t%s",filename); if((fp=fopen(filename,"w"))==NULL) { printf
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國仔豬復合維生素預混料數(shù)據監(jiān)測研究報告
- 2025-2030年中國汽車空調O型圈數(shù)據監(jiān)測研究報告
- 河流堤壩加固施工規(guī)范
- 婚內撫養(yǎng)孩子協(xié)議
- 舊門更換成防盜門施工方案
- 面包車高速隧道施工方案
- 施工洞施工方案
- 商場園區(qū)租賃合同管理
- 建設施工合同講座
- 電子商務法規(guī)與合規(guī)模擬試卷
- 紙箱訂購合同5篇
- 股骨骨折的健康宣教
- 作物產量形成規(guī)律作物群體結構
- 核心素養(yǎng)背景下的中國畫大單元教學
- 常見標本采集及注意
- 2023年浙江省衢州市常山糧食收儲有限責任公司招聘筆試題庫含答案解析
- 《中國近現(xiàn)代史綱要》自學考試大綱
- ?;钒踩芾碇贫确段暮喍涛;钒踩芾碇贫群蛵徫话踩僮饕?guī)程(3篇)
- GB/T 6672-2001塑料薄膜和薄片厚度測定機械測量法
- GB/T 19773-2005變壓吸附提純氫系統(tǒng)技術要求
- GB/T 14163-2009工時消耗分類、代號和標準工時構成
評論
0/150
提交評論