学生运动会分数记录系统

今天拉了一天肚子,快虚脱了,还要忙着复习最后两科,(明天考完就解放了,O(∩_∩)O哈哈~)。只写了分数记录系统输入函数,明天考完试后再添加输出和注释。

代码如下:

  1 #include"iostream"
  2 using namespace std;
  3 #include<string>
  4 #include<fstream>
  5 #include<iomanip>
  6 
  7 struct school
  8 {
  9     string name;
 10     int number;
 11     int sores;
 12     int male;
 13     int female;
 14 }sch[25];
 15 
 16 struct 
 17 {
 18     string name[5];
 19     int xuhao[5];
 20 }stu[25];
 21 
 22 struct
 23 {
 24     int pre[5];
 25 }pro[25];
 26 
 27 int fen1[5]={7,5,3,2,1},fen2[3]={5,3,1};
 28 
 29 int n,m,w,x,i,j;
 30 
 31 void input()
 32 {
 33     
 34     cout<<"请输入参与学校个数"<<endl;
 35     cin>>n;
 36     cout<<"请输入学校的名字"<<endl;
 37     for(i=1;i<=n;i++)
 38     {
 39         cin>>sch[i].name;
 40         sch[i].number=i;
 41         sch[i].sores=0;
 42         sch[i].male=0;
 43         sch[i].female=0;
 44     }
 45     cout<<"请分别输入男子项目个数和女子项目个数"<<endl;
 46     cin>>m>>w;
 47     for(i=1;i<=m+w;i++)
 48     {
 49     if(i%2)
 50     {
 51         cout<<"请输入第"<<i<<"个项目前五名学校的序号"<<endl;
 52         for(j=1;j<=5;j++)
 53         {
 54             cin>>x;
 55             pro[i].pre[j]=x;
 56             sch[x].sores+=fen1[j-1];
 57             if(i<=m)
 58                 sch[x].male+=fen1[j-1];
 59             else
 60                 sch[x].female+=fen1[j-1];
 61         }
 62         
 63     }
 64     else
 65     {
 66         cout<<"请输入第"<<i<<"个项目前三名学校的序号"<<endl;
 67         for(j=1;j<=3;j++)
 68         {
 69             cin>>x;
 70             pro[i].pre[j]=x;
 71             sch[x].sores+=fen2[j-1];
 72             if(i<m)
 73                 sch[x].male+=fen2[j-1];
 74             else
 75                 sch[x].female+=fen2[j-1];
 76         }
 77     
 78     }
 79    }
 80 }
 81 void print(int i)
 82 {
 83     cout<<sch[i].number<<setw(10)<<sch[i].name<<setw(10)<<sch[i].sores<<setw(10)<<sch[i].male<<setw(10)<<sch[i].female<<endl;
 84 }
 85 
 86 void sore()// 按总成绩排名输出
 87 {
 88     cout<<"按总成绩排名输出"<<endl;
 89     school temp;
 90     for(i=1;i<=n;i++)
 91     {
 92         int flag=1;
 93         for(j=1;j<=n-i;j++)
 94         {
 95             if(sch[j].sores<sch[j+1].sores)
 96             {
 97                 temp=sch[j];
 98                 sch[j]=sch[j+1];
 99                 sch[j+1]=temp;
100                 flag=0;
101             }
102         }
103         if(1==flag)
104            break;
105     }
106     for(i=1;i<=n;i++)
107         print(i);
108 
109 }
110 
111 void malesore()
112 {
113     cout<<"按男子总成绩排名输出"<<endl;
114     school temp;
115     for(i=1;i<=n;i++)
116     {
117         int flag=1;
118         for(j=1;j<=n-i;j++)
119         {
120             if(sch[j].male<sch[j+1].male)
121             {
122                 temp=sch[j];
123                 sch[j]=sch[j+1];
124                 sch[j+1]=temp;
125                 flag=0;
126             }
127         }
128         if(flag==1)
129             break;
130     }
131     for(i=1;i<=n;i++)
132         print(i);
133 }
134 
135 void femalesore()
136 {
137     cout<<"按女子总成绩排名输出"<<endl;
138     school temp;
139     for(i=1;i<=n;i++)
140     {
141         int flag=1;
142         for(j=1;j<=n-i;j++)
143         {
144             if(sch[j].female<sch[j+1].female)
145             {
146                 temp=sch[j];
147                 sch[j]=sch[j+1];
148                 sch[j+1]=temp;
149                 flag=0;
150             }
151         }
152         if(flag==1)
153             break;
154     }
155     for(i=1;i<=n;i++)
156         print(i);
157 }
158 int main()
159 {
160     input();
161     sore();
162     malesore();
163     femalesore();
164     return 0;
165 }

 

 2013-01-24   19:03:37

2013-02-25  16:20:33

放完寒假回来了,以后仍然会每天学一点。

posted @ 2013-01-24 19:03  paradise in hell  Views(185)  Comments(0Edit  收藏  举报