




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、目 錄1 系統(tǒng)分析11.1 課程設(shè)計內(nèi)容11.2 系統(tǒng)功能需求分析11.3 數(shù)據(jù)結(jié)構(gòu)設(shè)計22 系統(tǒng)設(shè)計22.1 總體設(shè)計22.2 詳細(xì)設(shè)計32.2.1 界面設(shè)計32.2.2 各功能模塊的設(shè)計53 系統(tǒng)編碼設(shè)計63.1 main函數(shù)63.2 newf()函數(shù)83.3 inputf()函數(shù)93.4 outputf()函數(shù)93.5 search()函數(shù)103.6 sort()函數(shù)123.7 add()函數(shù)163.8 revise()函數(shù)173.9 deletef()函數(shù)183.10 calculated()函數(shù)203.11 bsnhk函數(shù)204 系統(tǒng)運行215 總結(jié)291 系統(tǒng)分析1.1 課程設(shè)計內(nèi)
2、容設(shè)計一課程成績管理系統(tǒng),功能包括:1. 輸入數(shù)據(jù):可輸入學(xué)生姓名、學(xué)號、平時作業(yè)成績、期中考試成績、期 末考試成績等數(shù)據(jù)。2. 編輯數(shù)據(jù):可添加、刪除、修改數(shù)據(jù)。3. 計算:計算出平時成績的平均值;按平時20%,期中20%,期末60%比例計算總評成績;計算課程的平均成績。4. 查詢:可按姓名、學(xué)號查詢(精確、模糊)。5. 排序:可按姓名、學(xué)號、總評成績排序。6. 瀏覽:可瀏覽輸入、查詢或排序后的數(shù)據(jù)。7. 文件操作:可打開、保存、關(guān)閉數(shù)據(jù)文件。1.2 系統(tǒng)功能需求分析本系統(tǒng)應(yīng)具有以下功能:1、文件操作功能建立學(xué)生信息文件,可打開、保存、關(guān)閉數(shù)據(jù)文件,先輸入數(shù)據(jù),然后保存文件,以后如果要用到的
3、話就直接打開該文件,文件打開的條件是該文件必須存在。2、數(shù)據(jù)輸入功能可輸入學(xué)生學(xué)號、姓名、三次平時成績和期中期末成績。每完成一個學(xué)生成績的輸入操作,系統(tǒng)會提示是否繼續(xù)輸入,當(dāng)選y時則繼續(xù)輸入第二個學(xué)生的成績,當(dāng)選n時則退回主界面,執(zhí)行其他功能。3、數(shù)據(jù)添加、修改、刪除功能可添加、修改、刪除學(xué)生信息。4、計算功能 計算平時成績的平均值、總評成績(按平時20%,期中20%,期末60%的比例)和課程平均成績。5、查詢功能 可按學(xué)號、姓名查詢(精確、模糊)學(xué)生信息。6、排序功能 可按學(xué)號、姓名和總評成績排序。7、數(shù)據(jù)顯示功能 可瀏覽輸入、查詢和排序后的學(xué)生有關(guān)成績信息。1.3 數(shù)據(jù)結(jié)構(gòu)設(shè)計結(jié)構(gòu)體類型s
4、truct studentlong num;char name20;float normal_score1;float normal_score2;float normal_score3;float period_score;float end_score;float ave1;float ave2;float ave3;stu100;其中包含了學(xué)號,姓名,三次平均成績,期中成績,期末成績和三個平均成績。定義學(xué)號num為長整形,定義姓名name為字符型數(shù)組長度定為20,定義平時成績normal_score1-3、期中成績period_scor、期末成績end_score和三個平均成績ave1-
5、3為浮點型。最后再定義結(jié)構(gòu)體數(shù)組包含100個元素。2 系統(tǒng)設(shè)計2.1 總體設(shè)計按系統(tǒng)分析的功能要求將系統(tǒng)劃分為以下幾個主要功能模塊:1數(shù)據(jù)文件的建立、打開、保存模塊,該模塊通過各自的函數(shù)(newf()、savef()分別實現(xiàn)文件的建立、打開、保存功能;2數(shù)據(jù)的輸入輸出模塊,該模塊用函數(shù)inputf()和outputf()實現(xiàn)學(xué)生成績信息的數(shù)據(jù)輸入,顯示學(xué)生成績信息;3數(shù)據(jù)的查詢功能search(),可選擇是按學(xué)號查詢search_num ( )還是對姓名查詢search_name ( );4數(shù)據(jù)的排序功能sort(),可選擇是按學(xué)號sort_num ( )、姓名sort_name ( )還是總
6、評成績sort_score()進行排序。5數(shù)據(jù)的添加add()、修改revise()、刪除deletef()模塊,該模塊通過各自的函數(shù)分別實現(xiàn)對學(xué)生信息的添加、修改、刪除;6.數(shù)據(jù)的計算calculated()功能,可計算平時的平均成績、總評成績和課程平均成績。2.2 詳細(xì)設(shè)計2.2.1 界面設(shè)計歡迎界面設(shè)計* welcome to use the course management system by 3108006406 zhang zhongquan*1、菜單設(shè)計(1)初始菜單界面的設(shè)計 *please select:1new.file2input the message3output
7、the message4search5sort6add7revise8delete9calculated10exit *(2)二級菜單界面設(shè)計a.查詢功能界面設(shè)計* search 1. by number 2 .by name*b.排序功能界面設(shè)計*sort 1by number 2by name3by score*2、輸入界面的設(shè)計please input the information of the student:no.:001name:zzqnormal_score1:88normal_score2:99normal_score3:90period_score:78end_score:
8、67continue:yorn3、信息顯示界面的設(shè)計num name nor_sc1 nor_sc2 nor_sc3 per_sc end_sc ave1 ave2 ave31 zzq 88.00 99.00 90.00 78.00 67.00 92.33 74.27 84.402.2.2 各功能模塊的設(shè)計根據(jù)劃分的功能模塊,定義以下函數(shù)實現(xiàn)各功能:1主函數(shù)main()2新建、打開保存功能模塊的設(shè)計新建:newf()函數(shù)保存:savef ( ) 函數(shù)3數(shù)據(jù)輸入輸出模塊設(shè)計輸入:inputf ( ) 函數(shù),此函數(shù)用來輸入學(xué)生信息,并把輸入的數(shù)據(jù)保存在新建的那個文件中。輸出:outputf( )
9、函數(shù)4數(shù)據(jù)的查詢功能設(shè)計,可選擇是按學(xué)號查詢還是對姓名查詢;學(xué)號查詢:search_num ( ) 函數(shù)姓名查詢:search_name ( ) 函數(shù) 5數(shù)據(jù)的排序功能設(shè)計,可選擇是按學(xué)號、姓名還是總評成績進行排序。學(xué)號排序:sort_num ( ) 函數(shù)姓名排序:sort_name ( ) 函數(shù)總評排序:sort_score()函數(shù)6數(shù)據(jù)的添加、修改、刪除模塊設(shè)計添加:add ( ) 函數(shù),此函數(shù)向原有的數(shù)據(jù)插入一個新的學(xué)生信息,并把插入的數(shù)據(jù)存入原有文件。修改:revise ( ) 函數(shù)刪除:deletef ( ) 函數(shù)7數(shù)據(jù)的計算功能設(shè)計 計算:calculated()函數(shù),此函數(shù)用于計
10、算平時成績的平均值、總評成績和課程平均成績。3 系統(tǒng)編碼設(shè)計# include# include# include# includestruct student long num; char name20; float normal_score1; float normal_score2; float normal_score3; float period_score; float end_score; float ave1; float ave2; float ave3; stu100;char a20; /*文件名變量,新建的文件名存儲在字符數(shù)組a*/ int n=0; /*用來存放學(xué)生的
11、個數(shù)*/3.1 main函數(shù)void main() /*主函數(shù)*/void newf();void savef();void inputf();void outputf();void search();void sort();void add();void revise();void deletef();void calculated();int i;clrscr(); /*清屏*/*以下是系統(tǒng)的歡迎界面*/gotoxy(15,8);for(i=0;i50;i+)printf(*);gotoxy(18,11);printf(welcome to use the course managemen
12、t system);gotoxy(27,13);printf(by 3108006406 zhang zhongquan);gotoxy(15,16);for(i=0;i50;i+)printf(*);sleep(3); loop : /*以下循環(huán)體是系統(tǒng)初始菜單,用戶可根據(jù)不用需求選用不同功能*/ clrscr(); gotoxy(15,5); for(i=0;i50;i+) printf(*); gotoxy(30,6); printf(please select); gotoxy(30,7); printf(1. new.file); gotoxy(30,8); printf(2. in
13、put the message); gotoxy(30,9); printf(3. output the message); gotoxy(30,10); printf(4. search); gotoxy(30,11); printf(5. sort); gotoxy(30,12); printf(6. add); gotoxy(30,13); printf(7. revise); gotoxy(30,14); printf(8. delete); gotoxy(30,15); printf(9. calculated); gotoxy(30,16); printf(10.exit); go
14、toxy(15,17); for(i=0;i50;i+) printf(*); printf(n); printf(please select the menu:); scanf(%d,&i); if(i10)printf(error); else switch(i) case 1:newf();break; case 2:inputf();break; case 3:outputf();break; case 4:search();break; case 5:sort();break; case 6:add();break; case 7:revise();break; case 8:del
15、etef();break; case 9:calculated();break; case 10:exit(0);break; goto loop;3.2 newf()函數(shù)void newf() /*此函數(shù)用來新建文件*/file *fp;printf(please input the name of the file:);scanf(%s,a); if(fp=fopen(a,w+)=null) printf(cannot open the filen); exit(0); fclose(fp);void savef() /*此函數(shù)將數(shù)據(jù)寫入文件,保存數(shù)據(jù)*/file *fp;int i; i
16、f(fp=fopen(a,w)=null) printf(cannot open filen); return; for(i=0;in;i+)if(fwrite(&stui,sizeof(struct student),1,fp)!=1)printf(file write errorn);fclose(fp);3.3 inputf()函數(shù)void inputf() /*此函數(shù)用于輸入學(xué)生有關(guān)成績等信息*/int i;char t;printf(please input the information of the student:n); for(i=0;i100;i+) printf(no.:
17、);scanf(%ld,&stui.num); printf(name:);scanf(%s,&); printf(normal_score1:);scanf(%f,&stui.normal_score1); printf(normal_score2:);scanf(%f,&stui.normal_score2); printf(normal_score3:);scanf(%f,&stui.normal_score3); printf(period_score:);scanf(%f,&stui.period_score); printf(end_score:);scanf(%
18、f,&stui.end_score); n=n+1; printf(continue:yornn); t=getchar(); t=getchar(); if(t=n) break; ;savef();3.4 outputf()函數(shù)void outputf() /*此函數(shù)將學(xué)生信息在屏幕上輸出*/ int i;file *fp; if(fp=fopen(a,r)=null) printf(cannot open filen); return; printf(nnumtnametnor_sc1tnor_sc2tnor_sc3tper_sctend_sctave1tave2tave3tn); fo
19、r(i=0;in;i+) fread(&stui,sizeof(struct student),1,fp); printf(%-5ldt%-7st%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ftn,stui.num,,stui.normal_score1,stui.normal_score2,stui.normal_score3,stui.period_score,stui.end_score,stui.ave1,stui.ave2,stui.ave3); fclose(fp);sleep(3);printf(n
20、press enter back to the menu:n);getch();3.5 search()函數(shù)void search() /*此函數(shù)用于查詢學(xué)生有關(guān)信息*/void search_num(); /*此函數(shù)用于按學(xué)號查詢學(xué)生有關(guān)信息*/void search_name(); /*此函數(shù)用于按姓名查詢學(xué)生有關(guān)信息*/int b;printf( *nn);printf( searchn);printf( 1.by numbern);printf( 2.by namen);printf(n *n);printf(please select the menu:n);scanf(%d,&b)
21、;if(b=1)search_num();else search_name();void search_num() /*此函數(shù)用于按學(xué)號查詢學(xué)生有關(guān)信息*/int sch_num;int i;printf(nplease enter the num which do you want to search:);scanf(%d,&sch_num);for(i=0;in;i+) if(sch_num=stui.num) printf(nnumtnametnor_sc1tnor_sc2tnor_sc3tper_sctend_sctave1tave2tave3tn); printf(%-5ldt%-7
22、st%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ftn,stui.num,,stui.normal_score1,stui.normal_score2,stui.normal_score3,stui.period_score,stui.end_score,stui.ave1,stui.ave2,stui.ave3); sleep(2);printf(npress enter back to the menu:);getch();void search_name() /*此函數(shù)用于按姓名查詢學(xué)生有關(guān)信息*/int
23、i;char sch_name20;printf(nplease enter the name which do you want to search:);scanf(%s,sch_name);for(i=0;in;i+) if(strcmp(sch_name,)=0) printf(nnumtnametnor_sc1tnor_sc2tnor_sc3tper_sctend_sctave1tave2tave3tn); printf(%-5ldt%-7st%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ftn,stui.
24、num,,stui.normal_score1,stui.normal_score2,stui.normal_score3,stui.period_score,stui.end_score,stui.ave1,stui.ave2,stui.ave3); sleep(2);printf(npress enter back to the menu:n);getch();3.6 sort()函數(shù)void sort() /*此函數(shù)用于對輸入的數(shù)據(jù)進行排序*/void sort_num(); /*按學(xué)號排序*/void sort_name(); /*按姓名排序*/void sort_s
25、core(); /*按總評成績排序*/int b;printf( *nn);printf( sortn);printf( 1.by numbern);printf( 2.by namen);printf( 3.by scoren);printf(n *n);printf(please select the menu:n);scanf(%d,&b); switch(b) case 1:sort_num();break; case 2:sort_name();break; case 3:sort_score();break; void sort_num() /*按學(xué)號排序*/file *fp;in
26、t i,j;struct student a;for(j=0;jn-1;j+)for(i=0;istui+1.num) a.num=stui.num; strcpy(,); a.normal_score1=stui.normal_score1; a.normal_score2=stui.normal_score2; a.normal_score3=stui.normal_score3; a.period_score=stui.period_score; a.end_score=stui.end_score; a.ave1=stui.ave1; a.ave2=stu
27、i.ave2; a.ave3=stui.ave3; stui.num=stui+1.num; strcpy(,stui+1.name); stui.normal_score1=stui+1.normal_score1; stui.normal_score2=stui+1.normal_score2; stui.normal_score3=stui+1.normal_score3; stui.period_score=stui+1.period_score; stui.end_score=stui+1.end_score; stui.ave1=stui+1.ave1; stui
28、.ave2=stui+1.ave2; stui.ave3=stui+1.ave3; stui+1.num=a.num; strcpy(stui+1.name,); stui+1.normal_score1=a.normal_score1; stui+1.normal_score2=a.normal_score2; stui+1.normal_score3=a.normal_score3; stui+1.period_score=a.period_score; stui+1.end_score=a.end_score; stui+1.ave1=a.ave1; stui+1.ave2=
29、a.ave2; stui+1.ave3=a.ave3; printf(nnumtnametnor_sc1tnor_sc2tnor_sc3tper_sctend_sctave1tave2tave3tn);fp=fopen(stu_st1,w); for(i=0;in;i+) fwrite(&stui,sizeof(struct student),1,fp); printf(%-5ldt%-7st%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ftn,stui.num,,stui.normal_score1,stui.n
30、ormal_score2,stui.normal_score3,stui.period_score,stui.end_score,stui.ave1,stui.ave2,stui.ave3); printf(n);fclose(fp);printf(press enter back to the menu:n);getch();void sort_name() /*按姓名排序*/file *fp;int i,j;struct student a;for(j=0;jn-1;j+)for(i=0;i0) a.num=stui.num; strcpy(,); a.nor
31、mal_score1=stui.normal_score1; a.normal_score2=stui.normal_score2; a.normal_score3=stui.normal_score3; a.period_score=stui.period_score; a.end_score=stui.end_score; a.ave1=stui.ave1; a.ave2=stui.ave2; a.ave3=stui.ave3; stui.num=stui+1.num; strcpy(,stui+1.name); stui.normal_score1=stui+1.nor
32、mal_score1; stui.normal_score2=stui+1.normal_score2; stui.normal_score3=stui+1.normal_score3; stui.period_score=stui+1.period_score; stui.end_score=stui+1.end_score; stui.ave1=stui+1.ave1; stui.ave2=stui+1.ave2; stui.ave3=stui+1.ave3; stui+1.num=a.num; strcpy(stui+1.name,); stui+1.normal_score
33、1=a.normal_score1; stui+1.normal_score2=a.normal_score2; stui+1.normal_score3=a.normal_score3; stui+1.period_score=a.period_score; stui+1.end_score=a.end_score; stui+1.ave1=a.ave1; stui+1.ave2=a.ave2; stui+1.ave3=a.ave3; printf(nnumtnametnor_sc1tnor_sc2tnor_sc3tper_sctend_sctave1tave2tave3tn);fp=fop
34、en(stu_st1,w); for(i=0;in;i+) fwrite(&stui,sizeof(struct student),1,fp); printf(%-5ldt%-7st%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ftn,stui.num,,stui.normal_score1,stui.normal_score2,stui.normal_score3,stui.period_score,stui.end_score,stui.ave1,stui.ave2,stui.ave3); printf(n);
35、fclose(fp);printf(press enter back to the menu:n);getch();void sort_score() /*按總評成績排序*/file *fp;int i,j;struct student a;for(j=0;jn-1;j+)for(i=0;istui+1.ave2) a.num=stui.num; strcpy(,); a.normal_score1=stui.normal_score1; a.normal_score2=stui.normal_score2; a.normal_score3=stui.normal
36、_score3; a.period_score=stui.period_score; a.end_score=stui.end_score; a.ave1=stui.ave1; a.ave2=stui.ave2; a.ave3=stui.ave3; stui.num=stui+1.num; strcpy(,stui+1.name); stui.normal_score1=stui+1.normal_score1; stui.normal_score2=stui+1.normal_score2; stui.normal_score3=stui+1.normal_score3;
37、stui.period_score=stui+1.period_score; stui.end_score=stui+1.end_score; stui.ave1=stui+1.ave1; stui.ave2=stui+1.ave2; stui.ave3=stui+1.ave3; stui+1.num=a.num; strcpy(stui+1.name,); stui+1.normal_score1=a.normal_score1; stui+1.normal_score2=a.normal_score2; stui+1.normal_score3=a.normal_score3;
38、 stui+1.period_score=a.period_score; stui+1.end_score=a.end_score; stui+1.ave1=a.ave1; stui+1.ave2=a.ave2; stui+1.ave3=a.ave3; printf(nnumtnametnor_sc1tnor_sc2tnor_sc3tper_sctend_sctave1tave2tave3tn);fp=fopen(stu_st1,w); for(i=0;in;i+) fwrite(&stui,sizeof(struct student),1,fp); printf(%-5ldt%-7st%-5
39、.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ftn,stui.num,,stui.normal_score1,stui.normal_score2,stui.normal_score3,stui.period_score,stui.end_score,stui.ave1,stui.ave2,stui.ave3); printf(n);fclose(fp);printf(press enter back to the menu:n);getch();3.7 add()函數(shù)void add() /*該函數(shù)用于添加學(xué)生信息*
40、/file *fp;int i;printf(please input the information of the new student:n);printf(no.:);scanf(%ld,&stun.num);printf(name:);scanf(%s,&);printf(normal_score1:);scanf(%f,&stun.normal_score1);printf(normal_score2:);scanf(%f,&stun.normal_score2);printf(normal_score3:);scanf(%f,&stun.normal_score3
41、);printf(period_score:);scanf(%f,&stun.period_score);printf(end_score:);scanf(%f,&stun.end_score);n=n+1; if(fp=fopen(a,w)=null) printf(cannot open the file.n); exit(0); printf(nnumtnametnor_sc1tnor_sc2tnor_sc3tper_sctend_sctave1tave2tave3tn); for(i=0;in;i+) fwrite(&stui,sizeof(struct student),1,fp);
42、 printf(%-5ldt%-7st%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ftn,stui.num,,stui.normal_score1,stui.normal_score2,stui.normal_score3,stui.period_score,stui.end_score,stui.ave1,stui.ave2,stui.ave3); printf(n);fclose(fp);printf(press enter back to the menu:n);savef();getch();3.8 re
43、vise()函數(shù)void revise() /*該函數(shù)用于修改學(xué)生有關(guān)信息*/file *fp;int i;char name_20;printf(input the name you want to revise:n);scanf(%s,name_);printf(the students information is:);for(i=0;in;i+) if(strcmp(name_,)=0) printf(nnumtnametnor_sc1tnor_sc2tnor_sc3tper_sctend_sctave1tave2tave3tn); printf(%-5ldt%-7s
44、t%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ft%-5.2ftn,stui.num,,stui.normal_score1,stui.normal_score2,stui.normal_score3,stui.period_score,stui.end_score,stui.ave1,stui.ave2,stui.ave3); break; printf(nreinput the message of the studentn);printf(no.:);scanf(%ld,&stui.num);printf(name:);scanf(%s,&);printf(normal_score1:);scanf(%d,&stun.normal_score1);printf(normal_score2:);scanf(%d,&stun.normal_score2)
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小型裝飾施工合同范本
- 印刷標(biāo)牌制作合同范本
- 修路工程土建合同范本
- 賣家汽車租賃合同范本
- 配電設(shè)備制作合同范本
- 合同范本模板小學(xué)生
- 化學(xué)藥劑合同范本
- 合伙協(xié)議合同范本多人
- 景區(qū)承接團隊合同范本
- d代加工合同范本
- 2025年黑龍江林業(yè)職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫審定版
- 中國家用通風(fēng)電器具制造行業(yè)分析報告
- 生物-天一大聯(lián)考2025屆高三四省聯(lián)考(陜晉青寧)試題和解析
- 汽車坡道玻璃雨棚施工方案
- 跨文化商務(wù)交際導(dǎo)論 課件 Unit 1 Culture
- 高效空調(diào)制冷機房智能控制系統(tǒng)技術(shù)規(guī)程
- 新高考英語讀后續(xù)寫——人物描寫高級表達(dá)素材
- 第3章一氧化碳變換
- 開工申請開工令模板
- 基于消費者心理的中國奢侈品營銷策略分析——以CHANEL為例市場營銷專業(yè)
- 單元三 電子合同法律實務(wù)
評論
0/150
提交評論