教師信息管理系統(C語言課程設計)_第1頁
教師信息管理系統(C語言課程設計)_第2頁
教師信息管理系統(C語言課程設計)_第3頁
教師信息管理系統(C語言課程設計)_第4頁
教師信息管理系統(C語言課程設計)_第5頁
已閱讀5頁,還剩58頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

課程設計任務書計算機科學與技術專業年級班―、 設計題目教師信息管理系統設計二、 主要內容教師信息包括教師號、、性別、年齡、學歷、職稱、工資、住址、電話等(教師號不重復)。試設計一教師信息管理系統,使之能提供以下功能:系統以菜單方式工作教師信息錄入功能輸入教師信息刪除功能教師信息瀏覽功能 輸出查詢和排序功能:(至少一種查詢方式)--算法按教師號查詢按職稱查詢等具體要求圍繞課程設計的目的和意義,基本要求如下:1、 認真閱讀《C語言課程設計》指導書,明確課程設計的目的、意義和要求;2、 快速總結C程序設計語言的精髓,如:函數的概念、函數的設計和函數的調用;3、 快速熟悉TuberC或C++的上機環境。能熟練進行高級編輯操作(特別是字塊操作);熟悉步進式、斷點跟蹤的程序調試方法,提高工作效率。4、 根據“課程設計題目”,采用結構化的程序設計思想,確定系統的總體設計方案、確"定時間進度。如果是多人共一題,則要首先完成小組內的人員分工及安排,不允許重題現象。5.學習并了解良好的程序設計風格。按質、按量、并按時間完成課程設計的任務。6.提供可運行的課程設計系統,參加上機面試答辯。本次課程設計的重點是:學會設計并編寫函數,掌握好各函數之間的調用關系;利用文件操作函數,建立數據庫并完成對數據庫的各種操作;掌握幾種典型算法的應用(如:冒泡法、選擇排序法和折半查找法)。同時鍛煉學生根據題目進行分析、設計、編碼、調試程序和書寫必要文檔的綜合處理能力,從實踐中學習并體會程序設計的結構化思想和設計方法。四、 進度安排依照教學計劃,課程設計時間為3周。按照軟件工程的思想,軟件系統的分析設計至關重要,并要充分重視書寫“文檔”。避免甚至杜絕“拿到題目就編碼”的現象。建議將時間分為三個階段:第一階段,根據題目要求,拿出系統的總體設計方案:即構思各程序模塊的算法,并畫出相應的N-S圖,同時編寫相應的文檔;第二階段,根據N-S圖編寫程序代碼并單獨調試,再將調試通過的各個子模塊進行集成調試;第三階段,歸納文檔資料,按要求填寫在《課程設計說明書》上,并參加答辯。三個階段時間分配的大概比例是:35:45:20。五、 完成后應上交的材料1.課程設計的題目、系統的總功能和各子模塊的功能;2.題目的設計思想(或算法)簡述;3.主要程序的框圖(要求用N-S圖);4.源程序代碼(要求在關鍵的位置有注釋,從而增加程序的可讀性);5.課程設計的總結報告,主要包括以下內容:(1)課程設計中遇到的主要問題和解決方法;(2)你的創新和得意之處;(3)設計中存在的不足及改進的設想;(4)本次課程設計的感想和心得體會。以上完成的源程序及相關文檔,填寫在《課程設計說明書》上要求干凈整潔,符合課程設計的要求和規范。六、 總評成績指導教卿 簽名日期 年月日系主任 審核日期 年月日目錄—?題目設計思想簡述?5二?程序的N—S圖?72.1總程序的N—S圖?72.2各子函數的N—S圖?72.2.1教師信息錄入函數?82.2.2教師信息瀏覽函數?82.2.3教師信息刪除函數?92.2.4教師信息查詢函數?92.2.5教師信息排序函數?10三?源程序代碼?11四?程序運行效果圖?334.1登陸界面?334.2菜單欄?334.3錄入功能?344.4瀏覽功能?344.5刪除功能?354.6查詢功能?354.7排序功能?36五?總結報告?375.1課程設計中遇到的主要問題和解決方法?375.2你的創新和得意之處?375.3設計中存在的不足及改進的設想?375.4本次課程設計的感想和心得體會?38□如上圖所示,該教師信息管理系統主要是一個以動態鏈表的應用為基礎來實現對教師信息的錄入,查詢,刪除等功能。定義教師結構體如下:structteacher{longnum;//教師號charname[20];//charsex[5];〃性別intage;//年齡charedu[20];〃學歷chartitle[20];〃職稱longwage;//工資charaddr[100];//地址chartelep[15];//structteacher*next;}*head=NULL;主函數只進行口令函數和菜單欄函數的調用,主要工作通過菜單函數實現。口令為123456。菜單欄函數通過用switch語句實現不同功能的選擇,不同的功能用不同的子函數實現。錄入教師信息通過建立動態單鏈表來實現。瀏覽教師信息則通過將鏈表所有數據順序輸出來實現。查詢功能只要從鏈表頭開始不斷往下一個結點讀取信息跟所要查找的信息比較,直到讀取到的信息跟所要查找的信息相同或鏈表尾為止,并把此結點的信息輸出。刪除教師信息的函數是通過查找鏈表中有該信息的結點后將該結點移出鏈表,即使該結點前一個結點直接指向該結點后面的結點來達到刪除信息的目的

排序函數是通過交換結點在鏈表中的位置來實現的,即使得各結點在鏈表中的位置便是所要得到的排序該信息應在的位置,這樣直接順序輸出鏈表的信息時就能按所要的排序輸出了。程序的N—S圖2?1總程序的N—S圖

說明:各功能都是通過調用子函數來實現的。2?2各子函數的N—S圖子函數主要包括教師信息錄入,教師信息瀏覽,教師信息刪除,教師信息查詢和教師信息排序等5個。在退出系統時調用了一個保存信息到文件中的函數,該函數只是簡單的應用了文件的讀寫功能,在此不寫出其N—S圖。2?2?1教師信息錄入函數pl=(structteacher*)malloc(LEN)輸入一個教師號p1->num教師號為0^ ——F鏈表 一——Head=P1p3=head當p3->next不為空p3=p3->nextp3->next=p1當教師號不為o輸入教師的姓名,性別,年齡,學歷,職稱,月薪,住址,電話n=n+1第一個^入^^^^—

head=pl p2->next=plp2=plp1=(structteacher*)malloc(LEN)

輸入一個教師號p1->nump2->next=NULL說明:p1=(structteacher*)malloc(LEN)中LEN是在程序開頭的宏定義(#defineLENsizeof(structteacher))。其中n為全局變量,用來統計鏈表的結點數,以下出現的n都是同一個。2.2.2教師信息瀏覽函數p=head鏈表頭為空顯示“還未錄入過信息”輸出p所指向的位置中的教師的所有信息p=p->next直到p為空說明:實際程序中在鏈表頭為空是提供了可以瀏覽之前保存在文件中的信息的功能,當選擇該功能時就調用了一個讀取文件的函數該函數只是對文件讀寫的簡單應用,詳細請看后面第三部分代碼,這里不寫出其N-S圖數輸入要刪除教師信息的教師號ip1=head出還錄過師輸“未入教當數輸入要刪除教師信息的教師號ip1=head出還錄過師輸“未入教當i!=p1->num2.2.4教師信息查詢的函數在查詢方面程序為用戶提供了4種不同方式的查詢,每一種方式j=0的查詢為一個子函數,此時也是采用一個菜單欄函數進行選擇查詢方式并調用該種方式的函數。菜單欄函數跟主程序菜單欄的算法一樣,此處只給出查詢函數的N—S圖。鏈表頭為空輸出“還未錄入程序”并退出函數輸入要查找的教師信息的對應方法的對應數據ip=head當p非空時跟p中對應信息不等輸出p所指向的位置的教師的所有信息j=j+ip=p->next

說明:該N—S圖是對應姓名,教師號,職稱,年齡四種查找方式的函數的。當選擇教師號查找時,輸入i的即為教師號,與i做比較的為p中的教師號,選擇其他查找方式時類似。2.2.5教師信息排序函數排序也跟查詢一樣給出多種排序方式并采用菜單欄函數,此處也只輸出“還未錄入過教師信息”并退出函數'''^-.第二個結點為空Fpl=headp2=head->next給出排序函表的不為空圖。說明:p1,p2指向的結點用來比較,p3,p4是用來記錄結點的,當選用的排序方式不同,p1,p2用來比較的信息為所選方式的信息。三.源程序代碼#include<stdio.h>#include<malloc.h>#include<stdlib.h>#include<string.h>#defineLENsizeof(structteacher)〃宏定義結構體字節數intn=0;structteacher〃定義結構體{longnum;//教師號charname[20];//charsex[5];〃性別intage;//年齡charedu[20];//學歷chartitle[20];//職稱longwage;//工資charaddr[100];//地址chartelep[15];//structteacher*next;//扌旨向下一個結點}*head=NULL;voidkey()//口令檢查的函數inti;longa;for(i=0;i<3;i++){printf(”請輸入口令(還可輸入%d次):\n",3-i);scanf("%ld",&a);if(a==123456)〃檢查口令是否正確{printf("歡迎進入系統\n");break;}elseprintf(”口令錯誤\n");}if(i==3)〃判斷可以輸入口令的次數是否用完{printf(”可使用的口令輸入次數已用完,將自動退出!\n");exit(0);}}voidsave()〃把數據存入文件的函數FILE*fp;inti;charfilename[20];structteacher*p;printf("\n是否把此次登錄系統錄入和修改后的教師信息保存到文件中\n");printf(" 1:【是】0【否】\n請選擇:");scanf("%d",&i);while((i!=0)&&(i!=1))//判斷輸入的選擇是否有效{printf(”選擇無效,請重新輸入正確選項:");scanf("%d",&i);}if(i==1)//判斷是否選擇了要保存{printf("\n請輸入要保存數據的文件名:");scanf("%s",filename);if((fp=fopen(filename,"wb"))==NULL)printf("\n無法打開文件\n");exit(0);}for(p=head;p!=NULL;p=p->next)if(fwrite(p,sizeof(structteacher),1,fp)!=1)

printf("\n此處數據有誤\n");fclose(fp);}exit(0);}voidread()〃從文件讀出數據的函數{structteacherteach[299],temp;inti=0;FILE*fp;charfilename[20];printf("\n請輸入存有教師信息的文件名:");scanf("%s",filename);if((fp=fopen(filename,"rb"))==NULL){printf("\n無法打開文件\n");exit(0);}fseek(fp,-sizeof(structteacher),2);/*將位置指針從文件末尾后退一個結構體的字節數*/fread(&temp,sizeof(structteacher),1,fp);/*從所指向的文件中讀出數據存儲到結構體變量temp中*/fseek(fp,0,0);//將位置指針移到文件的開頭if(fread(&teach[i],sizeof(structteacher)丄fp)==1)/*判斷文件開頭讀入的數據是否為空*/{printf("\n存有的教師信息如下:\n");while(teach[i].num!=temp.num)〃進行循環讀取文件{printf(”教師號:%ld,:%s性別:%s,年齡:%d,學歷:%s,",teach[i].num,teach[i].name,teach[i].sex,teach[i].age,teach[i].edu);printf("職稱:%s\n 月薪:%ld,住址:%s,:%s\n",teach[i].title,teach[i].wage,teach[i].addr,teach[i].telep);i=i+1;fread(&teach[i],sizeof(structteacher)丄fp);/*從文件中讀入數據存儲到結構體變量teach【i】中*/}//輸出文件中的最后一個信息printf(”教師號:%ld,:%s性別:%s年齡:%d,學歷:%s,",teach[i].num,teach[i].name,teach[i].sex,teach[i].age,teach[i].edu);printf("職稱:%s\n 月薪:%ld,住址:%s,:%s\n",teach[i].title,teach[i].wage,teach[i].addr,teach[i].telep);fclose(fp);}elseprintf("該文件中無教師信息\n");//文件為空時輸出此處}voidcreat()//錄入教師信息的函數{structteacher*p1,*p2,*p3;p1=p2=(structteacher*)malloc(LEN);/*申請一個結構體字節數的空間用來存儲一個教師的信息*/printf(”請輸入一位教師的教師號(結束錄入請輸入0):”);scanf("%ld",&p1->num);if(p1->num!=0)〃判斷用戶是要結束錄入還是要存儲信息if(head==NULL)head=p1;/*判斷鏈表是否為空,是則將鏈表頭指向p1*/else〃鏈表不為空則將鏈表尾指向p1{p3二head;//p3用來記錄鏈表的尾部while(p3->next!二NULL)/*若p3不是鏈表尾則將p3指向下一個結點*/p3=p3->next;p3->next=p1;//將最后一個結點指向p1}while(p1->num!=0)//判斷用戶是否結束錄入功能{//錄入該教師號的教師對應的信息printf(":");scanf("%s",p1->name);printf("性別:");scanf("%s",p1->sex);printf(”年齡:");scanf("%d",&p1->age);printf("學歷:”);scanf("%s",p1->edu);printf("職稱:");scanf("%s",p1->title);printf("月薪:");scanf("%ld",&p1->wage);printf("住址:");scanf("%s",p1->addr);printf(":");scanf("%s",p1->telep);n二n+1;〃給統計錄入的教師數n加一/*判斷是否為第一個錄入的信息,是則將鏈表頭指向p1,否則將p2指向p1*/if(n==1)head=p1;elsep2->next=p1;p2=p1;//p2用來記錄鏈表的最后一個結點p1=(structteacher*)malloc(LEN);〃重新申請空間printf(”請輸入一位教師的教師號(結束錄入請輸入0):");scanf("%ld",&p1->num);}p2->next二NULL;//將最后一個結點指向空}voidprint()//輸出教師信息的函數{structteacher*p;inti;p=head;if(head!二NULL)//判斷鏈表是否為空{printf("\n這%d位教師的信息為:\n",n);do{printf(”教師號:%ld,:%s性別:%s,年齡:%d學歷:%s職稱:%s\n",p->num,p->name,p->sex,p->age,p->edu,p->title);printf("月薪:%ld,住址%s,:%s\n",p->wage,p->addr,p->telep);p二p->next;〃將下一個結點的首地址賦給p}while(p!二NULL);//到鏈表尾時結束循環}else//鏈表為空時執行以下部分{printf("\n你此次登錄系統還沒有錄入教師信息,可進行以下操作:\n");printf(" 1:【瀏覽以前保存在文件中的教師信息】2:【開始錄入教師信息】\n");printf(" 3:【退出系統】4【返回菜單】\n");printf(”請選擇:");scanf("%d",&i);while((i<1)&&(i>4)){printf(”選擇無效,請重新輸入正確選項:");scanf("%d",&i);if(i==1)read();〃調用從文件讀取數據的函數if(i==2)creat();〃調用錄入信息的函數if(i==3)exit(O);//退出系統}}voiddel()//刪除教師信息的函數{structteacher*p1,*p2;longi;if(head二二NULL)//判斷鏈表是否為空{printf("\n還未錄入過教師信息\n");//鏈表為空時輸出return;}printf(“請輸入要刪除教師信息的教師號:");scanf("%ld",&i);p1=head;while(i!=p1->num)//直到p1指向的結點是要刪除的信息位置if(p1->next==NULL)break;//p1的下個結點為空則退出循p2二p1;//p2用來記錄pl的前一個結點p1=p1->next;//p1指向下一個結點}if(i二二p1->num)〃判斷pl是否為要刪除的信息{if(p1二二head)head二p1->next;/*若p1為頭結點則將頭指針指向p1的下一個結點*/elsep2->next=p1->next;/*p1非頭結點則將p1后面的結點連接到p1前一個結點的后面*/printf("\n已刪除教師號為%ld的教師信息\n",i);n=n-1;//記錄教師數的n要減一}//p1不是要刪除的信息則表示要刪除的信息不再鏈表中elseprintf("\n已錄入的教師信息中沒有教師號為%ld的\n",i);return;}voidsort1()//按教師號進行排序的函數{structteacher*p1,*p2,*p3,*p4;inti,j;if(head==NULL){printf("\n還未錄入過教師信息\n");return;}if(head->next!=NULL)//判斷是否只有一個信息{//用冒泡法排序p1=head;//p1記錄用來比較的兩個結點中的前面一個p2=head->next;//p2記錄比較的兩個結點中的后面個for(i=1;i<n;i++)〃實現n-1趟比較的外循環{for(j=O;j<n-i;j++)〃在每一趟中進行n-i次比較的內循環{if(p1->num>p2->num)/*比較相鄰兩個結點中教師號大小*/{//當p1的教師號大時則對調兩個結點的位置if(p1==head)head=p2;elsep3->next=p2;/*p1為頭結點時則將頭指針指向p2,否則就將p2連接到用來記錄pl前一個結點的p3的后面*/p4二p2->next;//p4用來記錄p2后面的結點p2->next二p1;//p1的結點換到原來p2的位置p1->next=p4;//原來p2后面的結點連接到p1p3=p2;//p3記錄下p2的位置p2=p4;//p2指向原來位置的下一個結點}else/*p1中教師號沒有打過p2中教師號,則將p1,p2都指向它們各自位置的下一個結點*/p3=p1;//記錄p1后移一位后它前個結點的位p1=p2;p2=p2->next;pl二head;//p1指向鏈表頭,開始下一趟外循環的準備p2二p1->next;//p2指向鏈表第二個結點}}printf("\n按教師號排序后的教師信息如下:\n");print();〃調用教師信息瀏覽函數}voidsort2()//按月薪排序的函數,算法跟按教師號排序的一樣{structteacher*p1,*p2,*p3,*p4;inti,j;if(head==NULL){printf("\n還未錄入過教師信息\n");return;}if(head->next!=NULL)p1=head;for(i=1;i<n;i++){for(j=0;j<n-i;j++){if(p1->wage>p2->wage){if(p1==head)head=p2;elsep3->next=p2;p4=p2->next;p2->next=p1;p1->next=p4;p3=p2;p2=p4;}else{p3=p1;p1=p2;p2=p2->next;}p1=head;p2=p1->next;}}printf("\n按月薪排序后的教師信息如下:\n");print();}voidsort3()〃按年齡排序的函數,算法跟按教師號排序的一樣{structteacher*p1,*p2,*p3,*p4;inti,j;if(head==NULL){printf("\n還未錄入過教師信息\n");return;{p1=head;p2=head->next;for(i=1;i<n;i++){for(j=0;j<n-i;j++){if(p1->age>p2->age){if(p1==head)head=p2;elsep3->next=p2;p4=p2->next;p2->next=p1;p1->next=p4;p3=p2;p2=p4;}else

p3=p1;p1=p2;p2=p2->next;}}p1=head;p2=p1->next;}}printf("\n按年齡排序后的教師信息如下:print();}voidchoose1()〃選擇排序方式的函數{inti;排序方式\n");排序方式\n");2:printf(" 1【:按教師號排序】【按年齡排序】\n");

printf("3printf("3【按月薪排序】\n");printf("請選擇:”);scanf("%d",&i);while((i<1)||(i>3)){printf("選擇無效,請重新輸入正確選項:");scanf("%d",&i);}switch(i){case1:sort1();break;case2:sort3();break;case3:sort2();break;}}voidsearch1()〃按教師號查找的函數{structteacher*p;longi;〃存儲用戶輸入的想要刪除的教師號if(head==NULL){printf("\n還未錄入過教師信息\n");return;}printf(”請輸入要查找的教師信息的教師號:");scanf("%ld",&i);for(p=head;p!=NULL;p=p->next)〃p順序指向結點與i比較,找出有i的數據的結點并輸出if(p->num==i){printf(”教師號:%ld,:%s性別:%s,年齡:%d,學歷:%s職稱:%s\n",p->num,p->name,p->sex,p->age,p->edu,p->title);printf("月薪:%ld,住址:%s,:%s\n",p->wage,p->addr,p->telep);return;}printf("已錄入的教師信息中不存在該教師號\n");}voidsearch2()〃按姓名查找的函數{structteacher*p;chari[20];〃記錄用戶輸入的想要刪除的姓名intj=O;//j用來記錄找到了多少個信息if(head==NULL){printf("\n還未錄入過教師信息\n");return;}printf(”請輸入要查找的信息的教師姓名:");scanf("%s",i);for(p=head;p!=NULL;p=p->next)if(strcmp(p->name,i)==0)〃比較p指向的結點中的姓名跟i的是否一致,是則輸出{printf(”教師號:%ld,:%s性別:%s,年齡:%d,學歷:%s職稱:%s\n",p->num,p->name,p->sex,p->age,p->edu,p->title);printf(" 月薪:%ld,住址%s,:%s\n",p->wage,p->addr,p->telep);j二j+1〃每輸出一個教師的信息貝打加一}if(j==O)printf("已錄入的教師信息中不存在該姓名的教師\n");}voidsearch3()〃按職稱查找的函數,算法與按姓名查找的一樣{structteacher*p;chari[20];intj=0;if(head==NULL){printf("\n還未錄入過教師信息\n");return;}printf("請輸入要查找的信息的教師職稱:");scanf("%s",i);for(p=head;p!=NULL;p=p->next)if(strcmp(p->title,i)==0)printf(”教師號:%ld,:%s性別:%s,年齡:%d,學歷:%s職稱:%s\n",p->num,p->name,p->sex,p->age,p->edu,p->title);printf(" 月薪:%ld,住址:%s,:%s\n",p->wage,p->addr,p->telep);j=j+1;}if(j==0)printf("已錄入的教師信息中不存在該職稱的教師\n");}voidsearch4()〃按年齡查找的函數,算法與按教師號查找的一樣{structteacher*p;inti,j=0;if(head==NULL){printf("\n還未錄入過教師信息\n");return;}printf(”請輸入要查找的信息的教師年齡:");scanf("%d",&i);for(p=head;p!=NULL;p=p->next)if(p->age==i){printf(”教師號:%ld,:%s性別:%s,年齡:%d學歷:%s職稱:%s\n",p->num,p->name,p->sex,p->age,p->edu,p->title);printf("月薪:%ld,住址:%s,:%s\n",p->wage,p->addr,p->telep);j=j+1;}if(j==0)printf("已錄入的教師信息中不存在該年齡的教師\n");}voidchoose2()〃選擇查找方式的函數{inti;printf(” 查詢方式\n");printf(" 1:【按教師號查詢】2:【按姓名查詢】\n");printf("3:printf("3:【按職稱查詢】4:【按年齡查詢】\n");printf("請選擇:”);scanf("%d",&i);while((i<1)||(i>4)){printf("選擇無效,請重新輸入正確選項:");scanf("%d",&i);}switch(i){case1:search1();break;case2:search2();break;case3:search3();break;case4:search4();break;}}voidmenu()〃菜單欄函數inti;

printf("菜單\n");printf("TOC\o"1-5"\h\zprintf(" 1【:教師信息錄入】 2:【教師信息輸出】\n");printf(" 3【:教師信息刪除】 4:【查詢個人信息】\n");printf(" 5【:排序】 6:【退出系統】\n");printf(”請選擇:”);scanf("%d",&i);while((i<1)||(i>6)){printf(”選擇無效,請重新輸入正確選項:");scanf("%d",&i);}switch(i){case1:creat();break;case2:print();break;case3:del();break;case4:choose2();break;case5:choose1();break;case6:save();}menu();}voidmain()〃主函數{key();menu();}程序運行效果圖4.1登陸界面1:g■卜?■百~9S3□El*4?2淞盂.iiiHipmcl&O'—■^jii^i-■THLIg.器456slsisA洲琢?EF課因刑甫尊-t-.BDebug\201o314124器蘭-ex巴歐迎進人系統F ~—v v~—I■E;\.直程序悵程:5計回Debug\201■朗1^1241^!].exe'if迪揉;1請毓人一位教師的教師號(結朿錄人請輸加):S1:陳全|lgl=男高級教師3000怫山市程城區江灣一路“號H瞎人一位教師的教師號I結束錄入請輸入盼:a衆單4.4瀏覽功能J]岀息啟A統吒-£■!」[[[31J

m息.1ZI啟<疔葉為.-1[LFL本科卿二高級教師??號?電話:34234233234:3423^233234口3>:Bju=it:3423123323d£^r:. I+站士'E:\JI程庫鴉程沒計\5\Debu/兀10214124陳金Hmxe"..- 云4.5刪除功能11出巨帛工..G'InVJ岀罷退FLrL[2:4:6:嚟蚱早g:r11岀息f亠手工忌哉杳退[[[至甲U出息3

乍丁忌

[[[至單師信息的勒帀號:已刪除勒帀號劃的教師宿息TJTJ入除自3eli亠一石?一E1[[rL■■

一竿

二-

it4.6查詢功能.T存至矗:劊.空亍:研士%.取萍:卜戸:廣州白互耳電話:133-123?534榮單登再萬匚I7T:\^J?\iM6SHA,5\Pebug>i2010314124S^ll.ewe1I.-/■-T1■£-_.-■1246135單舉JJJ土氏¥41-.+卡1.“--F曲<100k.足:40「要:7薪擇入號曰住-iu^U岀息自A綜擊工學In量峯耳rLrLfU、莘耳刊ft]邛用序K—[FLF4.7排序功能■ 'E:■■認輕序倆逞設計右\Debug\201Q3卻丄朗底金Mbhc-ljrt'II..-I屮[LFLa-■-246a-■-135F■■■■?■--:9薪:5薪:7薪u-一戶匸」.戶」」”匸?[[13睪ij-人除汛田nr-nrW亠亍IT'irli4鬥k:i1SFJ?4|==>rft「懾牛1^私陀.-..屯.汽45:電:U|J:2表歷32歷1S歷34錄???-?.0-lc--rrO__餐捋」〔%-£.」-區」區爲焉兔址H二-哼市攜菖

溫馨提示

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

評論

0/150

提交評論