C語言課程設(shè)計(jì)-學(xué)生成績管理系統(tǒng)_第1頁
C語言課程設(shè)計(jì)-學(xué)生成績管理系統(tǒng)_第2頁
C語言課程設(shè)計(jì)-學(xué)生成績管理系統(tǒng)_第3頁
C語言課程設(shè)計(jì)-學(xué)生成績管理系統(tǒng)_第4頁
C語言課程設(shè)計(jì)-學(xué)生成績管理系統(tǒng)_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、.中 國 地 質(zhì) 大 學(xué)本科生課程論文封面課程名稱 C語言課程設(shè)計(jì) 教師姓名 李章林 本科生姓名 本科生學(xué)號(hào) 本科生專業(yè) 所在院系 類別: 日期: 2013年12月31日 課程設(shè)計(jì)評(píng)語對課程論文的評(píng)語:平時(shí)成績:課程論文成績:總 成 績:評(píng)閱人簽名:注:1、無評(píng)閱人簽名成績無效;2、必須用鋼筆或圓珠筆批閱,用鉛筆閱卷無效;3、如有平時(shí)成績,必須在上面評(píng)分表中標(biāo)出,并計(jì)算入總成績。目 錄課程設(shè)計(jì)評(píng)語2目 錄31課程論文題目42程序設(shè)計(jì)思路43功能模塊圖54數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)55算法設(shè)計(jì)66程序代碼107程序運(yùn)行結(jié)果188編程中遇到的困難及解決方法229總結(jié)心得及良好建議2210致謝23一、課程論文題目

2、:學(xué)生成績管理系統(tǒng)1:題目要求請?jiān)O(shè)計(jì)學(xué)生成績管理系統(tǒng),實(shí)現(xiàn)學(xué)生信息的錄入,顯示,查找,添加,保存,刪除,插入等功能模塊。要求功能選擇用菜單實(shí)現(xiàn),數(shù)據(jù)輸入和結(jié)果輸出要求有文件存放。原始數(shù)據(jù)文件格式:學(xué)號(hào) 姓名 英語 C語言 高等數(shù)學(xué) 平均成績01 張三 75 85 80 8002 李四 2:需求分析根據(jù)題目要求,由于學(xué)生信息總是存放在文件中,所以應(yīng)提供文件的輸入,輸出等操作;在程序中需要瀏覽學(xué)生的信息,應(yīng)提供顯示,查找,排序等操作;另外還應(yīng)提供鍵盤式選擇菜單實(shí)現(xiàn)功能選擇。3:總體設(shè)計(jì)根據(jù)上面的需求分析,可以將這個(gè)系統(tǒng)的設(shè)計(jì)分為:數(shù)據(jù)輸入模塊、數(shù)據(jù)顯示模塊、數(shù)據(jù)查找模塊、數(shù)據(jù)插入模塊、成績排序模塊

3、和成績保存模塊等。二、程序設(shè)計(jì)思路這次是初次要自主設(shè)計(jì)一個(gè)程序系統(tǒng)。系統(tǒng)要求實(shí)現(xiàn)學(xué)生信息的錄入、顯示、查找、添加以及成績排序等功能。對于幾個(gè)功能,可分別設(shè)置7個(gè)部分。根據(jù)需求分析,可以將這個(gè)系統(tǒng)分為以下模塊:輸入模塊,錄入模塊,修改模塊,保存模塊,查詢功能模塊,刪除功能模塊,以及排序模塊.1、 用戶輸入模塊在此模塊中用戶根據(jù)自己的需求輸入數(shù)字17中的任意一個(gè)數(shù)字,實(shí)現(xiàn)相應(yīng)的功能。2、 信息錄入功能模塊此模塊可以讓用戶輸入每個(gè)學(xué)生的信息:學(xué)號(hào)、姓名、英語成績、C語言成績、高等數(shù)學(xué)成績、平均成績。用戶可以連續(xù)輸入學(xué)生的信息,或者刪除或者查詢,也可以保存當(dāng)前已錄入的信息。3、 修改學(xué)生成績模塊用戶可

4、以根據(jù)實(shí)際情況的變化修改已錄入的學(xué)生成績的信息,跟實(shí)際同步。4、 文件保存模塊用戶可以在確定已錄入的信息無誤之后將學(xué)生的信息存為一個(gè)數(shù)據(jù)文件。已保存的信息可以再文件中查看也可以在程序中進(jìn)行查看。用戶輸入的學(xué)生信息可以隨時(shí)保存。5、 查詢功能模塊在此模塊里,用戶可以根據(jù)提示輸入所想要查詢的學(xué)生的學(xué)號(hào)以查詢學(xué)生的信息。6、 刪除功能模塊、在此模塊里,用戶可以根據(jù)自己的需求選擇想要?jiǎng)h除的學(xué)生信息,選擇之后程序會(huì)再次確認(rèn),以防誤刪。 7、排序功能模塊 在此模塊中,程序會(huì)將用戶已錄入的信息按平均成績由低到高進(jìn)行排序。 三、功能模塊圖:開始x值 1值 2值 7值 6值 5值 4值 3查詢模塊修改退出排序模

5、塊保存模塊刪除模塊添加模塊用戶輸入并將值保存至xx結(jié)束四、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)struct xueshengchengji /*聲明學(xué)生成績數(shù)據(jù)結(jié)構(gòu)體*/char xuehao10; /*學(xué)生學(xué)號(hào)*/char name10; /*學(xué)生姓名*/float cyuyan; /*c語言成績*/float math; /*高數(shù)成績*/float english; /*英語成績*/ float average; /*平均成績*/;struct xueshengchengji chengji100,*p=chengji; /*聲明記錄學(xué)生成績情況的100個(gè)元素的結(jié)構(gòu)體數(shù)組*/五、算法設(shè)計(jì)開始選擇需要的功能輸入學(xué)生

6、信息結(jié)束1、添加模塊void add() printf ("t請輸入學(xué)生學(xué)號(hào):");fflush(stdin); /*清除鍵盤緩沖區(qū)*/gets(chengji+n.xuehao);printf("tttt請輸入學(xué)生姓名:");gets();printf("tttt請輸入該學(xué)生的英語成績:");scanf("%f",&chengjin.cyuyan);printf("tttt請輸入該學(xué)生的C語言成績:");scanf("%f",&ch

7、engjin.math);printf("tttt請輸入該學(xué)生的高等數(shù)學(xué)成績:");scanf("%f",&chengjin.english); /*計(jì)算總成績*/chengjin.average=(chengjin.cyuyan+chengjin.math+chengjin.english)/3; /*輸出內(nèi)容*/printf("ntttt該學(xué)生成績?yōu)?%f",chengjin.average);開始輸入要修改的學(xué)生學(xué)號(hào)輸入新的學(xué)生信息結(jié)束printf("nntttt按任意鍵返回.");getch();2

8、、修改模塊void modify ( )char xuehao10; /*接收學(xué)生學(xué)號(hào)字符數(shù)組*/int i; /*循環(huán)變量*/if (n=-1) /*人數(shù)為0說明成績記錄尚未添加*/printf("nntt當(dāng)前還沒有學(xué)生成績記錄,按任意鍵返回主菜單.");getch( );return;printf("t請輸入學(xué)生學(xué)號(hào):"); /*提示信息*/gets(xuehao); /*從鍵盤讀取字符串*/for (i=0;i<=n;i+) /*在學(xué)生總數(shù)范圍內(nèi)循環(huán)查找*/if(strcmp(chengjii.xuehao,xuehao)=0) /*比較并找

9、到*/*顯示該學(xué)生成績情況*/printf("nttt 該學(xué)生成績情況如下: ");printf("nttt=nn"); printf("學(xué)號(hào) 姓名 平均成績"); printf("英語 C語言 高等數(shù)學(xué)"); printf("%-6s%-6s",chengjii.xuehao,); printf("%9.2f%9.2f%9.2f%9.2f",chengjii.cyuyan,chengjii.math,chengjii.english,chengji

10、i.average);/*接受該學(xué)生新的成績情況*/ printf("ntt 請輸入該學(xué)生新的英語成績: ");scanf ("%f",&chengjii.cyuyan); printf("ntt 請輸入該學(xué)生新的C語言成績: ");scanf ("%f",&chengjii.math); printf("ntt 請輸入該學(xué)生新的高等數(shù)學(xué)成績: ");scanf ("%f",&chengjii.english);3、查詢模塊開始輸入要查詢的學(xué)生學(xué)號(hào)輸出

11、學(xué)生信息結(jié)束/*查詢學(xué)生成績(依據(jù)學(xué)號(hào))*/void find()char xuehao10; /*接收學(xué)生學(xué)號(hào)字符數(shù)組*/ int i; /*循環(huán)變量*/ if(n=-1) /*人數(shù)為0說明成績記錄尚未添加*/printf("nntt當(dāng)前還沒有學(xué)生成績,按任意鍵返回主菜單.");getch();return;printf("t請輸入學(xué)生學(xué)號(hào):"); /*提示信息*/gets(xuehao); /*從鍵盤讀取字符串*/for(i=0;i<=n;i+) /*在職工總數(shù)范圍內(nèi)循環(huán)查找*/if(strcmp(chengjii.xuehao,xuehao)

12、=0) /*比較并找到*/printf("n 該學(xué)生成績情況如下:"); printf("n=nn");printf("學(xué)號(hào) 姓名");printf("英語 C語言 高等數(shù)學(xué) 平均成績");printf("%-6s%-6s%",chengjii.xuehao,);printf("%9.2f%9.2f%9.2f%9.2f",chengjii.cyuyan,chengjii.math,chengjii.english,chengjii.average);

13、printf("n 按任意鍵返回主菜單.");getch();break;if(i=n+1)printf("ntt您所輸入的學(xué)生學(xué)號(hào)有誤或不存在!");printf("按任意鍵返回主菜單.");getch();return;4、刪除模塊輸入要?jiǎng)h除學(xué)生學(xué)號(hào)開始判斷是否要?jiǎng)h除刪除學(xué)生記錄結(jié)束語NYvoid del()char xuehao10; int i,j; char d; printf("t請輸入待刪除學(xué)生學(xué)號(hào):");gets(xuehao);for(i=0;i<=n;i+) if(strcmp(cheng

14、jii.xuehao,xuehao)=0)printf("ntt你確認(rèn)要?jiǎng)h除%s號(hào)學(xué)生成績信息么(y/n)?",chengjii.xuehao );d=getche();if(d='y'|d='Y') if(i=n) n-;else for(j=i;j<=n;j+) strcpy(chengjij.xuehao,chengjij+1.xuehao);strcpy(,chengjij+1.name);chengjij.english=chengjij+1.english;chengjij.math=chengji

15、j+1.math; chengjij.cyuyan=chengjij+1.cyuyan; n-;printf("nntt該學(xué)生記錄成功刪除,按任意鍵返回主菜單.");getch();break; else printf("nntt你選擇了不刪除該學(xué)生記錄,按任意鍵返回主菜單.");getch();return;if(i = n+1) printf("ntt本班級(jí)無此學(xué)號(hào),按任意鍵返回主菜單.");getch();開始選擇需要的功能按成績低到高排序結(jié)束5、排序模塊void rank() int i,j; printf("t按平

16、均成績排序如下n");for (i=0;i<n;i+)for(j=i+1;j<n;j+)if (chengjii.average>chengji j.average)*p=chengjij;chengjij=chengjii;chengjii=*p;printf("%-6s%-6s","學(xué)號(hào)","姓名"); printf("%-12s%-6s%12s%-9sn","英語","C語言","高等數(shù)學(xué)","平均成績"

17、;);for(i=0;i<=n;i+) printf("%-6s%-6s",chengjii.xuehao,); printf("%9.2f%9.2f%9.2f%9.2fn",chengjii.cyuyan,chengjii.math,chengjii.english,chengjii.average); printf("nntttt按任意鍵返回."); getch();六、程序代碼nclude <stdio.h> /*基本的輸入輸出函數(shù)*/#include <conio.h>

18、/*getch()及getche()函數(shù)包含在此*/#include <string.h> /*字符串相關(guān)函數(shù)*/#include <windows.h> #define TRUE 1/*以下函數(shù)為自定義函數(shù)聲明語句*/void read(); /*從數(shù)據(jù)文件中讀取學(xué)生成績數(shù)據(jù)*/void write(); /*從學(xué)生成績數(shù)據(jù)文件寫入記錄*/void find(); /*查詢學(xué)生成績數(shù)據(jù)記錄*/void modify(); /*修改學(xué)生成績數(shù)據(jù)記錄*/void add(); /*向?qū)W生成績數(shù)據(jù)文件中增加記錄*/void del(); /*從學(xué)生成績數(shù)據(jù)文件中刪除記錄*/

19、void rank(); /*排列學(xué)生成績*/struct xueshengchengji /*聲明學(xué)生成績數(shù)據(jù)結(jié)構(gòu)體*/char xuehao10; /*學(xué)生學(xué)號(hào)*/char name10; /*學(xué)生姓名*/float cyuyan; /*c語言成績*/float math; /*高數(shù)成績*/float english; /*英語成績*/float average; /*平均成績*/;struct xueshengchengji chengji100,*p=chengji; /*聲明記錄學(xué)生成績情況的100個(gè)元素的結(jié)構(gòu)體數(shù)組*/int n = -1; /*聲明統(tǒng)計(jì)學(xué)生人數(shù)的變量*/void

20、main() char ch;read(); /*從數(shù)據(jù)文件中讀取學(xué)生成績數(shù)據(jù)并初始化學(xué)生成績結(jié)構(gòu)體數(shù)組*/while(TRUE) system("cls"); /*清屏命令*/printf("tt請選擇(1-7):n");printf("tt=n"); printf("ttt 1.查詢學(xué)生成績記錄n");printf("ttt 2.修改學(xué)生成績記錄n");printf("ttt 3.添加學(xué)生成績記錄n");printf("ttt 4.刪除學(xué)生成績記錄n"

21、);printf("ttt 5.保存學(xué)生成績記錄n");printf("ttt 6.成績排序n");printf("ttt 7.退出n");printf("tt=n"); printf("ntt");ch=getch();switch(ch) case '1':find();break; /*查詢*/case '2':modify();break; /*修改*/case '3':add();break; /*添加*/case '4'

22、:del();break; /*刪除*/case '5':write();break; /*保存*/case '6':rank();break; /*排序*/case '7':return; /*退出*/default:printf("tt n");getch();return;/*從數(shù)據(jù)文件cj.dat中讀取學(xué)生成績數(shù)據(jù)到數(shù)據(jù)組chengji中*/void read()FILE * file; /*聲明文件指針*/if(file=fopen("cj.dat","rb")=NULL)/*

23、以二進(jìn)制方式打開學(xué)生成績數(shù)據(jù)文件,并判斷是否失敗*/ printf("nnt 學(xué)生成績數(shù)據(jù)文件無法打開,或?yàn)榭眨?quot;);printf("nnt 按任意鍵進(jìn)入主菜單.");getch();return;else /*文件打開成功時(shí)*/n+; /*計(jì)算結(jié)構(gòu)體數(shù)組下標(biāo)*/while(fread(&chengjin,sizeof(chengjin),1,file) = 1)n+;fclose(file); /*關(guān)閉文件指針*/printf("nnt學(xué)生成績數(shù)據(jù)讀取完畢n",n);n-; /*計(jì)算學(xué)生記錄總數(shù)*/*向?qū)W生成績數(shù)據(jù)文件中寫入

24、記錄*/void write()FILE *file; /*聲明文件指針*/if(n = -1) /*學(xué)生人數(shù)為 0 時(shí)*/printf(" 沒有數(shù)據(jù)可存!按任意鍵返回主菜單 n");getch();return;if(file=fopen("cj.dat","wb")!=NULL)/*以二進(jìn)制方式打開學(xué)生成績數(shù)據(jù)文件,并判斷是否失敗*/fwrite(&chengji0,sizeof(chengji0),n+1,file); /*所有記錄一次寫入文件*/fclose(file); /*關(guān)閉文件指針*/printf("

25、nntt%d條學(xué)生記錄保存完畢!n",n+1);else /*文件打開不成功時(shí)*/printf("tt無法打開學(xué)生成績數(shù)據(jù)文件!n");printf("ntt按任意鍵返回主菜單. ");getch();/*查詢學(xué)生成績(依據(jù)學(xué)號(hào))*/void find()char xuehao10; /*接收學(xué)生學(xué)號(hào)字符數(shù)組*/int i; /*循環(huán)變量*/if(n=-1) /*人數(shù)為0說明成績記錄尚未添加*/printf("nntt當(dāng)前還沒有學(xué)生成績,按任意鍵返回主菜單.");getch();return;printf("t請輸

26、入學(xué)生學(xué)號(hào):"); /*提示信息*/gets(xuehao); /*從鍵盤讀取字符串*/for(i=0;i<=n;i+) /*在學(xué)生總數(shù)范圍內(nèi)循環(huán)查找*/if(strcmp(chengjii.xuehao,xuehao)=0) /*比較并找到*/printf("n 該學(xué)生成績情況如下:");printf("n=nn");printf(" 學(xué)號(hào) 姓名");printf(" 英語 C語言 高等數(shù)學(xué) 平均成績n"); printf("%6s%6s",chengjii.xuehao,ch

27、);printf("%9.2f%9.2f%9.2f%9.2f",chengjii.cyuyan,chengjii.math,chengjii.english,chengjii.average);printf("n 按任意鍵返回主菜單.");getch();break;if(i=n+1)printf("ntt您所輸入的學(xué)生學(xué)號(hào)有誤或不存在!");printf("按任意鍵返回主菜單.");getch();return;void list()int i;system("cls")

28、;printf("nnttt 全體學(xué)生成績情況如下n");printf("ttt=nn");printf("學(xué)號(hào) 姓名 ");printf("英語 C語言 高等數(shù)學(xué) 平均成績");for(i=0;i<=n;i+)printf("%6s%6s%9s",chengjii.xuehao,,chengjii.average);printf("%9.2f%9.2f%9.2f",chengjii.english,chengjii.math); void m

29、odify ( )char xuehao10; /*接收學(xué)生學(xué)號(hào)字符數(shù)組*/int i; /*循環(huán)變量*/if (n=-1) /*人數(shù)為0說明成績記錄尚未添加*/printf("nntt當(dāng)前還沒有學(xué)生成績記錄,按任意鍵返回主菜單.");getch( );return;printf("t請輸入學(xué)生學(xué)號(hào):"); /*提示信息*/gets(xuehao); /*從鍵盤讀取字符串*/for (i=0;i<=n;i+) /*在學(xué)生總數(shù)范圍內(nèi)循環(huán)查找*/if(strcmp(chengjii.xuehao,xuehao)=0) /*比較并找到*/*顯示該學(xué)生成績

30、情況*/printf("nttt 該學(xué)生成績情況如下: ");printf("nttt=nn");printf(" 學(xué)號(hào) 姓名");printf(" 英語 C語言 高等數(shù)學(xué) 平均成績n"); printf("%6s%6s",chengjii.xuehao,);printf("%9.2f%9.2f%9.2f%9.2f",chengjii.cyuyan,chengjii.math,chengjii.english,chengjii.average);/*

31、接受該學(xué)生新的成績情況*/printf("ntt 請輸入該學(xué)生新的英語成績: ");scanf ("%f",&chengjii.cyuyan);printf("ntt 請輸入該學(xué)生新的C語言成績: ");scanf ("%f",&chengjii.math);printf("ntt 請輸入該學(xué)生新的高等數(shù)學(xué)成績: ");scanf ("%f",&chengjii.english);/*計(jì)算總成績*/chengjii.average=(chengjii.

32、cyuyan+chengjii.math+chengjii.english)/3; /*同屏顯示計(jì)算結(jié)果*/printf("nttt 該學(xué)生成績是: %f",chengjii.average);printf("nntt 該學(xué)生成績數(shù)據(jù)修改成功! 按任意鍵返回主菜單.");getch();return ;printf("ntt 您所輸入的學(xué)生學(xué)號(hào)有誤或不存在! ");printf("按任意鍵返回主菜單.");getch();return;/*向?qū)W生管理系統(tǒng)中則增加記錄*/void add()printf ("

33、;t請輸入學(xué)生學(xué)號(hào):");fflush(stdin); /*清除鍵盤緩沖區(qū)*/gets(chengji+n.xuehao);printf("tttt請輸入學(xué)生姓名:");gets();printf("tttt請輸入該學(xué)生的英語成績:");scanf("%f",&chengjin.cyuyan);printf("tttt請輸入該學(xué)生的C語言成績:");scanf("%f",&chengjin.math);printf("tttt請輸入該

34、學(xué)生的高等數(shù)學(xué)成績:");scanf("%f",&chengjin.english);/*計(jì)算總成績*/chengjin.average=(chengjin.cyuyan+chengjin.math+chengjin.english)/3; /*輸出內(nèi)容*/printf("ntttt該學(xué)生成績?yōu)?%f",chengjin.average);printf("nntttt按任意鍵返回.");getch();/*從學(xué)生成績數(shù)據(jù)文件中刪除記錄*/void del()char xuehao10; /*接收學(xué)生學(xué)號(hào)字符數(shù)組*/i

35、nt i,j; /*循環(huán)變量*/char d; /*接收確認(rèn)刪除字符:y/n*/printf("t請輸入待刪除學(xué)生學(xué)號(hào):");gets(xuehao);for(i=0;i<=n;i+) /*在學(xué)生總數(shù)范圍內(nèi)循環(huán)查找*/ if(strcmp(chengjii.xuehao,xuehao)=0) /*比較并找到*/printf("ntt你確認(rèn)要?jiǎng)h除%s號(hào)學(xué)生成績信息么(y/n)?",chengjii.xuehao );d=getche();if(d='y'|d='Y') /*確認(rèn)刪除*/if(i=n) /*如果是最后一條

36、記錄*/n-;else /*不是最后一條記錄*/for(j=i;j<=n;j+) /*從該記錄開始后續(xù)記錄更新前一條記錄*/strcpy(chengjij.xuehao,chengjij+1.xuehao); strcpy(,chengjij+1.name);chengjij.english=chengjij+1.english;chengjij.math=chengjij+1.math;chengjij.cyuyan=chengjij+1.cyuyan;n-;printf("nntt該學(xué)生記錄成功刪除,按任意鍵返回主菜單."); getch

37、();break;else /*未確認(rèn)刪除記錄*/printf("nntt你選擇了不刪除該學(xué)生記錄,按任意鍵返回主菜單.");getch();return;if(i = n+1) /*未找到指定學(xué)號(hào)或未刪除記錄*/ printf("ntt本班級(jí)無此學(xué)號(hào),按任意鍵返回主菜單.");getch();/*排列學(xué)生的成績*/void rank()int i,j; /*循環(huán)變量*/printf("t按平均成績排序如下n");for (i=0;i<n;i+)for(j=i+1;j<n;j+)if (chengjii.average>chengji j.average)*p=chengjij;chengjij=chengjii;chengjii=*p;printf("%-6s%-6s","學(xué)號(hào)","姓名");printf("%-12s%-

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論