2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課程設(shè)計報告</b></p><p><b>  歌手比賽系統(tǒng)</b></p><p>  姓 名:XXX</p><p>  學(xué) 號:XXX</p><p>  專 業(yè):計算機(jī)科學(xué)與技術(shù)</p><p>  班 級: X

2、XX </p><p><b>  指導(dǎo)教師:XXX</b></p><p>  職 稱:XXX </p><p><b>  目錄</b></p><p><b>  1.引言1</b></p><p><b>  2.系統(tǒng)設(shè)計

3、1</b></p><p><b>  2.1設(shè)計分析1</b></p><p>  2.1.1 項目描述1</p><p>  2.2 程序結(jié)構(gòu)2</p><p>  2.2.1程序劃分2</p><p>  2.2.2 程序結(jié)構(gòu)流程圖3</p><p

4、><b>  3.系統(tǒng)實現(xiàn)3</b></p><p>  3.1 各模塊的功能及程序說明3</p><p>  3.2系統(tǒng)主要功能模塊的運行效果圖3</p><p><b>  4.設(shè)計體會6</b></p><p><b>  5.參考文獻(xiàn)7</b></

5、p><p><b>  6.源程序代碼7</b></p><p><b>  1.摘要</b></p><p>  C語言是一門計算機(jī)高級語言,它在Microsoft開發(fā)的軟件Visual C++ 6.0中執(zhí)行,C語言具有很多優(yōu)點:1.C語言具有豐富的數(shù)據(jù)類型,眾多的運算符,體現(xiàn)結(jié)構(gòu)化程序設(shè)計的優(yōu)良控制結(jié)構(gòu),具有抽象功能及

6、體現(xiàn)信息隱蔽思想的函數(shù)。2.C語言的應(yīng)用幾乎遍及了程序的各個領(lǐng)域,如科學(xué)家,系統(tǒng)程序設(shè)計,字處理軟件和電子表格軟件的開發(fā),信息管理,計算機(jī)輔助設(shè)計,等方面。3.C語言簡潔,為完成某一功能所寫的源程序代碼往往比其他語言寫得短,便利程序輸入工作量減少。4.若程序員在書寫過程時嚴(yán)格遵循ANSI C標(biāo)準(zhǔn),則其源代碼可不作修改,即可用于各種型號的計算機(jī)和各種操作系統(tǒng),因此,C語言具有良好的可移植性。 本次實踐我們選擇了使用C語

7、言編寫基于鏈表的程序,不僅使大家對程序設(shè)計、編程方法有了進(jìn)一步提高,而且掌握了使用C語言動態(tài)內(nèi)存分配及數(shù)據(jù)結(jié)構(gòu)等方面的知識。</p><p><b>  2.系統(tǒng)設(shè)計</b></p><p><b>  2.1設(shè)計分析</b></p><p>  2.1.1 項目描述</p><p>  1.項

8、目名稱:歌手打分系統(tǒng)</p><p><b>  2.功能描述:</b></p><p> ?。?)生成字符界面的功能菜單</p><p>  **********1.輸入選手?jǐn)?shù)據(jù)**********</p><p>  **********2.評委打分**************</p><p>

9、;  **********3.成績排序**************</p><p>  **********4.數(shù)據(jù)查詢**************</p><p>  **********5.追加學(xué)生數(shù)據(jù)**********</p><p>  **********6.寫入數(shù)據(jù)文件**********</p><p>  *********

10、*7.退出系統(tǒng)**************</p><p>  (2)通過輸入菜單項的序號啟動相應(yīng)模塊的功能</p><p>  能夠根據(jù)輸入的選手人數(shù)創(chuàng)建鏈表;</p><p>  錄入9名評委給選手的打分,并存儲到文件singerOriginal.dat中;</p><p>  按照去掉一個最高分和去掉一個最低分的原則求每名選手的平均分;

11、</p><p>  按平均分由高到低的順序?qū)x手進(jìn)行排序;</p><p>  把排名后的數(shù)據(jù)存儲到文件singerFianl.dat中;</p><p>  把原始數(shù)據(jù)和最終的結(jié)果輸出到屏幕;</p><p>  在第②步中保存singerOriginal.dat文件之前,可根據(jù)情況修改數(shù)據(jù),例如:插入或刪除歌手。</p>

12、<p><b>  2.2 程序結(jié)構(gòu)</b></p><p><b>  2.2.1程序劃分</b></p><p>  將歌手打分系統(tǒng)程序進(jìn)行系統(tǒng)模塊劃分,共分為九部分,分別是:</p><p><b>  1.定義結(jié)構(gòu)體</b></p><p><b>

13、  2.創(chuàng)建鏈表函數(shù)</b></p><p><b>  3.輸入數(shù)據(jù)函數(shù)</b></p><p><b>  4.計算函數(shù)</b></p><p><b>  5.排序函數(shù)</b></p><p><b>  6.輸出數(shù)據(jù)函數(shù)</b><

14、/p><p><b>  7.輸出最終數(shù)據(jù)</b></p><p><b>  8.刪除函數(shù)</b></p><p><b>  9.插入函數(shù)</b></p><p><b>  10.主函數(shù)</b></p><p>  2.2.2 程

15、序結(jié)構(gòu)流程圖</p><p><b>  3.系統(tǒng)實現(xiàn)</b></p><p>  3.1 各模塊的功能及程序說明</p><p>  創(chuàng)建鏈表:使用尾插法插入數(shù)據(jù);</p><p>  輸入選手信息:包括選手信息的輸入,選手成績的輸入,去掉一個最高分和最低分,并將其余評委的評分求出平均值。</p><

16、;p>  輸出選手排名:包括選手成績排名。</p><p>  刪除和插入選手信息:將退賽選手和新參加的比賽的選手進(jìn)行刪除和插入。</p><p>  主函數(shù):將所有函數(shù)實現(xiàn)。</p><p>  3.2系統(tǒng)主要功能模塊的運行效果圖</p><p><b>  程序的運行效果圖:</b></p>&l

17、t;p><b>  4.設(shè)計體會</b></p><p>  在本次的C語言實踐中,讓我受益匪淺,通過本次的實踐,讓更深入的了解了C語言這門計算機(jī)語言,也明白了軟件開發(fā)的相關(guān)流程和基本步驟,也許我的程序還存在些許問題,也許還不完美,但是我相信在以后的學(xué)習(xí)中我們會繼改進(jìn)的。也希望老師可以給我們提出您的寶貴意見。</p><p><b>  5.參考文獻(xiàn)&

18、lt;/b></p><p>  C程序設(shè)計(第四版)譚浩強(qiáng)著</p><p><b>  6.源程序代碼</b></p><p>  #include<stdio.h></p><p>  #include<stdlib.h></p><p>  #include&

19、lt;time.h></p><p>  #include<string.h></p><p>  #define N 3</p><p>  #define M 10</p><p>  int add = N-1;</p><p>  int sum[N]={0},Max[N],Min[N];&l

20、t;/p><p>  float aver[N]={0};</p><p>  struct player</p><p><b>  {int num;</b></p><p>  char name[8];</p><p>  int score[M];</p><p>&

21、lt;b>  };</b></p><p>  void Inistplayer(struct player a[],int n)</p><p><b>  {int i;</b></p><p>  for(i=0;i<n;i++)</p><p>  scanf("%d %s&qu

22、ot;,&a[i].num,&a[i].name);</p><p><b>  }</b></p><p>  void Inputscore(int score[],int n)</p><p><b>  {int i;</b></p><p>  for(i=0;i<n

23、;i++)</p><p>  score[i]=1+(int)10*rand()/(RAND_MAX+1);</p><p><b>  }</b></p><p>  void sort(struct player a[],float b[],int n)</p><p>  {int i,k,j,t;</p&

24、gt;<p>  float temp;</p><p>  char str[8];</p><p>  for(i=0;i<n;i++)</p><p><b>  {k=i;</b></p><p>  for(j=i+1;j<n;j++)</p><p>  if

25、(b[k]>b[j]) k=j;</p><p><b>  if(k!=i)</b></p><p>  {temp=b[i];</p><p>  b[i]=b[k];</p><p>  b[k]=temp;</p><p>  strcpy(str,a[i].name);</p

26、><p>  strcpy(a[i].name,a[k].name);</p><p>  strcpy(a[k].name,str);</p><p>  t=a[i].num;</p><p>  a[i].num=a[k].num;</p><p>  a[k].num=t;</p><p>

27、<b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void main()</p><p>  {int flag=1,n,i,m,j;</p><p><b>  FIL

28、E *fp;</b></p><p>  fp = fopen("data.txt","w+");</p><p>  struct player a[20];</p><p>  printf("**********1.輸入選手?jǐn)?shù)據(jù)***********\n");</p><

29、;p>  printf("**********2.評委打分***************\n");</p><p>  printf("**********3.成績排序***************\n");</p><p>  printf("**********4.數(shù)據(jù)查詢***************\n");<

30、/p><p>  printf("**********5.追加學(xué)生數(shù)據(jù)***********\n");</p><p>  printf("**********6.寫入數(shù)據(jù)文件***********\n");</p><p>  printf("**********7.退出系統(tǒng)***************\n"

31、;);</p><p>  while(flag)</p><p>  {printf("你想進(jìn)行的操作:");</p><p>  scanf("%d",&n);</p><p><b>  switch(n)</b></p><p><b&

32、gt;  {</b></p><p>  case 1:Inistplayer(a,N);break;</p><p>  case 2:srand((unsigned)time(NULL));</p><p>  for(i=0;i<N;i++)</p><p><b>  {</b></p&g

33、t;<p>  printf("%d位選手的成績:",i+1);</p><p>  Inputscore(a[i].score,M);</p><p>  for(j=0;j<M;j++)</p><p>  printf("%d ",a[i].score[j]);</p><p>

34、;  printf("\n");</p><p><b>  }</b></p><p><b>  break;</b></p><p>  case 3:for(i=0;i<N;i++)</p><p>  {Max[i]=a[i].score[0];</p>

35、;<p>  Min[i]=a[i].score[0];</p><p>  for(j=0;j<M;j++)</p><p><b>  {</b></p><p>  sum[i]+=a[i].score[j];</p><p>  if(Max[i]<a[i].score[j]) Max[

36、i]=a[i].score[j];</p><p>  if(Min[i]>a[i].score[j]) Min[i]=a[i].score[j];</p><p><b>  }</b></p><p>  aver[i]=(float)(sum[i]-Max[i]-Min[i])/(M-2);</p><p>

37、<b>  }</b></p><p>  sort(a,aver,N);</p><p>  for(i=0;i<N;i++)</p><p>  printf("%s %5.2f\n",a[i].name,aver[i]);</p><p><b>  break;</b&g

38、t;</p><p>  case 4:printf("你想查詢選手的數(shù)據(jù):");</p><p>  scanf("%d",&m);</p><p>  for(i=0;i<N;i++)</p><p>  if(a[i].num==m)</p><p><

39、b>  {</b></p><p>  printf("%d號選手%s總分:%d,最高分%d,最低分%d,平均分%5.2f",a[i].num,a[i].name,sum[i],Max[i],Min[i],aver[i]);</p><p>  printf("\n");</p><p><b> 

40、 }</b></p><p><b>  break;</b></p><p>  case 5:printf("請輸入要追加的選手?jǐn)?shù)據(jù):\n");</p><p><b>  add += 1;</b></p><p>  scanf("%d %s&quo

41、t;,&a[add].num,&a[add].name); </p><p><b>  break;</b></p><p>  case 6:printf("將數(shù)據(jù)寫入文件中:\n");</p><p>  for (i = 0 ; i < add+1 ; i++)</p>&l

42、t;p><b>  {</b></p><p>  fprintf(fp,"%d ",a[i].num);</p><p>  fprintf(fp,"%s ",a[i].name);</p><p>  fprintf(fp,"%d\n",a[i].score);</p&

43、gt;<p><b>  }</b></p><p><b>  break;</b></p><p>  case 7:exit(0);</p><p><b>  break;</b></p><p>  default:flag=0;</p>

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論