主题:一道小题目
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
我来回复