第17周实验报告1

实验目的:学会利用结构体
实验内容:所有同学的成绩表等用结构体做
* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:                             
* 作    者:臧鹏                       
* 完成日期: 2011年 12 月 16日
* 版本号:         

#include < fstream >
#include <string>
#include < iostream >
#include<iomanip>
using namespace std;
struct Student
{
 char num[12];
 string name;
 float grade1;
 float grade2;
 float grade3;
 float score;
};
Student stu[180];
int main()
{
 int i;
 ifstream infile("score.txt",ios::in);
 if(!infile)
 {
  cerr<<"open error!"<<endl;
  exit(1);
 }
 for( i=0;i<180;i++)
 {
  infile>>stu[i].num>>stu[i].name>>stu[i].grade1>>stu[i].grade2>>stu[i].grade3;
     stu[i].score=(stu[i].grade1)+(stu[i].grade2)+(stu[i].grade3);
 }
 infile.close();
 int j;
 Student t;
 for(j=0;j<179;j++)
  for(i=0;i<179-j;i++)
   if(stu[i].score<stu[i+1].score)
   {
    t=stu[i];
    stu[i]=stu[i+1];
    stu[i+1]=t;
   }
  
   cout<<"按总分降序排序后"<<endl;
   
           cout<<"学号"<<'\t'<<'\t'<<setiosflags(ios::left)<<setw(9)<<"姓名"<<setw(7)<<"C++"<<setw(8)<<"高数"<<setw(8)<<"英语"<<setw(8)<<"总分"<<endl;
      for( i=0;i<180;i++)
   {
   
    
    cout<<stu[i].num<<"   "<<setw(8)<<stu[i].name<<": "<<stu[i].grade1<<"\t"<<stu[i].grade2<<"\t"<<stu[i].grade3<<"\t"<<stu[i].score<<endl; 
 
   }
   cout<<"无挂科者前三十名"<<endl;
            for( i=0;i<180;i++)
   {
    if(stu[i].grade1>=60&&stu[i].grade2>=60&&stu[i].grade3>=60)
   
     cout<<stu[i].num<<"   "<<setw(8)<<stu[i].name<<": "<<stu[i].grade1<<"\t"<<stu[i].grade2<<"\t"<<stu[i].grade3<<"\t"<<stu[i].score<<endl; 
    if(i>=30)
     break;
   }

   
    return 0;
}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值