軟件工程課程設計實驗報告-學生信息管理系統_第1頁
軟件工程課程設計實驗報告-學生信息管理系統_第2頁
軟件工程課程設計實驗報告-學生信息管理系統_第3頁
軟件工程課程設計實驗報告-學生信息管理系統_第4頁
軟件工程課程設計實驗報告-學生信息管理系統_第5頁
已閱讀5頁,還剩26頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

軟件工程課程實驗報告

學生信息管理系統

系統名稱學 院

_ 學生信息管理系統設計文檔可行性研究技術可行性已經有人開發過,并且我們也都使用過相類似系統,對其一般性的軟件和操作環境、編譯環境都比較熟悉,所以說在技術上來說是可行的。經濟可行性當前系統只對服務器有關的要求,在服務費用方面,支出在你那個承擔的范圍,以后的維護及其他設備的總共費用在可以承擔的范圍。用當前系統可以節約出能夠支付當前系統的直接支出,以后維護費用更是比以前的機制節約很多錢。操作可行性系統的操作方式在這個用戶組織內能行得通。需求分析輸入讓學生在紙面上填寫相關內容,然后等待輔導員或管理員的審批確認后,再輸入數據庫中保存。輸出學生選擇用戶選項進入系統后,系統可經有算法程序輸出學生基本信息表,學習成績表等。打印輸出可打印基本信息、學習成績等各種表格以及在對相應信息進行統計操作后的表格。文件輸出可將所有打印表格輸出到

EXCEL

文件中,以便用戶使用其它的

EXCEL

軟件改變表格的大小及字體。故障處理內部故障處理在開發階段可以隨即修改數據庫里的相應內容。外部故障處理對編輯的程序進行重裝載時,第一次裝載認為錯,修改。第二次運行,在需求調用時出錯,有錯誤提示,重試。性能要求分析系統易操作性所開發的系統應做到操作簡單,盡量使系統操作不受用戶對電腦知識水平的限制。系統具有可維護性由于系統涉及的信息比較廣,數據庫中的數據需定期修改,系統可利用的空間及性能也隨之下降,為了使系統更好地運轉,學院可以對系統數據及一些簡單的功能進行獨立的維護及調整。2.4.3

系統具有開放性該系統能夠在開放的硬件體系結構中運行,并且能與其他系統順利連接,不會因外部系統的不同面要做在量的修改工作。概要設計基本設計概念和處理流程管理員通過密碼認證,進入信息管理頁面對學生相關信息的錄入、更新、修改、添加等操作,也可以通過查詢界面對學生信息進行完全的查詢,而學生和相關人員只能通過公共的查詢界面對學生信息進行查詢,如要對學生信息進行完全查詢就需要得到管理員的同意。接口設計本系統采用快速原型開發工具

Visual

Basic

6.0

進行開發,所提供的不同層次的接口,都具有高度的集成性,本系統沒有采用低級語言設計和完成自定義接口,因此接口設計部分已經由不同方式的組件來完成了,以下只做簡單說明。用戶接口說明將向用戶提供的命令和它們的語法結構,以及軟件的回答信息。命令語法信息正確信息錯誤提交IF ELSE進入系統返回到當前界面重設點擊事件清空輸入的數據無取消點擊事件返回到當前界面無3.2.2

外部接口說明本系統同外界的所有接口的安排包括軟件與硬件之間的接口、本系統與各支持軟件直接的關系。管理界面數據

中心處理處理打印查詢管理信息輸出查詢用戶界面硬件接口軟件接口鍵盤鼠標打印機主模塊√√管理模塊√√√查詢模塊√√√3.2.3

內部接口說明本系統之內的各個系統元素之間的接口的安排。數據庫接口設計采用ADO

連接方式。模塊名稱主模塊管理員驗證模塊用戶查詢界面管理界面主模塊√√√管理員驗證模塊√√用戶查詢界面√管理界面√√詳細設計控制流程圖主模塊軟件結構4.1.2

管理員登陸軟件結構4.1.3

用戶查詢軟件結構用戶查詢模塊輸入查詢條件IF

正確ELSE輸出結果打印出結果返回重新輸入條件4.2

源程序流程圖5、項目測試功能截圖:5.1登陸界

面5.2學生用戶功能界面5.3

學生查詢功能5.4管理員管理界面5.5管理員輸入功能5.6管理員刪除功能5.7管理員查詢功能5.8管理員修改功能5.9管理員插入功能5.10統計功能5.11分類功能5.12顯示功能文件保存名為:STUDENT5.13

管理員保存功能路徑為:C:\6、項目管理6、1

人員管理團隊負責人:陶修赟小組成員:萬富,洪鑫,汪賢惠,項鑫6、2

產品管理本產品工作于Win-TC

工作環境,用于對學生成績的管理。學生用戶,可進行查詢課程成績;管理員可對學生及其成績進行錄入、修改、查詢、排列等功能。本系統可進行維護,修改。6、3

進程管理標志:提交可行性分析報告標志:提交項目開發計劃標志:完成需求分析報告標志:完成軟件分析與設計文檔標志:代碼編寫全部完成標志:完成軟件測試,可投入使用可行性分析:5月23日-5月24日項目開發計劃:5月25日-5月26日需求分析:5月27日-5月27日軟件設計:5月30日-6月1日編程實現:6月2日-6月10日軟件測試:6月13日-6月14日6、4

項目計劃甘特圖7、編 碼#include<stdio.h>#include

<stdlib.h>#include"string.h"#include

"conio.h"----------------------------STUDENT---------------------------------- \n"| number

| name

|Comp|Math|Eng

|

sum

||---------------|---------------|----|----|----|--------|-------|-----|

"| %-10s

|%-15s|%4d|%4d|%4d|

%4d |%.2f|%4d|\n"#defineHEADER1"#defineHEADER2"ave |mici|\n"#defineHEADER3"#define

FORMAT

"#defineDATAp->data.num,p->,p->data.egrade,p->data.mgrade,p->data.cgrade,p->data.total,p->data.ave,p->data.mingci#define

END " ---------------------------------------------------------------------

\n"intsaveflag=0;

/*是否需要存盤的標志變量*/typedef

struct

student /*標記為

student*/{charnum[10];char

name[15];int

cgrade;int

mgrade;integrade;inttotal;floatave;int

mingci;/*學號*//*姓名*//*C

語言成績*//*數學成績*//*英語成績*//*總分*//*平均分*//*名次*/};/*定義每條記錄或結點的數據結構,標記為

node*/typedefstruct

node{structstudentdata;structnode

*next;}Node,*Link;/*清屏.與

clrscr()功能相同*//*在文本模式中選擇新的字符顏色*/TheStudents'GradeManagementSystem

\n");void

menuchoice(){system("cls");textcolor(10);gotoxy(7,5);cprintf("gotoxy(7,8);printf("\nPleaseEnter

your

choice; 0enterstudents'system\n\t\t\t");printf(" ");printf("1enterteachers'

system\n");}void

menu()

/*菜單函數*/{/*清屏.與

clrscr()功能相同*//*在文本模式中選擇新的字符顏色*//*在文本窗口中設置光標,下同*/TheStudents'GradeManagementSystem

\n");system("cls");textcolor(10);gotoxy(7,5);cprintf("gotoxy(7,8);cprintf("*************************Menu********************************\n");gotoxy(7,9);*\n");*\n");*\n");*\n");1

input record 2delete

record3

search record 4modify

record5

insert record 6

count record7sort

reord

8save

record9

display

record 0

quit system*\n");cprintf("gotoxy(7,10);cprintf("gotoxy(7,11);cprintf("gotoxy(7,12);cprintf("gotoxy(7,13);cprintf("gotoxy(7,14);cprintf("/*cprintf()

送*************************************************************\n");格式化輸出至文本窗口屏幕中*/}/*清屏.與

clrscr()功能相同*//*在文本模式中選擇新的字符顏色*//*在文本窗口中設置光標,下同*/TheStudents'GradeManagementSystem

\n");void

menustudent(){system("cls");textcolor(10);gotoxy(7,5);cprintf("gotoxy(7,8);cprintf("*************************Menu********************************\n");gotoxy(7,9);*3

search record 0

quit system*\n");cprintf("gotoxy(7,10);cprintf("/*cprintf()

送*************************************************************\n");格式化輸出至文本窗口屏幕中*/}void

printheader()

/*格式化輸出表頭*/{printf(HEADER1);printf(HEADER2);printf(HEADER3);}voidprintdata(Node

*pp)

/*格式化輸出表中數據*/{Node*

p;p=pp;printf(FORMAT,DATA);}has

wrong! press

any

key

tovoidWrong() /*輸出按鍵錯誤信息*/{printf("\n\n\n\n\n***********Error:inputcontinue**********\n");getchar();}void

Nofind() /*輸出未查找此學生的信息*/{printf("\n=====>Notfindthis

student!\n");}void

Disp(Link

l) /*顯示單鏈表

l

中存儲的學生記錄,內容為

student

結構中定義的數據項*/{Node

*p;p=l->next;

/*l

存儲的是單鏈表中頭結點的指針,該頭結點沒有存儲學生信息,指針域指向的后繼結點才有學生信息*/if(!p){printf("\n=====>Notstudentrecord!\n");getchar();return;}printf("\n\n");printheader();

/*輸出表格頭部*/while(p) /*逐條輸出鏈表中存儲的學生信息*/{printdata(p);p=p->next;

/*移動至下一個結點*/printf(HEADER3);}getchar();}Node*

Locate(Link

l,char

findmess[],char

nameornum[])

/*用于定位鏈表中符合要求的節點,并返回指向該節點的指針,findmess[]保存要查找的具體內容;

nameornum[]保存按什么查找;在單鏈表

l中查找;*/{Node

*r;if(strcmp(nameornum,"num")==0)

/*按學號查詢*/{r=l->next;while(r){if(strcmp(r->data.num,findmess)==0)

/*若找到

findmess

值的學號*/return

r;r=r->next;}}else

if(strcmp(nameornum,"name")==0) /*按姓名查詢*/{r=l->next;while(r){/*若找到

findmess

值的學生姓名*/if(strcmp(r->,findmess)==0)return

r;r=r->next;}}return

0;}/*輸入字符串,并進行長度驗證(長度<lens)*/voidstringinput(char*t,intlens,char

*notice){char

n[255];do{printf(notice);

/*顯示提示信息*/scanf("%s",n); /*輸入字符串*/if(strlen(n)>lens)printf("\n

Exceed

the

required

length!

\n");

/*進行長度校驗,超過

lens值重新輸入*/}while(strlen(n)>lens);strcpy(t,n);

/*將輸入的字符串拷貝到字符串

t中*/}int

numberinput(char

*notice) /*輸入分數,0<=分數<=100)*/{int

t=0;do{printf(notice);

/*顯示提示信息*/scanf("%d",&t); /*輸入分數*/if(t>100||

t<0)

printf("\n

Score

must

in

[0,100]!

\n");

/*進行分數校驗*/}while(t>100||t<0);return

t;}void

Add(Link

l) /*增加學生記錄*/{Node

*p,*r,*s;

/*實現添加操作的臨時的結構體指針變量*/char

ch,flag=0,num[10];r=l;s=l->next;system("cls");Disp(l);

/*先打印出已有的學生信息*/while(r->next!=NULL)r=r->next;

/*將指針移至于鏈表最末尾,準備添加記錄*/while(1)/*一次可輸入多條記錄,直至輸入學號為

0

的記錄結點添加操作*/{while(1)

/*輸入學號,保證該學號沒有被使用,若輸入學號為

0,則退出添加記錄操作*/{stringinput(num,10,"Input

number(press

'0'return

menu):");

/*格式化輸入學號并檢驗*/flag=0;if(strcmp(num,"0")==0)/*輸入為

0,則退出添加操作,返回主界面*/{return;}s=l->next;while(s)

/*查詢該學號是否已經存在,若存在則要求重新輸入一個未被占用的學號*/{if(strcmp(s->data.num,num)==0){flag=1;break;}s=s->next;}if(flag==1)/*提示用戶是否重新輸入*/{getchar();printf("=====>Thenumber%sisnotexisting,tryagain?(y/n):",num);scanf("%c",&ch);if(ch=='y'||ch=='Y')continue;elsereturn;}else{break;}}p=(Node*)malloc(sizeof(Node));if(!p){printf("\n

Allocate

memory

failure

");

/*如沒有申請到,打印提示信息*/return

;}strcpy(p->data.num,num);

/*將字符串

num

拷貝到

p->data.num

中*/stringinput(p->,15,"Name:");p->data.cgrade=numberinput("C

language

Score[0-100]:");

/*輸入并檢驗分數,分數必須在

0-100之間*/p->data.mgrade=numberinput("MathScore[0-100]:");p->data.egrade=numberinput("English

Score[0-100]:");p->data.total=p->data.egrade+

p->data.cgrade

+

p->data.mgrade;

/*計算總分*/p->data.ave=(float)(p->data.total/3); /*計算平均分*/p->data.mingci=0;p->next=NULL;/*表明這是鏈表的尾部結點*/r->next=p;

/*將新建的結點加入鏈表尾部中*/r=p;saveflag=1; /*在

main()有對該全局變量的判斷,若為

1,則進行存盤操作*/}return

;}void

Qur(Link

l)

/*按學號或姓名,查詢學生記錄*/{int

select;/*1:按學號查,2:按姓名查,其他:返回主界面(菜單)*/char

searchinput[20];/*保存用戶輸入的查詢內容*/Node

*p;if(!l->next)/*若鏈表為空*/{system("cls");printf("\n=====>Nostudentrecord!\n");getchar();return;}system("cls");printf("\nprintf("=====>1Search

by

number =====>2Searchbyname\n");please

choice[1,2]:");scanf("%d",&select);if(select==1)

/*按學號查詢*/{stringinput(searchinput,10,"Inputtheexistingstudentnumber:");p=Locate(l,searchinput,"num");/*在

l

中查找學號為

searchinput

值的節點,并返回節點的指針*/if(p)/*若

p!=NULL*/{printheader();printdata(p);printf(END);printf("pressanykeytoreturn");getchar();}elseNofind();getchar();}else

if(select==2)

/*按姓名查詢*/{stringinput(searchinput,15,"inputtheexistingstudentname:");p=Locate(l,searchinput,"name");if(p){printheader();printdata(p);printf(END);printf("pressanykeytoreturn");getchar();}elseNofind();getchar();}elseWrong();getchar();}void

Del(Link

l) /*刪除學生記錄:先找到保存該學生記錄的節點,然后刪除該節點*/{intsel;Node

*p,*r;char

findmess[20];if(!l->next){system("cls");printf("\n=====>Nostudentrecord!\n");getchar();return;}system("cls");Disp(l);printf("\nprintf("=====>1Delete

bynumber =====>2Deletebyname\n");please

choice[1,2]:");scanf("%d",&sel);if(sel==1){stringinput(findmess,10,"inputtheexistingstudentnumber:");p=Locate(l,findmess,"num");if(p) /*p!=NULL*/{r=l;while(r->next!=p)r=r->next;r->next=p->next;/*將

p

所指節點從鏈表中去除*/free(p);/*釋放內存空間*/printf("\n=====>Delete

success!\n");getchar();saveflag=1;}elseNofind();getchar();}else

if(sel==2){stringinput(findmess,15,"inputtheexistingstudentname");p=Locate(l,findmess,"name");

/*先按姓名查詢到該記錄所在的節點*/if(p){r=l;while(r->next!=p)r=r->next;r->next=p->next;free(p);printf("\n=====>Deletesuccess!\n");getchar();saveflag=1;}elseNofind();getchar();}elseWrong();getchar();}void

Modify(Link

l)

/*修改學生記錄。先按輸入的學號查詢到該記錄,然后提示用戶修改學號之外的值,學號不能修改*/{Node

*p;char

findmess[20];if(!l->next){system("cls");printf("\n=====>Nostudentrecord!\n");getchar();return;}system("cls");printf("Modifystudentrecorder:");Disp(l);stringinput(findmess,10,"\nInput

the

existing

student

number:");

/*輸入并檢驗該學號*/p=Locate(l,findmess,"num");/*查詢到該節點*/if(p)/*若

p!=NULL,表明已經找到該節點*/{printf("Number:%s,\n",p->data.num);printf("Name:%s,",p->);stringinput(p->,15,"inputnew

name:");printf("Clanguage

score:%d,",p->data.cgrade);p->data.cgrade=numberinput("Clanguage

Score[0-100]:");printf("Mathscore:%d,",p->data.mgrade);p->data.mgrade=numberinput("Math

Score[0-100]:");printf("English

score:%d,",p->data.egrade);p->data.egrade=numberinput("English

Score[0-100]:");p->data.total=p->data.egrade+p->data.cgrade+p->data.mgrade;p->data.ave=(float)(p->data.total/3);p->data.mingci=0;printf("\n=====>Modifysuccess!\n");Disp(l);saveflag=1;}elseNofind();getchar();}void

Insert(Link

l)

/*插入記錄,按學號查詢到要插入的節點的位置,然后在該學號之后插入一個新節點*/{Link

p,v,newinfo;

/*p

指向插入位置,newinfo指新插入記錄*/char

ch,num[10],s[10]; /*s[]保存插入點位置之前的學號,num[]保存輸入的新記錄的學號*/intflag=0;v=l->next;system("cls");Disp(l);while(1){stringinput(s,10,"\nPleaseinput

Insert

location afterthe

Number:");flag=0;v=l->next;while(v)/*查詢該學號是否存在,flag=1

表示該學號存在*/{if(strcmp(v->data.num,s)==0)

{flag=1;break;}v=v->next;}if(flag==1)break;

/*若學號存在,則進行插入之前的新記錄的輸入操作*/else{getchar();printf("\n=====>Thenumber%sisnotexisting,tryagain?(y/n):",s);scanf("%c",&ch);if(ch=='y'||ch=='Y')continue;elsereturn;}}stringinput(num,10,"Inputnew

student

Number:"); /*以新記錄的輸入操作與

Add()相同*/v=l->next;while(v){if(strcmp(v->data.num,num)==0){printf("=====>Sorry,thenewnumber:'%s'isexisting!\n",num);printheader();printdata(v);printf("\n");getchar();return;}v=v->next;}newinfo=(Node*)malloc(sizeof(Node));if(!newinfo){printf("\n

Allocate

memory

failure

");

/*如沒有申請到,打印提示信息*/return

; /*返回主界面*/}strcpy(newinfo->data.num,num);stringinput(newinfo->,15,"Name:");newinfo->data.cgrade=numberinput("ClanguageScore[0-100]:");newinfo->data.mgrade=numberinput("MathScore[0-100]:");newinfo->data.egrade=numberinput("English

Score[0-100]:");newinfo->data.total=newinfo->data.egrade+newinfo->data.cgrade+newinfo->data.mgrade;newinfo->data.ave=(float)(newinfo->data.total/3);newinfo->data.mingci=0;newinfo->next=NULL;saveflag=1;p=l->next; /*將指針賦值給p,因為l

中的頭節點的下一個節點才實際保存著學生的記錄*/while(1){if(strcmp(p->data.num,s)==0)

/*在鏈表中插入一個節點*/{newinfo->next=p->next;p->next=newinfo;break;}p=p->next;}Disp(l);printf("\n\n");getchar();}void

Tongji(Link

l) /*統計總分,單科第一和各科不及格人數*/{Node

*pm,*pe,*pc,*pt;/*用于指向分數最高的節點*/Node

*r=l->next;intcountc=0,countm=0,counte=0;/*保存三門成績中不及格的人數*/if(!r){system("cls");printf("\n=====>Nostudentrecord!\n");getchar();return

;}system("cls");Disp(l);pm=pe=pc=pt=r;while(r){if(r->data.cgrade<60)countc++;if(r->data.mgrade<60)countm++;if(r->data.egrade<60)

counte++;pc=r;pm=r;pe=r;if(r->data.cgrade>=pc->data.cgrade)if(r->data.mgrade>=pm->data.mgrade)if(r->data.egrade>=pe->data.egrade)if(r->data.total>=pt->data.total)pt=r;r=r->next;}printf("\n------------------------------theTongJi

result--------------------------------\n");printf("C

Language<60: %d

(ren)\n",countc);printf("Mathprintf("English<60: %d

(ren)\n",countm);<60: %d

(ren)\n",counte);totoaltotoalprintf("-------------------------------------------------------------------------------\n");printf("The highest

student by

total

scroe name:%sscore:%d\n",pt->,pt->data.total);printf("The highest

student by

English

score name:%sscore:%d\n",pe->,pe->data.egrade);printf("The highest

student by

Math

score name:%stotoalscorename:%s

totoalscore:%d\n",pm->,pm->data.mgrade);printf("The highest student by Cscore:%d\n",pc->,pc->data.cgrade);printf("\n\npressanykeytoreturn");getchar();}void

Sort(Link

l) /*利用插入法排序實現單鏈表的按總分字段的降序排序,從高到低*/{Link

ll;Node

*p,*rr,*s;int

i=0;if(l->next==NULL){system("cls");printf("\n=====>Nostudentrecord!\n");getchar();return

;}ll=(Node*)malloc(sizeof(Node));if(!ll){printf("\n

Allocate

memory

failure

");

/*如沒有申請到,打印提示信息*/return

;}ll->next=NULL;system("cls");Disp(l);p=l->next;while(p){s=(Node*)malloc(sizeof(Node));

/*s

用于保存從原鏈表中取出的節點信息*/if(!s){printf("\nAllocatememoryfailure");return

;}s->data=p->data;s->next=NULL;rr=ll; /*rr

鏈表存儲插入單個節點后保持排序的鏈表,ll

是這個鏈表的頭指針,每次從頭開始查找插入位置*/while(rr->next!=NULL&&rr->next->data.total>=

p->data.total)rr=rr->next;

/*指針移至總分比

p所指的節點的總分小的節點位置*/if(rr->next==NULL)/*若新鏈表

ll

中的所有節點的總分值都比

p->data.total

大時,就將

p

所指節點加入鏈表尾部*/rr->next=s;else

/*否則將該節點插入至第一個總分字段比它小的節點的前面*/{s->next=rr->next;rr->next=s;}p=p->next;

/*原鏈表中的指針下移一個節點*/}l->next=ll->next;

/*ll中存儲是的已排序的鏈表的頭指針*/p=l->next; /*已排好序的頭指針賦給

p,準備填寫名次*/while(p) /*當

p

不為空時,進行下列操作*/{i++; /*結點序號*/p->data.mingci=i;

/*將名次賦值*/p=p->next; /*指針后移*/}Disp(l);printf("\n =====>Sort

complete!\n");saveflag=1;}void

Save(Link

l)

/*數據存盤,若用戶沒有專門進行此操作且對數據有修改,在退出系統時,會提示用戶存盤*/{FILE*fp;Node*p;int

count=0;fp=fopen("c:\\student","wb");

/*以只寫方式打開二進制文件*/if(fp==NULL)

/*打開文件失敗*/{printf("\n=====>openfileerror!\n");getchar();return

;}p=l->next;while(p){if(fwrite(p,sizeof(Node),1,fp)==1)/*每次寫一條記錄或一個節點信息至文件*/{p=p->next;count++;}elsebreak;filecomplete,totalsaved'srecordnumber}if(count>0){getchar();printf("\n\n\n\n\n=====>Saveis:%d\n",count);getchar();saveflag=0;}else{system("cls");printf("Thecurrentlinkisempty,nostudentrecordissaved!\n");getchar();}fclose(fp);

/*關閉此文件*/}int

main(void){Linkl;FILE

*fp;intselect;char

ch;/*定義鏈表*//*文件指針*//*保存選擇結果變量*//*保存(y,Y,n,N)*/int

count=0;

/*保存文件中的記錄條數*/Node*p,*r; /*定義記錄指針變量*/l=(Node*)malloc(sizeof(Node));if(!l){printf("\nAllocatememoryfailure");return

;}l->next=NULL;r=l;fp=fopen("C:\\stud

溫馨提示

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

評論

0/150

提交評論