第十七周2

来源:互联网 发布:mysql 更改存放路径 编辑:程序博客网 时间:2024/05/18 01:50
 

* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:                             
* 作    者:王智凯                           
* 完成日期: 2011年 12 月 16
* 版本号:       小凯  

 

 #include <iostream>
#include <fstream>
#include <string>
using namespace std;
struct Grade
{
     int c;
     int g;
     int y;
};
struct Student
{
    char num[12];
    string name;
    Grade grade;
    int all;
    struct Student *next;
};
    Student student[180];

int main()
{
      int i;
   double sum,ave;
   sum=0;
      Student x;
      Student *head=NULL,*p,*q;

     ifstream infile("score.txt",ios::in);   //读入数据;
     if(!infile)
  {
         cerr<<"open error!"<<endl;
         exit(1);
  }
    for(i=0;i<180;i++)
 {
 
       p=new Student;
       infile>>p->num>>p->name>>p->grade.c>>p->grade.g>>p->grade.y;
       p->all=p->grade.c+p->grade.g+p->grade.y;
       sum=sum+p->all;
 
 
  
        //计算平均分;

         
    p->next=NULL;  //建立连接;
    if(i==0)
     head=p;
    else
     q->next=p;
    q=p;
}
   ave=sum/180;
   p=head;

cout<<"学号"<<"             "<<"名字"<<"               "<<"总分"<<endl;
cout<<endl;
   while(p!=NULL)                // 输出合格学生;
   {  
       if(p->all>ave)
   
    if(p->grade.c>=60)
    
       if(p->grade.g>=60)
  
          if(p->grade.y>=60)
    {
    cout<<p->num<<"    "<<p->name<<"             "<<p->all<<endl;
   
    }
   
  
   
    p=p->next;
   }
   infile.close();
   return 0;
}

 

 

 


感言:感觉和第一个差不多啊,动态链表有点难~~

原创粉丝点击