版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
《C語言程序設(shè)計》課程設(shè)計實驗報告題目:景點信息查詢系統(tǒng) 專業(yè): 班級:學(xué)號: 姓名: 成績: 指導(dǎo)教師:完成日期:2010年09月18日目錄一、課程設(shè)計題目:景點信息查詢系統(tǒng) 2二、要求 2三、系統(tǒng)功能模塊結(jié)構(gòu)圖 2四、數(shù)據(jù)結(jié)構(gòu)的設(shè)計說明 5五、各模塊的功能解析、程序結(jié)構(gòu)及部分流程圖 65.1.主函數(shù) 65.2.文件 125.2.1文件菜單下的保存<save>功能的函數(shù): 125.2.2.文件菜單下的備份<BackupData>功能的函數(shù) 145.2.3文件菜單下的恢復(fù)<RestoreData>功能的函數(shù) 145.2.4文件菜單下的退出<ExitSys>功能的函數(shù) 145.3.數(shù)據(jù)維護 145.3.1城市信息維護 145.3.2景區(qū)信息維護 155.3.3景點信息維護 155.4.數(shù)據(jù)查詢 225.4.1城市信息查詢 225.4.2景區(qū)信息查詢 225.4.3景點信息查詢 225.5.清屏 285.6.幫助 285.6.1幫助菜單下的幫助<HelpTopic>功能的函數(shù): 28函數(shù)原型:BOOLBackupData(void) 28函數(shù)功能:使用說明 285.6.2.幫助菜單下的關(guān)于<AboutDorm>功能的函數(shù): 285.6.3幫助菜單下的幫助<information>功能的函數(shù): 29函數(shù)原型:BOOLinformation(void) 29六、試驗結(jié)果 296.1.初始界面 296.2.文件 306.3.信息查詢 436.4.幫助 49七、心得體會 517.1.充分了解供需關(guān)系 517.2.鏈表的創(chuàng)建 517.3.功能函數(shù)的編寫測試 517.4.收獲 52八、參考文獻 52九、源代碼及注釋 52一、課程設(shè)計題目:景點信息查詢系統(tǒng)二、要求:1、只能使用C語言,源程序要有適當(dāng)?shù)淖⑨?,使程序容易閱讀。2、要有用戶界面。要求至少采用教材p215-p216類似的簡易菜單;鼓勵采用文本菜單界面甚至采用圖形菜單界面。3、必須使用結(jié)構(gòu)和十字交叉鏈表等數(shù)據(jù)結(jié)構(gòu)。4、使用文件保存數(shù)據(jù)。5、至少輸出一份報表(屏幕輸出即可),鼓勵自行增加新功能。6、設(shè)計測試的模擬數(shù)據(jù),完成系統(tǒng)測試。三、系統(tǒng)功能模塊結(jié)構(gòu)圖整個程序分為以下五個大塊:景點信息查詢系統(tǒng)文件景點信息查詢系統(tǒng)文件數(shù)據(jù)維護數(shù)據(jù)查詢清屏幫助
每一塊的功能:文件文件數(shù)據(jù)保存數(shù)據(jù)備份數(shù)據(jù)恢復(fù)數(shù)據(jù)加載退出系統(tǒng)界面初始化 景點景點信息修改景點信息插入景點信息刪除景區(qū)信息刪除景區(qū)信息插入景區(qū)信息修改數(shù)據(jù)維護城市信息維護景區(qū)信息維護景點信息維護城市信息刪除城市信息插入城市信息修改城市精確查詢城市精確查詢城市組合查詢景區(qū)精確查詢景區(qū)組合查詢景點精確查詢景點組合查詢景點信息查詢數(shù)據(jù)查詢景區(qū)信息查詢城市信息查詢幫助幫助幫助關(guān)于所有信息四、數(shù)據(jù)結(jié)構(gòu)的設(shè)計說明:系統(tǒng)所操作的數(shù)據(jù)分三類,使用三級的十字交叉鏈表,鏈表使用單向鏈表,其數(shù)據(jù)結(jié)構(gòu)圖是如下:……h(huán)ead…景區(qū)11景區(qū)12景區(qū)1m城市1城市2城市n景點111…景點11p∧∧∧在程序中對數(shù)據(jù)結(jié)構(gòu)的定義如下:structscespo/*景點*/{charsp_sr_num[NUM];/*景區(qū)編號*/charsp_c_num[NUM];/*城市編號*/charscespo[NUM];/*景點名稱*/charsp_num[NUM];/*景點編號*/charsp_location[NUM];/*景點地址*/charsp_time[NUM];/*花費時間*/structscespo*next;/*指向下一個景點節(jié)點*/};structscearea/*景區(qū)*/{charsr_c_num[NUM];/*城市編號*/charscearea[NUM];/*景區(qū)名稱*/charsr_num[NUM];/*景區(qū)編號*/charsr_level[NUM];/*景區(qū)級別*/charsr_location[NUM];/*景區(qū)地址*/charsr_ticket[NUM];/*景區(qū)分類*/charsr_time[NUM];/*開放時間*/charsr_connum[NUM];/*查詢電話*/structscearea*next;/*指向下一個景區(qū)節(jié)點*/structscespo*sp_head;/*景點鏈表的頭指針*/};structcity/*城市*/{charcity[NUM];/*城市名稱*/charc_num[NUM];/*城市編號*/charc_inspnum[NUM],c_consnum[NUM];/*城市郵編、城市特色*/structcity*next;/*指向下一個城市節(jié)點*/structscearea*sr_head;/*景區(qū)鏈表的頭指針*/};其中城市、景區(qū)的每一個節(jié)點都有兩個指針,城市的節(jié)點的一個指針(structcity*p->sr_head)指向在該城市的景區(qū)鏈表,另一個指針(structcity*p->next)指向該節(jié)點的下一結(jié)點;景區(qū)的節(jié)點的一個指針(structscearea*psr->sp_head)指向該景區(qū)的景點信息鏈表,另一個指針(struct*psr->next)指向該節(jié)點的下一結(jié)點;景點的節(jié)點的一個指針(struct*psp->next)指向該節(jié)點的下一結(jié)點;另外在內(nèi)存中是以鏈表的形式儲存的。其數(shù)據(jù)結(jié)構(gòu)圖是如下:head…h(huán)ead…景區(qū)1城市1城市2城市n…景區(qū)nNULLNULLhead景區(qū)2NULLhead景區(qū)2head…景點head…景點1景點2景點nNULL五、各模塊的功能解析、程序結(jié)構(gòu)及部分流程圖5.1.主函數(shù)主函數(shù)負責(zé)主界面的構(gòu)造以及對程序的各個功能函數(shù)的調(diào)用。其原型聲明如下:voidmain(void);該函數(shù)在文件main.c中。其主要調(diào)用了以下函數(shù):LoadData();/*數(shù)據(jù)加載*/InitInterface();/*界面初始化*/RunSys(&gp_head);/*系統(tǒng)功能模塊的選擇及運行*/CloseSys(gp_head);/*退出系統(tǒng)*/主函數(shù)中加載<LoadData>功能的函數(shù)函數(shù)原型:BOOLLoadData();函數(shù)功能:從三個文件中加載城市、景區(qū)、景點信息形成鏈表。該程序流程圖如下:YY開始BOOLRe=FALSEgc_sys_state|=1;gc_sys_state|=2;Re=createlist(&gp_head)gc_sys_state|=Re;gc_sys_state&=~(4+8+16-Re);gc_sys_state<(1|2|4|8|16)printf("\n系統(tǒng)基礎(chǔ)數(shù)據(jù)不完整!\n");printf("\n按任意鍵繼續(xù)...\n");getch();returnTRUENNNYhp==NULLprintf("城市信息數(shù)據(jù)加載失??!\n");returnre;關(guān)閉文件Yp=(structcity*)malloc(sizeof(structcity));/申請一個單元/fscanf(pFile,"%s\t\t%s\t\t%s\t\t%s\n",p->c_num,p->city,p->c_inspnum,p->c_consnum);/讀取文件中的城市信息,存在剛申請的單元中/p->sr_head=NULL;/景區(qū)頭指針置空//先進后出/p->next=hp;hp=p;!feof(pFile)NYprintf("城市信息數(shù)據(jù)文件打開失??!\n");returnre;printf("城市信息數(shù)據(jù)文件打開成功!\n");pFile=fopen(gp_c_info_filename,"r+")==NULL定義變量:structcity*hp=NULL,*p;/頭指針/structscearea*psr;/景區(qū)信息鏈指針/structscespo*psp;/景點信息鏈指針/FILE*pFile;intfindintre=0;開始N1
YNYNp=p->next;2psr=(structscearea*)malloc(sizeof(structscearea));//創(chuàng)建結(jié)點,存放從數(shù)據(jù)文件中讀出的景區(qū)基本信息fscanf(pFile,"%s\t\t%s\t\t%s\t\t%s\t\t%s\t\t%s\t\t%s\t\t%s\n",psr->sr_c_num,psr->sr_num,psr->scearea,psr->sr_level,psr->sr_location,psr->sr_ticket,psr->sr_time,psr->sr_connum);psr->sp_head=NULL;p=hp;/先進后出/p!=NULL&&strcmp(psr->sr_c_num,p->c_num)!=0YN!feof(pFile)printf("景區(qū)基本信息數(shù)據(jù)文件打成功!\n");re+=8;Yprintf("城市信息數(shù)據(jù)加載成功!\n");(*head)=hp;/指向鏈頭/re+=4;(pFile=fopen(gp_sr_info_filename,"r+"))==NULL1printf("景區(qū)基本信息數(shù)據(jù)文件打開?。n");returnre;N54YYpsp=(structscespo*)malloc(sizeof(structscespo));//創(chuàng)建結(jié)點,存放從數(shù)據(jù)文件中讀出的景點信息fscanf(pFile,"%s\t\t%s\t\t%s\t\t%s\t\t%s\t\t%s\n",psp->sp_c_num,psp->sp_sr_num,psp->sp_num,psp->scespo,psp->sp_location,psp->sp_time);/*查找景區(qū)信息支鏈上對應(yīng)的景點結(jié)點*/p=hp;find=0;3!feof(pFile)Nprintf("景點信息文件打開成功!\n");re+=16;fclose(pFile);/關(guān)閉文件/printf("景點信息文件打開失?。n");returnre;Y(pFile=fopen(gp_sp_info_filename,"r+"))==NULLNYNfree(psr);/釋放所創(chuàng)建結(jié)點的內(nèi)存空間/psr->next=p->sr_head;p->sr_head=psr;2p!=NULL456fclose(pFile)returnre
YYfree(psp);psp->next=psr->sp_head;psr->sp_head=psp;以后進先出方式插入景點信息支鏈中psr=p->sr_head;YYNYp!=NULL&&find==0psr=psr->next;p=p->next;3Npsr!=NULL&&find==0strcmp(psr->sr_num,psp->sp_sr_num)==0find=1;break;Nfind=1N6
5.2.文件5.2.1文件菜單下的保存<save>功能的函數(shù):函數(shù)原型:BOOLsave(void);函數(shù)功能:調(diào)用createlist函數(shù),將城市、景區(qū)、景點三級鏈表分別存在三個文件中,分別是c.txt、sr.txt、sp.txt。該程序的流程圖如下:關(guān)閉文件開始關(guān)閉文件開始定義所需變量:定義所需變量:structcity*p/指向城市信息鏈的指針/structscearea*psr/指向景區(qū)信息鏈的指針/structscespo*psp/指向景點信息鏈的指gp_sp_info_filename針/FILE*pfout=NULL/文件指針/BOOLbret=TRUE/返回布爾值/gp_c_info_filename,gp_sr_info_filename,gp_sp_info_filename是存放鏈表的三個文件打開打開gp_c_info_filenamePP指向鏈頭NPNP!=NULLYY讀一條城市信息存到讀一條城市信息存到gp_c_info_filename中22p=p->nextp=p->next 22打開打開gp_sr_info_filename關(guān)閉文件p=p->nextpsr=關(guān)閉文件p=p->nextpsr=psr->nextpsr=p->sr_headp=gp_headNpNp!=NULLYYpsrpsr!=NULL打開gp_sp打開gp_sp_info_filenameY讀一條景區(qū)信息存到讀一條景區(qū)信息存到gp_sr_info_filename中6p=gp_head6p=gp_headNNpp!=NULLYYpsr=p->sr_headpsr=p->sr_headNNpsr!=NULLpsr!=NULLset_text_success()關(guān)閉文件 打開gp_sp_info_filename3p=p打開gp_sp_info_filename3p=p->nextpsr=psr->nextY返回bretY返回bretpspsp=psr->pr_headNN453453 33N654Ypsp!=NULLp=p->nextpsp=psp->nextpsr=psr->next讀一條景點信息存到gp_spN654Ypsp!=NULLp=p->nextpsp=psp->nextpsr=psr->next讀一條景點信息存到gp_sp_info_filename中5.2.2.文件菜單下的備份<BackupData>功能的函數(shù):函數(shù)原型:BOOLBackupData(void)函數(shù)功能:備份數(shù)據(jù),將三類基礎(chǔ)數(shù)據(jù)備份到一個數(shù)據(jù)文件backup.txt中5.2.3文件菜單下的恢復(fù)<RestoreData>功能的函數(shù):函數(shù)原型:BOOLRestoreData(void)函數(shù)功能:恢復(fù)數(shù)據(jù),備份數(shù)據(jù)后,文件被修改,可以通過回復(fù)函數(shù),是三個文件的內(nèi)容恢復(fù)到和備份文件里的數(shù)據(jù)相同。5.2.4文件菜單下的退出<ExitSys>功能的函數(shù):函數(shù)原型:BOOLExitSys(void)函數(shù)功能:退出系統(tǒng)。5.3.數(shù)據(jù)維護5.3.1城市信息維護數(shù)據(jù)維護菜單下的城市信息維護<Maintainc_Info>功能的函數(shù)函數(shù)原型:BOOLMaintainc_Info(void)函數(shù)功能:維護城市信息,包括刪除、插入以及修改。調(diào)用了以下函數(shù):BOOLdelc(structcity**hp,char*c_num);/*刪除城市信息結(jié)點*/BOOLins_city(structcity**hp,structcity*p);/*插入城市信息結(jié)點*/BOOLmodifc(structcity*hp,char*c_num,structcity*p);/*修改城市信息結(jié)點*/5.3.2景區(qū)信息維護數(shù)據(jù)維護菜單下的景區(qū)信息維護<Maintainsr_Info>功能的函數(shù)函數(shù)原型:BOOLMaintainsr_Info(void)函數(shù)功能:維護景區(qū)信息,包括刪除、插入以及修改。調(diào)用了以下函數(shù):BOOLins_scespo(structcity*hp,structscespo*psp);/*插入景點信息結(jié)點*/BOOLdelsp(structcity*hp,char*sr_num,char*sp_num);/*刪除景點信息結(jié)點*/BOOLmodifsp(structcity*hp,char*sr_num,char*sp_num,structscespo*psp);/*修改景點信息結(jié)點*/5.3.3景點信息維護數(shù)據(jù)維護菜單下的景點信息維護<Maintainsp_Info>功能的函數(shù)函數(shù)原型:BOOLMaintainsp_Info(void)函數(shù)功能:維護景點信息,包括刪除、插入以及修改。調(diào)用了以下函數(shù):BOOLdelsr(structcity*hp,char*sr_num);/*刪除景區(qū)信息結(jié)點*/BOOLins_scearea(structcity*hp,structscearea*psr);/*插入景區(qū)信息結(jié)點*/BOOLmodifsr(structcity*hp,char*sr_num,structscearea*psr);/*修改景區(qū)信息結(jié)點*/.現(xiàn)就城市鏈表給出Maintainc_Info的流程圖:(見p)Y輸出操作成功Y輸出操作成功輸出操作失敗輸入:需要刪除的城市編號并把其存放在c_num調(diào)用delc函數(shù)返回值為TRUEN顯示:刪除城市信息插入城市信息修改城市信息用戶選擇1定義:字符數(shù)組c_num用來存放要刪除的城市編號YN1開始結(jié)束輸入操作成功輸出操作失敗輸入操作成功輸出操作失敗調(diào)用ins_city函數(shù)返回值為TRUEYN1用戶選擇2Ystructcity*pc1=(structcity*)malloc(sizeof(structcity))申請一個動態(tài)空間節(jié)點用來存放要插入的城市信息輸入:城市編號pc1->c_num,城市名稱pc1->city,城市郵編pc1->c_inspnum,城市特色pc1->c_consnum,2結(jié)束
用戶選擇用戶選擇3輸入操作成功輸出操作失敗調(diào)用modifc函數(shù)返回值為TRUEYN2structcity*pc2=(structcity*)malloc(sizeof(structcity))申請一個動態(tài)空間節(jié)點用來存放要新修改的城市信息字符數(shù)組c_num來存放要修改的城市編號輸入:城市編號pc2->c_num,城市名稱pc2->city,城市郵編pc2->c_inspnum,城市特色c_consnum,原城市編號結(jié)束開始strcmp(開始strcmp(p->c_num,c_num)==0編號相同,為要刪除的城市Find=1,找到Y(jié)p=p->next指針往下移一位Find=1申請:指向城市節(jié)點指針p,用來遍歷鏈表整型變量find,用來標識是否找到,置初值為0p=hp;使遍歷指針指向鏈表開頭p!=NULL,未到鏈表尾部YN返回該城市指針pc結(jié)束Y申請:structcity*p;申請:structcity*p;指向要刪除節(jié)點指針structcity*p_prior=NULL;指向要刪除節(jié)點的前一節(jié)點structscearea*psr;指向要刪除節(jié)點指針structscearea*psr_prior;指向要刪除節(jié)點的前一節(jié)點structscespo*psp;指向要刪除節(jié)點指針structscespo*psp_prior;指向要刪除節(jié)點的前一節(jié)點BOOLdel=FALSE;判斷是否刪除成功所用變量p=*hp使p指向鏈表頭p!=NULL&&Strcmp(pc->c_num,c_num)!=0;未到鏈表尾且未找到Y(jié)p_prior=pc;p=p->next把指針向后移一位Np!=NULL,找到Y(jié)del=TRUE3開始YpYpsp_prior=psp;psp=psp->next;free(psp_prior);釋放景點節(jié)點空間psr=psr->next;free(psr_prior);釋放景點節(jié)點空間psp=psr->sp_head;psr_prior=psr;psp!=NULLN3YNpsr=p->sr_head;free(pc);釋放要刪除的城市節(jié)點空間p_prior->next=p->next;使要刪除節(jié)點的前一節(jié)點與其后一節(jié)點相連*hp=p->next;使頭指針指向要刪除的節(jié)點的下一結(jié)點p_prior==NULL;判斷是否為第一個城市節(jié)點點psr!=NULLN444del=TRUE輸出操作成功輸出操作失敗結(jié)束5.4.數(shù)據(jù)查詢5.4.1城市信息查詢數(shù)據(jù)查詢菜單下的城市信息查詢<Queryc_Info>功能的函數(shù)函數(shù)原型:BOOLQueryc_Info(void))函數(shù)功能:查詢城市信息,包括精確查找(城市編號)和精確查找(所有信息)調(diào)用了以下函數(shù):structcity*seekc(structcity*hp,char*c_num);/*查找城市信息結(jié)點*/structcity*seek_c(structcity*ph,intcond_num,...);5.4.2景區(qū)信息查詢數(shù)據(jù)查詢菜單下的景區(qū)信息查詢<Querysr_Info>功能的函數(shù)函數(shù)原型:BOOLQuerysr_Info(void)函數(shù)功能:查詢景區(qū)信息,包括精確查找(城市編號)和精確查找(所有信息)調(diào)用了以下函數(shù):structscearea*seeksr(structcity*hp,char*sr_num);/*查找景區(qū)信息結(jié)點*/structscearea*seek_sr(structcity*hp,intcond_num,...);/*模糊查詢城市信息結(jié)點*/5.4.3景點信息查詢數(shù)據(jù)查詢菜單下的景區(qū)信息查詢<Querysr_Info>功能的函數(shù)函數(shù)原型:BOOLQuerysr_Info(void)函數(shù)功能:查詢景區(qū)信息,包括精確查找(城市編號)和精確查找(所有信息)調(diào)用了以下函數(shù):structscespo*seeksp(structcity*hp,char*sr_num,char*sp_num);/*查找景點信息結(jié)點*/structscespo*seek_sp(structcity*hp,intcond_num,...);/*模糊查詢景點信息結(jié)點*/現(xiàn)就城市鏈表給出Querysr_Info的流程圖:YYY定義所需變量:structcity*p;structscearea*psr;structscearea*psr_net==NULL;structscearea*psr_temp;sp_c_num;sp_sr_num;/*城市編號、景區(qū)編號*/ihot;/*用戶選擇操作*/i=0;/*循環(huán)控制變量*/result;/*函數(shù)操作結(jié)果*/ihot!=0繪制窗口;用戶選擇:1、精確查詢;2、多條件組合查詢;0、返回N結(jié)束ihot=1用戶選擇:1、開始輸入;0、取消;1用戶選擇:1、開始輸入;0、取消;2開始YihotYihot!=01N輸入:城市編號sp_c_num;景區(qū)編號sp_sr_num;調(diào)用函數(shù)seekc(gp_head,p_num);返回p輸出確切查找出的景區(qū)信息到屏幕返回值!=voidYN輸出“操作無效”,結(jié)束ihot!=0;NY輸入:組合條件個數(shù)cond_num;查詢條件;2調(diào)用函數(shù)seek_c(gp_head,p_num);返回p_ret輸出確切查找出的景區(qū)信息到屏幕返回值!=voidYN輸出“操作無效”,結(jié)束結(jié)束結(jié)束結(jié)束結(jié)束開始N開始NN返回psrY調(diào)用函數(shù)strcmp(psr->sr_num,major),返回值為result;result!=0Npsr=psr->next;Yp!=NULL;psr!=NULL;Ypsr=p->sr_head;輸出“操作無效”,結(jié)束結(jié)束輸出“操作無效”,結(jié)束Psr=p->sr_head;Psr=p->sr_head;0<Cond_num<6NYP=phd;P!=NULLNY56定義所需變量:structcity*p;structscearea*psr;structscearea*psr_net==NULL;structscearea*psr_temp;sr_c_num;sr_num;/*城市編號、景區(qū)編號*/ihot;/*用戶選擇操作*/I=0;/*循環(huán)控制變量*/result;/*函數(shù)操作結(jié)果*/開始輸出“操作無效”,結(jié)束輸出“操作無效”,結(jié)束5P5Psr!=NULL;YPsr=psr->next;6P=p->next;NI<cond_num;I++;NY調(diào)用函數(shù)judge_sr(psr,condition[i]);返回值為result;Result!=0;NY789輸出“操作無效”,結(jié)束輸出“操作無效”,結(jié)束77I=cond_num;Y*psr_temp=*psr;Psr_temp->next=psr_ret;Psr_ret=psr_temp;返回psra_ret;89N結(jié)束5.5.清屏其原型聲明如下:voidClearScreen(void);該函數(shù)在文件main.c中。其主要調(diào)用了以下函數(shù):voidClearScreen(void);函數(shù)功能:清屏負責(zé)清除界面文字5.6.幫助5.6.1幫助菜單下的幫助<HelpTopic>功能的函數(shù):函數(shù)原型:BOOLBackupData(void)函數(shù)功能:使用說明5.6.2.幫助菜單下的關(guān)于<AboutDorm>功能的函數(shù):函數(shù)原型:BOOLAboutDorm(void)函數(shù)功能:制作人、指導(dǎo)老師、完成時間5.6.3幫助菜單下的幫助<information>功能的函數(shù):函數(shù)原型:BOOLinformation(void)函數(shù)功能:調(diào)用voidtravers(structcity*head)函數(shù),打出表中所有的的城市景區(qū)和景點信息,其中實參為鏈表的頭指針gp_head.六、試驗結(jié)果6.1.初始界面:A.加載成功B.加載失敗C.下拉菜單6.2.文件:A.城市信息維護城市信息刪除輸入:027刪除成功:刪除失敗:城市信息插入輸入:040西藏440000風(fēng)景優(yōu)美的地方輸入:enter插入成功輸入:027武漢440000風(fēng)景優(yōu)美的地方輸入:enter插入失?。ǔ鞘芯幪栆呀?jīng)存在)城市信息修改輸入:027廈門470000海邊城市027輸入:enter修改成功輸入:050廈門470000海邊城市050輸入:enter修改失?。ǔ鞘芯幪柌淮嬖冢〣.景區(qū)信息維護景區(qū)信息刪除輸入:01輸入:enter刪除成功輸入:15輸入:enter刪除失?。ň皡^(qū)編號不存在)景區(qū)信息插入輸入:02710戶部巷4A武昌區(qū)司門口人文美食四季87654321輸入:enter插入成功輸入:09011戶部巷4A武昌區(qū)司門口人文美食四季987654321輸入:enter插入失敗(城市編號不存在)輸入:0272某某5A武昌區(qū)自然景觀四季87654321輸入:enter插入失?。ň皡^(qū)編號已經(jīng)存在)景區(qū)信息修改輸入:02701戶部巷4A武昌區(qū)司門口美食人文全天8765432101輸入:enter修改成功輸入:04001戶部巷4A武昌區(qū)司門口美食人文全天8765432101輸入:enter修改失敗(城市彪悍或景區(qū)編號不存在)C.景點信息維護點擊數(shù)據(jù)維護下拉菜單的景區(qū)信息維護選項跳出窗口:景點信息刪除輸入:06061輸入:enter刪除成功當(dāng)景區(qū)編號或景點標號不存在時刪除失敗景點信息插入輸入:02703東湖武昌區(qū)珞瑜路80元/人輸入:enter插入成功當(dāng)城市編號、景區(qū)編號或景點編號不存在時插入失敗。當(dāng)景點編號已經(jīng)存在是插入失敗。景點信息修改輸入:02702021黃鶴樓武昌區(qū)大東門70元/人輸入:ener修改成功當(dāng)城市編號、景區(qū)編號和景點編號不存在或不匹配時修改失敗。6.3.信息查詢:A.城市信息查詢點擊數(shù)據(jù)查詢下拉菜單下的城市信息查詢跳出窗口:①.城市精確查詢輸入:0571輸入:enter②.城市組合查詢輸入:101=武漢輸入:enterB.景區(qū)信息查詢①.景區(qū)精確查詢輸入:09輸入:enter②.景區(qū)組合查詢輸入:21@池2>3A輸入:enterC.景點信息查詢①.景點精確查詢輸入:05051輸入:enter②.景點組合查詢輸入:11@島輸入:enter6.4.幫助1.幫助點擊幫助下拉菜單的幫助選項跳出窗口:2.關(guān)于點擊幫助下拉菜單的關(guān)于選項跳出窗口:3.所有信息點擊幫助下拉菜單的所有信息選項跳出窗口:七、心得體會接到這個課設(shè)題目的時候其實我心里是沒底的,因為對這樣一個系統(tǒng),沒有整體的認識,也不知道應(yīng)該從哪里下手。后來在和同學(xué)討論之后又來大概的了解和明確的目的,于是在暑假剛開始我就開始著手寫課設(shè)。7.1.充分了解供需關(guān)系景點查詢系統(tǒng),是面向游客的,所以我得從游客的角度思考,我的系統(tǒng)應(yīng)該具備哪些信息,當(dāng)然,我也上網(wǎng)搜了一些資料,比如:湖北旅游查詢系統(tǒng)。這個系統(tǒng)能夠是個很好的例子,所以在任務(wù)數(shù)的基礎(chǔ)上,我對城市景區(qū)和景點的信息都做了些調(diào)整和修改,是信息更全面更有用。并且確定了信息查詢功能,包括精確查詢和模糊查詢。在這,針對管理員,此系統(tǒng)應(yīng)該有基本的文件保存,備份,恢復(fù),以及信息的刪除,插入和修改功能。7.2.鏈表的創(chuàng)建最開始我就定義了三個動態(tài)鏈表,分別是城市,景區(qū)和景點,但是明顯這樣做是不夠的,必須把這三個鏈表連起來,于是我通過兩個指針,一個下一級另一個則指向下一個鏈表的頭。于是鏈表就創(chuàng)建出來了。7.3.功能函數(shù)的編寫測試前面做的都是些準備工作,到功能函數(shù)時就遇到了麻煩。3.1創(chuàng)建鏈表例:while(!feof(pFile)){p=(structcity*)malloc(sizeof(structcity));fscanf(pFile,"%s\t\t%s\t\t%s\t\t%s\n",p->c_num,p->city,p->c_inspnum,p->c_consnum);p->sr_head=NULL;p->next=hp;hp=p;}fclose(pFile);a.剛開始我是用fread函數(shù)從文件中讀取信息,但是在這種情況下,判斷是否為空功能的函數(shù)(feof)在讀取最后一個信息后不會立刻跳出while循環(huán),而是又走了一次,這樣導(dǎo)致我讀取的信息都是亂碼,或者干脆停止工作.b.在修改了這個問題后,我發(fā)現(xiàn)我的系統(tǒng)只能讀取第一級的全部信息,但是讀第二級也就是景區(qū)信息的時候會無法讀入。在經(jīng)過斷點調(diào)試后最終發(fā)現(xiàn)是因為p->sr_head沒有置空,導(dǎo)致指針失效。3.2保存保存的函數(shù)比較簡單,但是和創(chuàng)建鏈表一起用時卻會停止工作,我起先以為是創(chuàng)建鏈表哪里出問題了,但是在debug無果后,原來是save和createlist兩個函數(shù)創(chuàng)建鏈表的方式不同,我一個寫的是先進后出,一個是先進先出,導(dǎo)致出錯,在改正后,就可以正常運行了。3.3數(shù)據(jù)維護a.寫刪除函數(shù)時,忽略了被刪除鏈表下的其他鏈表,導(dǎo)致,這些鏈表依然存在文件中卻已經(jīng)沒有用處,反而會干擾程序的正常運行例:if(p_prior==NULL)//如果是鏈頭{*hp=p_current->next;}else{p_prior->next=p_current->next;}b.做這些處理時,因為忽略了頭指針和其他指針的區(qū)別,也出了錯,還好立馬發(fā)現(xiàn)并且改了過來。3.4界面這個是最讓我頭疼的,剛開始看資料時根本看不懂,太多的變量名讓我頭昏眼花,后來是問的同學(xué),外加通過不斷使實驗,了解這些變量的作用,做出了現(xiàn)在的界面。7.4.收獲通過這次的課程設(shè)計,我對鏈表和鏈表的操作都有了更深的理解和運用,初步了解了人機交換界面,最重要的是,通過不斷地debug,掌握了找出bug的經(jīng)驗,比如斷點調(diào)試等多種方法。八、參考文獻[1]曹計昌,盧萍,李開.C語言程序設(shè)計,北京:科學(xué)出版社,2008[2]張引.C程序設(shè)計基礎(chǔ)課程設(shè)計,杭州:浙江大學(xué)出版社,2007[3]黃明,梁旭,萬洪莉.C語言課程設(shè)計,北京:電子工業(yè)出版社,2006九、源代碼及注釋<system.h>#include<stdio.h>#include<stdlib.h>#include<windows.h>#include<wincon.h>#include<conio.h>#include<string.h>#include<io.h>#include<fcntl.h>#include<sys\stat.h>#include<ctype.h>#include<time.h>#defineNUM100#ifndefTYPE_H_INCLUDED#defineTYPE_H_INCLUDED#defineSCR_ROW9999/*屏幕行數(shù)*/#defineSCR_COL80/*屏幕列數(shù)*/structscespo/*景點*/{charsp_sr_num[NUM];/*景區(qū)編號*/charsp_c_num[NUM];/*城市編號*/charscespo[NUM];/*景點名稱*/charsp_num[NUM];/*景點編號*/charsp_location[NUM];/*景點地址*/charsp_time[NUM];/*花費時間*/structscespo*next;/*指向下一個景點節(jié)點*/};structscearea/*景區(qū)*/{charsr_c_num[NUM];/*城市編號*/charscearea[NUM];/*景區(qū)名稱*/charsr_num[NUM];/*景區(qū)編號*/charsr_level[NUM];/*景區(qū)級別*/charsr_location[NUM];/*景區(qū)地址*/charsr_ticket[NUM];/*景區(qū)分類*/charsr_time[NUM];/*開放時間*/charsr_connum[NUM];/*查詢電話*/structscearea*next;/*指向下一個景區(qū)節(jié)點*/structscespo*sp_head;/*景點鏈表的頭指針*/};structcity/*城市*/{charcity[NUM];/*城市名稱*/charc_num[NUM];/*城市編號*/charc_inspnum[NUM],c_consnum[NUM];/*城市郵編、城市特色*/structcity*next;/*指向下一個城市節(jié)點*/structscearea*sr_head;/*景區(qū)鏈表的頭指針*/};/***屏幕窗口信息鏈結(jié)點結(jié)點結(jié)構(gòu)*/typedefstructlayer_node{charLayerNo;/**<彈出窗口層數(shù)*/SMALL_RECTrcArea;/**<彈出窗口區(qū)域坐標*/CHAR_INFO*pContent;/**<彈出窗口區(qū)域字符單元原信息存儲緩沖區(qū)*/char*pScrAtt;/**<彈出窗口區(qū)域字符單元原屬性值存儲緩沖區(qū)*/structlayer_node*next;/**<指向下一結(jié)點的指針*/}LAYER_NODE;/***標簽束結(jié)構(gòu)*/typedefstructlabe1_bundle{char**ppLabel;/**<標簽字符串?dāng)?shù)組首地址*/COORD*pLoc;/**<標簽定位數(shù)組首地址*/intnum;/**<標簽個數(shù)*/}LABEL_BUNDLE;/***熱區(qū)結(jié)構(gòu)*/typedefstructhot_area{SMALL_RECT*pArea;/**<熱區(qū)定位數(shù)組首地址*/char*pSort;/**<熱區(qū)類別(按鍵、文本框、選項框)數(shù)組首地址*/char*pTag;/**<熱區(qū)序號數(shù)組首地址*/intnum;/**<熱區(qū)個數(shù)*/}HOT_AREA;LAYER_NODE*gp_top_layer=NULL;/*彈出窗口信息鏈鏈頭*/structcity*gp_head=NULL;char*gp_sys_name="景點信息查詢系統(tǒng)";/*系統(tǒng)名稱*/char*gp_c_info_filename="d:\\c.txt";/*城市信息數(shù)據(jù)文件*/char*gp_sr_info_filename="d:\\sr.txt";/*景區(qū)信息數(shù)據(jù)文件*/char*gp_sp_info_filename="d:\\sp.txt";/*景點信息數(shù)據(jù)文件*/char*gp_filename="d:\\backupdata.txt";/*備份數(shù)據(jù)文件*/char*ga_main_menu[]={"文件(F)",/*系統(tǒng)主菜單名*/"數(shù)據(jù)維護(M)","數(shù)據(jù)查詢(Q)","清理屏幕(S)","幫助(H)"};char*ga_sub_menu[]={"","[S]數(shù)據(jù)保存",/*系統(tǒng)子菜單名*/"[B]數(shù)據(jù)備份","[R]數(shù)據(jù)恢復(fù)","[X]退出Alt+X","",/*空串用來在彈出菜單中分隔子菜單項,下同*/"[D]城市信息維護","[P]景區(qū)信息維護","[C]景點信息維護","","[D]城市信息查詢","[P]景區(qū)信息查詢","[C]景點信息查詢","","[T]清理屏幕","","[A]幫助","[B]關(guān)于...","[Y]所有信息"};intga_sub_menu_count[]={5,4,4,2,4};/*各主菜單項下子菜單的個數(shù)*/intgi_sel_menu=1;/*被選中的主菜單項號,初始為1*/intgi_sel_sub_menu=0;/*被選中的子菜單項號,初始為0,表示未選中*/CHAR_INFO*gp_buff_menubar_info=NULL;/*存放菜單條屏幕區(qū)字符信息的緩沖區(qū)*/CHAR_INFO*gp_buff_stateBar_info=NULL;/*存放狀態(tài)條屏幕區(qū)字符信息的緩沖區(qū)*/char*gp_scr_att=NULL;/*存放屏幕上字符單元屬性值的緩沖區(qū)*/chargc_sys_state='\0';/*用來保存系統(tǒng)狀態(tài)的字符*/HANDLEgh_std_out;/*標準輸出設(shè)備句柄*/HANDLEgh_std_in;/*標準輸入設(shè)備句柄*/intcreatelist(structcity**head);/*數(shù)據(jù)鏈表初始化*/voidInitInterface(void);/*系統(tǒng)界面初始化*/voidClearScreen(void);/*清屏*/voidShowMenu(void);/*顯示菜單欄*/voidPopMenu(intnum);/*顯示下拉菜單*/voidPopPrompt(intnum);/*顯示彈出窗口*/voidPopUp(SMALL_RECT*,WORD,LABEL_BUNDLE*,HOT_AREA*);/*彈出窗口屏幕信息維護*/voidPopOff(void);/*關(guān)閉頂層彈出窗口*/voidDrawBox(SMALL_RECT*parea);/*繪制邊框*/voidLocSubMenu(intnum,SMALL_RECT*parea);/*主菜單下拉菜單定位*/voidShowState(void);/*顯示狀態(tài)欄*/voidTagMainMenu(intnum);/*標記被選中的主菜單項*/voidTagSubMenu(intnum);/*標記被選中的子菜單項*/intDealConInput(HOT_AREA*phot_area,int*pihot_num);/*控制臺輸入處理*/voidSetHotPoint(HOT_AREA*phot_area,inthot_num);/*設(shè)置熱區(qū)*/voidRunSys(structcity**pphd);/*系統(tǒng)功能模塊的選擇和運行*/BOOLExeFunction(intmain_menu_num,intsub_menu_num);/*功能模塊的調(diào)用*/voidCloseSys(structcity*hp);/*退出系統(tǒng)*/BOOLLoadData(void);/*數(shù)據(jù)加載*/BOOLsave(void);/*保存數(shù)據(jù)*/BOOLBackupData(void);/*備份數(shù)據(jù)*/BOOLRestoreData(void);/*恢復(fù)數(shù)據(jù)*/BOOLExitSys(void);/*退出系統(tǒng)*/BOOLHelpTopic(void);/*幫助主體*/BOOLAboutDorm(void);/*關(guān)于系統(tǒng)*/BOOLinformation(void);/*所有信息*/BOOLMaintainc_Info(void);/*維護城市信息*/BOOLMaintainsr_Info(void);/*維護景區(qū)信息*/BOOLMaintainsp_Info(void);/*維護景點信息*/BOOLQueryc_Info(void);/*查詢城市信息*/BOOLQuerysr_Info(void);/*查詢景區(qū)信息*/BOOLQuerysp_Info(void);/*查詢景點信息*/voidClearWorkArea(void);BOOLset_text_success(void);BOOLset_text_fail(void);BOOLins_scespo(structcity*hp,structscespo*psp);/*插入景點信息結(jié)點*/BOOLdelsp(structcity*hp,char*sr_num,char*sp_num);/*刪除景點信息結(jié)點*/BOOLmodifsp(structcity*hp,char*sr_num,char*sp_num,structscespo*psp);/*修改景點信息結(jié)點*/BOOLdelsr(structcity*hp,char*sr_num);/*刪除景區(qū)信息結(jié)點*/BOOLins_scearea(structcity*hp,structscearea*psr);/*插入景區(qū)信息結(jié)點*/BOOLmodifsr(structcity*hp,char*sr_num,structscearea*psr);/*修改景區(qū)信息結(jié)點*/BOOLdelc(structcity**hp,char*c_num);/*刪除城市信息結(jié)點*/BOOLins_city(structcity**hp,structcity*p);/*插入城市信息結(jié)點*/BOOLmodifc(structcity*hp,char*c_num,structcity*p);/*修改城市信息結(jié)點*/structcity*seekc(structcity*hp,char*c_num);/*查找城市信息結(jié)點*/structscearea*seeksr(structcity*hp,char*sr_num);/*查找景區(qū)信息結(jié)點*/structscespo*seeksp(structcity*hp,char*sr_num,char*sp_num);/*查找景點信息結(jié)點*/structcity*seek_c(structcity*ph,intcond_num,...);/*模糊查詢景區(qū)信息結(jié)點*/structscearea*seek_sr(structcity*hp,intcond_num,...);/*模糊查詢城市信息結(jié)點*/structscespo*seek_sp(structcity*hp,intcond_num,...);/*模糊查詢景點信息結(jié)點*/BOOLjudge_c(structcity*p,char*pcondition);/*判斷景區(qū)信息數(shù)據(jù)項是否滿足查詢條件*/BOOLjudge_sr(structscearea*psr,char*pcondition);/*判斷城市信息數(shù)據(jù)項是否滿足查詢條件*/BOOLjudge_sp(structscespo*psp,char*pcondition);/*判斷景點信息數(shù)據(jù)項是否滿足查詢條件*/BOOLmatchstring(char*string_item,char*pcond);/*字符串與查詢條件是否滿足指定的運算關(guān)系*/voidtravers(structcity*head);#endif/**<TYPE_H_INCLUDED*/<main.c>#include"systerm.h"intmain(void){COORDsize={SCR_COL,SCR_ROW};/*窗口緩沖區(qū)大小*/gh_std_out=GetStdHandle(STD_OUTPUT_HANDLE);/*獲取標準輸出設(shè)備句柄*/gh_std_in=GetStdHandle(STD_INPUT_HANDLE);/*獲取標準輸入設(shè)備句柄*/SetConsoleTitle(gp_sys_name);/*設(shè)置窗口標題*/SetConsoleScreenBufferSize(gh_std_out,size);/*設(shè)置窗口緩沖區(qū)大小80*25*/LoadData();/*數(shù)據(jù)加載*/InitInterface();/*界面初始化*/RunSys(&gp_head);/*系統(tǒng)功能模塊的選擇及運行*/CloseSys(gp_head);/*退出系統(tǒng)*/return0;}/***函數(shù)名稱:LoadData*函數(shù)功能:將三類基礎(chǔ)數(shù)據(jù)從數(shù)據(jù)文件載入到內(nèi)存緩沖區(qū)和十字鏈表中.*輸入?yún)?shù):無*輸出參數(shù):無*返回值:bool類型,功能函數(shù)中除了函數(shù)ExitSys的返回值可以為外,*其他函數(shù)的返回值必須為true.**調(diào)用說明:為了能夠以統(tǒng)一的方式調(diào)用各功能函數(shù),將這些功能函數(shù)的原型設(shè)為*一致,即無參數(shù)且返回值為BOOL.返回值為時,結(jié)束程序運行.*/BOOLLoadData(){intRe=0;gc_sys_state|=1;gc_sys_state|=2;Re=createlist(&gp_head);gc_sys_state|=Re;gc_sys_state&=~(4+8+16-Re);if(gc_sys_state<(1|2|4|8|16)){/*數(shù)據(jù)加載提示信息*/printf("\n系統(tǒng)基礎(chǔ)數(shù)據(jù)不完整!\n");printf("\n按任意鍵繼續(xù)...\n");getch();}returnTRUE;}/***函數(shù)名稱:createlist*函數(shù)功能:從數(shù)據(jù)文件讀取基礎(chǔ)數(shù)據(jù),并存放到所創(chuàng)建的十字鏈表中.*輸入?yún)?shù):無*輸出參數(shù):head主鏈頭指針的地址,用來返回所創(chuàng)建的十字鏈.*返回值:int型數(shù)值,表示鏈表創(chuàng)建的情況.*0空鏈,無數(shù)據(jù)*4已加載城市信息數(shù)據(jù),無景區(qū)信息和景點信息數(shù)據(jù)*12已加載城市信息和景區(qū)基本信息數(shù)據(jù),無景點信息數(shù)據(jù)*28三類基礎(chǔ)數(shù)據(jù)都已加載**調(diào)用說明:*/intcreatelist(structcity**head)/*創(chuàng)建鏈表*/{structcity*hp=NULL,*p;structscearea*psr;structscespo*psp;FILE*pFile;intfind;intre=0;if((pFile=fopen(gp_c_info_filename,"r+"))==NULL){printf("城市信息數(shù)據(jù)文件打開失?。n");returnre;}printf("城市信息數(shù)據(jù)文件打開成功!\n");/*從數(shù)據(jù)文件中讀城市信息數(shù)據(jù),孫茹以后進先出方式建立的主鏈*/while(!feof(pFile)){p=(structcity*)malloc(sizeof(structcity));fscanf(pFile,"%s\t\t%s\t\t%s\t\t%s\n",p->c_num,p->city,p->c_inspnum,p->c_consnum);p->sr_head=NULL;p->next=hp;hp=p;}fclose(pFile);if(hp==NULL){printf("城市信息數(shù)據(jù)加載失??!\n");returnre;}printf("城市信息數(shù)據(jù)加載成功!\n");(*head)=hp;re+=4;if((pFile=fopen(gp_sr_info_filename,"r+"))==NULL){printf("景區(qū)基本信息數(shù)據(jù)文件打開?。n");returnre;}printf("景區(qū)基本數(shù)據(jù)文件打開成功!\n");re+=8;while(!feof(pFile)){psr=(structscearea*)malloc(sizeof(structscearea));//創(chuàng)建結(jié)點,存放從數(shù)據(jù)文件中讀出的景區(qū)基本信息fscanf(pFile,"%s\t\t%s\t\t%s\t\t%s\t\t%s\t\t%s\t\t%s\t\t%s\n",psr->sr_c_num,psr->sr_num,psr->scearea,psr->sr_level,psr->sr_location,psr->sr_ticket,psr->sr_time,psr->sr_connum);psr->sp_head=NULL;p=hp;/*在主鏈上查找蓋景區(qū)所在城市對應(yīng)的主鏈結(jié)點*/while(p!=NULL&&strcmp(psr->sr_c_num,p->c_num)!=0){p=p->next;}if(p!=NULL)//如果找到,則將結(jié)點以后進先出的方式插入景區(qū)支鏈{psr->next=p->sr_head;p->sr_head=psr;}else//如果沒有找到,則釋放所創(chuàng)建結(jié)點的內(nèi)存空間{free(psr);}}fclose(pFile);if((pFile=fopen(gp_sp_info_filename,"r+"))==NULL){printf("景點信息文件打開失??!\n");returnre;}printf("景點信息文件打開成功!\n");re+=16;/*湊夠數(shù)據(jù)文件中讀取景點信息數(shù)據(jù),存入景區(qū)基本信息支鏈對應(yīng)的結(jié)點的景區(qū)支鏈中*/while(!feof(pFile)){psp=(structscespo*)malloc(sizeof(structscespo));//創(chuàng)建結(jié)點,存放從數(shù)據(jù)文件中讀出的景點信息fscanf(pFile,"%s\t\t%s\t\t%s\t\t%s\t\t%s\t\t%s\n",psp->sp_c_num,psp->sp_sr_num,psp->sp_num,psp->scespo,psp->sp_location,psp->sp_time);/*查找景區(qū)信息支鏈上對應(yīng)的景點結(jié)點*/p=hp;find=0;while(p!=NULL&&find==0){psr=p->sr_head;while(psr!=NULL&&find==0){if(strcmp(psr->sr_num,psp->sp_sr_num)==0){find=1;break;}psr=psr->next;}p=p->next;}
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 財務(wù)工作整體總結(jié)
- 消防設(shè)施維護合同三篇
- 網(wǎng)絡(luò)營銷勞動合同三篇
- 高速公路貨物運輸合同三篇
- 汽車行業(yè)發(fā)展咨詢觀察
- 營銷行業(yè)安全管理工作總結(jié)
- 2001年河南高考化學(xué)真題及答案(圖片版)
- DB32∕T 3512-2019 公路協(xié)同巡查管理系統(tǒng)建設(shè)技術(shù)規(guī)范
- 2024年美術(shù)教案范例
- 農(nóng)田水利工程招標合同(2篇)
- 2024午托承包合同-校園內(nèi)學(xué)生午休服務(wù)協(xié)議3篇
- 馬克思主義基本原理+2024秋+試題 答案 國開
- 蘇州大學(xué)《線性代數(shù)與解析幾何》2023-2024學(xué)年第一學(xué)期期末試卷
- 《地震災(zāi)害及其防治》課件
- 2024年版電商平臺入駐商家服務(wù)與銷售分成合同
- 蜜雪冰城合同范例
- 小紅書種草營銷師(初級)認證考試真題試題庫(含答案)
- LPG液化氣充裝站介質(zhì)分析操作規(guī)程 202412
- 養(yǎng)老院環(huán)境衛(wèi)生保潔方案
- 2024年WPS計算機二級考試題庫350題(含答案)
- 2024年5G網(wǎng)絡(luò)覆蓋工程分包合同
評論
0/150
提交評論