中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++課程設計之運動會管理系統

發布時間:2020-09-07 18:34:37 來源:腳本之家 閱讀:308 作者:自動化1123班潘國成 欄目:編程語言

本文實例為大家分享了C++運動會管理系統的實現代碼,供大家參考,具體內容如下

#include<iostream.h> 
#define MAX 10 
#include<iomanip.h> 
#include "fstream.h" 
int n,m,w; 
class gamescore 
{public: 
int academynum;     //院系編號 
int score[MAX][MAX];   //記錄成績的2維數組 
int totalscore[MAX];   //院總分存儲數組 
int mentotalscore[MAX]; //男團總分存儲數組 
int womentotalscore[MAX];//女團總分存儲數組 
int projectnum;     //項目編號 
  gamescore() 
  { 
    academynum=0; 
    projectnum=0;  
  } 
  void search(int academynum,int projectnum); 
  void remove(int academynum,int projectnum); 
  void repair(int academynum,int projectnum); 
  void save();     //保存成績 
  void input(); 
  void sort1();     //按院總分排序 
  void sort2();     //按男團總分排序 
  void sort3();     //按女團總分排序 
  void hold();     //存儲總分數 
  int academytotalscore(int academynum);    //院總分 
  int academywomentotalscore(int academynum); //院女團總分 
  int academymentotalscore(int academynum);  //院男團總分 
  void output1(int academy);          //輸出院系的成績列表   
  void output2(int academynum);        //輸出院系的團體成績列表 
}; 
void gamescore::input() 
{  int i,j; 
  for(i=0;i<n;i++) 
    {   cout<<"輸入編號為"<<i+1<<"院系的成績(若參賽人數超過6人,取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1,否則參賽院系不超過6個,每項目取前三名,分別為5,3,2分,其余記成績為0)"<<endl; 
       for(j=0;j<m+w;j++) 
       { 
         cout<<"輸入編號為"<<i+1<<"院系的的運動項目編號為"<<j+1<<"的成績:"; 
         cin>>score[i][j]; 
         if(score[i][j]!=0&&score[i][j]!=2&&score[i][j]!=5&&score[i][j]!=10) 
         { 
           cout<<"成績輸入錯誤,請檢查后再輸入"<<endl; 
           cin>>score[i][j]; 
         } 
       } 
     } 
  if(i=n-1) cout<<"!!輸入完畢"<<endl; 
} 
void gamescore::save() 
{  ofstream ofs("運動會成績.txt"); 
  ofs<<"將最終學院參加的對應項目成績列表列出(行表示學院編號,列表示項目編號)"<<endl; 
 
  for(int i=0;i<n;i++) 
    {    
       for(int j=0;j<m+w;j++) 
       { 
         ofs<<score[i][j]<<setw(5);    
       } 
       ofs<<endl; 
     } 
   for(i=1;i<=n;i++) 
   { 
     ofs<<"編號為"<<i<<"的學院總分的成績為:"<<academytotalscore(i)<<endl; 
     ofs<<"編號為"<<i<<"的學院男團的成績為:"<<academymentotalscore(i)<<endl; 
     ofs<<"編號為"<<i<<"的學院女團的成績為:"<<academywomentotalscore(i)<<endl; 
   } 
   
ofs.close(); 
} 
int gamescore::academytotalscore(int academynum)//院總分 
{  
  int sum=score[academynum-1][0]; 
  for(int i=1;i<m+w;i++) 
  { 
       
      sum=sum+score[academynum-1][i]; 
  } 
    return sum; 
} 
int gamescore::academywomentotalscore(int academynum)//院女團總分 
{  
  int sum=score[academynum-1][m]; 
  for(int i=m+1;i<m+w;i++) 
  {  
      sum=sum+score[academynum-1][i]; 
  } 
    return sum; 
} 
int gamescore::academymentotalscore(int academynum)//院男團總分 
{  
  int sum=score[academynum-1][0]; 
  for(int i=1;i<m;i++) 
  { 
       
      sum=sum+score[academynum-1][i]; 
  } 
     return sum; 
} 
 
void gamescore::hold()//存儲總分 
{ 
  for(int i=1;i<=n;i++) 
  { 
  totalscore[i-1]=academytotalscore(i); 
  mentotalscore[i-1]=academymentotalscore(i); 
  womentotalscore[i-1]=academywomentotalscore(i); 
  } 
} 
void gamescore::sort1()//按院系總分排序 
{ 
  int p,q; 
  int a[MAX]; 
  for(int i=0;i<n;i++) 
  { 
    a[i]=i+1; 
  } 
  for(int j=0;j<n-1;j++) 
  { 
    for(i=0;i<=n-1-j;i++) 
    { 
      if(totalscore[i]<totalscore[i+1]) 
      { 
        p=totalscore[i]; 
        totalscore[i]=totalscore[i+1]; 
        totalscore[i+1]=p; 
        q=a[i]; 
        a[i]=a[i+1]; 
        a[i+1]=q; 
      } 
    } 
  } 
  cout<<"按院系總分從大到小排序,以及對應的院系編號為:"<<endl; 
  for(j=0;j<n;j++) 
  { 
    cout<<a[j]<<setw(5); 
  } 
  cout<<endl; 
  for(j=0;j<n;j++) 
  { 
    cout<<totalscore[j]<<setw(5); 
  } 
  cout<<endl; 
} 
void gamescore::sort2()//按男團總分排序 
{ 
  int p,q; 
  int a[MAX]; 
  for(int i=0;i<n;i++) 
  { 
    a[i]=i+1; 
  } 
  for(int j=0;j<n-1;j++) 
  { 
    for(i=0;i<=n-1-j;i++) 
    { 
      if(mentotalscore[i]<mentotalscore[i+1]) 
      { 
        p=mentotalscore[i]; 
        mentotalscore[i]=mentotalscore[i+1]; 
        mentotalscore[i+1]=p; 
        q=a[i]; 
        a[i]=a[i+1]; 
        a[i+1]=q; 
      } 
    } 
  } 
  cout<<"按男團總分從大到小排序,以及對應的院系編號為:"<<endl; 
  for(j=0;j<n;j++) 
  { 
    cout<<a[j]<<setw(5); 
  } 
  cout<<endl; 
  for(j=0;j<n;j++) 
  { 
    cout<<mentotalscore[j]<<setw(5); 
  } 
  cout<<endl; 
} 
void gamescore::sort3()//按女團總分排序 
{ 
  int p,q; 
  int a[MAX]; 
  for(int i=0;i<n;i++) 
  { 
    a[i]=i+1; 
  } 
  for(int j=0;j<n-1;j++) 
  { 
    for(i=0;i<=n-1-j;i++) 
    { 
      if(womentotalscore[i]<womentotalscore[i+1]) 
      { 
        p=womentotalscore[i]; 
        womentotalscore[i]=womentotalscore[i+1]; 
        womentotalscore[i+1]=p; 
        q=a[i]; 
        a[i]=a[i+1]; 
        a[i+1]=q; 
      } 
    } 
  } 
  cout<<"按女團總分從大到小排序,以及對應的院系編號為:"<<endl; 
  for(j=0;j<n;j++) 
  { 
    cout<<a[j]<<setw(5); 
  } 
  cout<<endl; 
  for(j=0;j<n;j++) 
  { 
    cout<<womentotalscore[j]<<setw(5); 
  } 
  cout<<endl; 
} 
 
void gamescore::search(int academynum,int projectnum) 
{int j; 
  int k; 
  do 
  { 
  cout<<"1 查詢該院該單項成績的總分, 2 查詢該院總分,,3 查詢該院男團總分,4 查詢該院女團總分,5 按項目編號查詢,0 退出查詢"<<endl; 
  cout<<"請選擇:";  
  cin>>k; 
  if(k<0||k>5)  //判斷輸入的操作編號是否在目錄中,如果超出范圍重新輸入 
     { 
       cout<<"輸入有誤,請重新輸入要操作的項目編號"; 
       cin>>k; 
     }    
    switch(k) 
     { 
     case 1:  
       cout<<"編號為"<<academynum<<"的學院的第"<<projectnum<<"個項目的成績為:"; 
       cout<<score[academynum-1][projectnum-1]<<endl;break; 
     case 2:     
         cout<<"該院總分為:"<<academytotalscore(academynum)<<endl;break; 
     case 3:  
       cout<<"該院男團總分為:"<<academymentotalscore(academynum)<<endl;break; 
     case 4:  
       cout<<"該院女團總分:"<<academywomentotalscore(academynum)<<endl;break; 
     case 5: 
       cout<<"不同院系對應的第"<<projectnum<<"個項目的成績為:"<<endl; 
        for(j=0;j<n;j++) 
        { 
          cout<<1+j<<setw(5);         
        } 
        cout<<endl; 
         for(j=0;j<n;j++) 
        {   
          cout<<score[j][projectnum-1]<<setw(5); 
        } 
         cout<<endl; 
        break; 
      
     default: return; 
    } 
 
  }while(1); 
} 
void gamescore::repair(int academynum,int projectnum) 
{ 
  cout<<"請重新輸入該項成績:"; 
    cin>>score[academynum-1][projectnum-1]; 
  cout<<"修改成功"<<endl; 
} 
void gamescore::remove(int academynum,int projectnum) 
{ 
  score[academynum-1][projectnum-1]=0; 
  cout<<"!!刪除成功"<<endl; 
} 
void gamescore::output1(int academynum) 
{ 
  //cout<<"該學院運動項目編號及對應的成績如下:"<<endl; 
  for(int i=0;i<m+w;i++) 
  { 
    cout<<1+i<<setw(5); 
  } 
  cout<<endl; 
   for(i=0;i<m+w;i++) 
   {  
     cout<<score[academynum-1][i]<<setw(5); 
   } 
} 
void gamescore::output2(int academynum) 
{ 
  cout<<"該院男團成績為"<<academymentotalscore(academynum)<<endl; 
  cout<<"該院女團成績為"<<academywomentotalscore(academynum)<<endl; 
} 
 
///////////////////////////////////////////////////// 
void main() 
{ 
  int projectnum; 
  int academynum; 
  gamescore a; 
  int num;                               
////////////////////////////////////////////菜單 
  cout<<"        ****廣東海洋大學運動會成績管理系統****"<<endl; 
  cout<<endl; 
  cout<<"      **********************************************"<<endl; 
  cout<<"      **    1 輸入院系及其參加項目的成績   **"<<endl; 
  cout<<"      **    2 查詢某個院系參加某個項目的成績 **"<<endl; 
  cout<<"      **    3 修改一個項目的成績       **"<<endl; 
  cout<<"      **    4 刪除錯誤成績的記錄       **"<<endl; 
  cout<<"      **    5 輸出某個院系的得分表      **"<<endl; 
  cout<<"      **    6 輸出院系的團體得分表      **"<<endl; 
  cout<<"      **    7 對成績按院系進行排序      **"<<endl;  
  cout<<"      **    8 對成績按男團進行排序      **"<<endl; 
  cout<<"      **    9 對成績按女團進行排序      **"<<endl; 
  cout<<"      **   10 保存成績信息          **"<<endl; 
  cout<<"      **    0 退出該程序           **"<<endl; 
  cout<<"      **********************************************"<<endl<<endl; 
  cout<<"          輸入參加院系數 n="; 
  cin>>n; 
  cout<<"          輸入男子項目數 m="; 
  cin>>m; 
  cout<<"          輸入女子項目數 w="; 
  cin>>w; 
 
do{           
     cout<<"請選擇要操作的菜單標號:"; 
     cin>>num; 
     if(num>10||num<0)   
     { 
       cout<<"輸入有誤,請重新輸入要操作的項目編號:"; 
       cin>>num; 
     }       
     switch(num) 
     { 
     case 1:      
       a.input(); 
       break; 
     case 2: 
       cout<<"輸入要查找的院系:"; 
       cin>>academynum; 
       cout<<"輸入要查詢的運動項目編號:"; 
       cin>>projectnum; 
      a.search(academynum,projectnum); 
       break; 
     case 3:  
       cout<<"輸入要修改的院系編號"; 
       cin>>academynum; 
       cout<<"輸入要修改的運動項目的編號:"; 
       cin>>projectnum; 
       a.repair(academynum,projectnum); 
       break; 
     case 4: 
       cout<<"輸入要刪除成績所在的院系的編號:"; 
       cin>>academynum;  
       cout<<"輸入要刪除運動項目編號:"; 
       cin>>projectnum; 
       a.remove(academynum,projectnum); 
       break; 
     case 5: 
       cout<<"輸入要查詢成績的院系編號:"; 
       cin>>academynum; 
       a.output1(academynum); 
       break; 
     case 6: 
       cout<<"輸入要查詢團體成績的院系的編號:"; 
       cin>>academynum; 
       a.output2(academynum); 
       break; 
     case 7: 
        cout<<"該學院運動項目編號及對應學院總分的成績如下:"; 
        a.hold(); 
        a.sort1();break; 
     case 8: 
        cout<<"該學院運動項目編號及對應男團的成績如下:"; 
        a.hold(); 
        a.sort2();break; 
     case 9: 
        cout<<"該學院運動項目編號及對應女團的成績如下:"; 
        a.hold(); 
        a.sort3();break; 
     case 10: 
       a.save(); 
       cout<<"!!保存成功"<<endl;break; 
     default: return; 
     } 
  }while(1); 
} 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

延川县| 高青县| 海口市| 临沭县| 德保县| 嘉善县| 乌鲁木齐市| 通化县| 奇台县| 中山市| 交口县| 普兰县| 孝义市| 聊城市| 西乡县| 盖州市| 灵山县| 五常市| 萝北县| 永丰县| 石棉县| 小金县| 宝鸡市| 固原市| 鄂温| 永宁县| 视频| 晋中市| 石河子市| 上虞市| 台州市| 喜德县| 南靖县| 普洱| 西昌市| 哈尔滨市| 盐城市| 元谋县| 大城县| 凌云县| 清涧县|