项目4的扩展

本文介绍了一个使用C++编程语言从文本文件中读取学生考试成绩,并计算每位学生的总分及平均分的程序实例。此外,还展示了如何筛选出高于平均分的学生名单。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <iostream>  
#include<fstream>     
using namespace std;   
struct Score    
{    
    char num[14];  
    char name[14];  
    int cpp;    
    int math;    
    int english;
	double ping;
    int zong;  
    struct Score *next;
};  
Score man[100000];  
void output(Score man[],int num);    
int main(){  
  int mannum=0,sum=0;  
ifstream infile("man.txt",ios::in);  //以输入的方式打开文件       
    if(!infile)       //测试是否成功打开       
    {      
        cerr<<"open error!"<<endl;      
        exit(1);      
    }      
    while (!infile.eof())      
    {      
        infile>>man[mannum].num>>man[mannum].name>>man[mannum].cpp>>man[mannum].english>>man[mannum].math;  
        man[mannum].zong=man[mannum].cpp+man[mannum].english+man[mannum].math;
		man[mannum].ping=man[mannum].zong/3;
        ++mannum;      
    }      
    infile.close();  
	man[mannum-1].next=NULL;
	for(int j=0;j<mannum-1;j++){
	sum=man[mannum].zong+sum;
	}
	sum=sum/(mannum-1);
    cout<<"同学的成绩单 cpp 英语 高数  "<<endl;
	Score *p;
	for(int i=0;i<mannum-1;i++){
	p=&man[i];
	while(p!=NULL){
		if(p->zong>sum){
	cout<<p->num<<"   "<<p->name<<"   "<<p->cpp<<"   "<<p->english<<"   "<<p->math<<"   "<<"总分"<<p->zong<<"  "<<"平均分"<<p->ping<<endl;
		}
	p=p->next;
	}
	}
    return 0;  
  }  

运行结果:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值