主题:一道小题目
			
 nerotic
				 [专家分:0]  发布于 2009-04-20 22:49:00							
			文件中包含学生信息,每位学生信息占一行
信息格式
学生性别 学生成绩
现在的要求就是说要读入文件中学生的信息,并分别计算出男女生的平均成绩
我那运行时 什么也显示不了,郁闷
希望各位大虾指导指导
						
					 
		
			
回复列表 (共5个回复)
		
								
				沙发
				
					
nerotic [专家分:0]  发布于 2009-04-20 22:53:00				
				?附件呢?
算了,还是把写的贴上来吧
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
    //ifstream in;
    //定义成string 可能更好
    char ch;
    //string data;//快断网了,没进行string写了。。。先发上来吧
    double score;
    int female=0,male=0,sum1=0,sum2=0;
    //in.open("E:\\Projects\\Project 5\\data.txt");
    ifstream in("E:\\Projects\\Project 5\\data.txt");
    if(!in)
    {
        cout<<"不能打开文件"<<endl;
        return -1;
    }
    in.get(ch);in>>score;
    while(!in.eof())
    {
        in.get(ch);
        in>>score;
        switch(ch)
        {
        case 'f':
            {
                female++;
                sum1+=score;
            }
        case 'm':
            {
                male++;
                sum2+=score;
            }
        }
        
    }
    
    /*while(in>>score)
    {
        while(in.get(ch))
        {
            if(ch=='f')
        {
            female++;
            sum1+=score;
        }
        else
        {
            male++;
            sum2+=score;
        }
        }
    }
        
        
        */
    in.close();
    cout<<"男生有"<<male<<"人,"<<"平均分为:"<<sum2/male<<endl;
    cout<<"女生有"<<female<<"人,"<<"平均分为:"<<sum1/female<<endl;
    return 0;
}
							 
						
				板凳
				
					
Hawkxp [专家分:350]  发布于 2009-04-21 11:38:00				
				还是把标准输入输出进行重定向来读写文件吧,干嘛搞得这么复杂
							 
						
				3 楼
				
					
Hawkxp [专家分:350]  发布于 2009-04-21 11:45:00				
				就算你不用重定向
ifstream in("E:\\Projects\\Project 5\\data.txt");
表文件路径的字串作为参数传入不是更好?最次也得用宏,在代码顶端定义吧
							 
						
				4 楼
				
					
nerotic [专家分:0]  发布于 2009-04-22 11:43:00				
				
不懂。。。。我刚学
							 
						
				5 楼
				
					
moke9 [专家分:30]  发布于 2010-09-02 07:41:00				
				你好.我是全职网赚工作者.
如果你有时间有电脑.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系 QQ908889846
							 
									
			
我来回复