17.1

来源:互联网 发布:a1532支持什么网络 编辑:程序博客网 时间:2024/06/05 07:03
 

17周任务1

(2011-12-19 07:29:08)[编辑][删除]
转载
标签:

杂谈

 

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



      

#include <iostream>
#include <fstream>
#include <iomanip>                    //右对齐
#include <string>
using namespace std;
struct student
{
 char num[12];
 string name;
 double c;                                              //要有类型
 double m;
 double e;
 double score;            
};
student stu[180];
int main ()
{
 int i;
 ifstream infile("score.txt",ios::in);
 if(!infile)
 {
  cout<<"open error!"<<endl;
  exit(1);
 }
 for(i=0;i<180;i++)
 {
  infile>>stu[i].num;//此句的含义是读入的数据放在stu[i].name的内存中,改变原来的理解。
  infile>>stu[i].name;//不用考虑换行,度数的时候会自动换
  infile>>stu[i].c;
  infile>>stu[i].m;
  infile>>stu[i].e;
 }
 infile.close();
 
 for(i=0;i<180;i++)
 {
  stu[i].score=stu[i].c+stu[i].m+stu[i].e;                                                                                        //要将程序和数据放在同一文件夹中,最好放在桌面。
 int k;
 student t;                                                            //存入的数据要尽量放到文本文档中
 for (k=0;k<179;k++)                             //此数不宜过大,否则出现不必要的麻烦
                                                                    
  
  for(i=0;i<179-k;i++)                                               
  {
   if (stu[i].score<stu[i+1].score)
   {
    t=stu[i];
                stu[i]=stu[i+1];
                stu[i+1]=t;
   }
  }
 }
 cout<<"总分排序:"<<endl;
 for(i=0;i<180;i++)
 {
  cout<<setiosflags(ios::right)<<stu[i].num<<" "<<stu[i].name<<" "<<stu[i].c<<" "<<stu[i].m<<" "<<stu[i].e<<" "<<stu[i].score<<endl;
 }
 cout<<"获奖学金的同学:"<<endl;
 for(i=0;i<180;i++)
 {
  if( stu[i].c>=60 && stu[i].m>=60 && stu[i].e>=60)
  {
   
          while(i<30)
    {
   
       cout<<stu[i].name<<endl;
    i++;
    }
   
  }
 }
 
 return 0;
}

 

感言:1:运行不出来,却不知哪错了,无从下口,经别人指教,如同仙人指路。
      2:自己憋上1个多小时,难受啊!
      3:对于一些问题不要想的过于复杂,如:读数据的换行。