一道关于文件输入/输出流的C++题目

题目要求是:编写一个程序,该程序读入学生ID和5门课程的考试分数。程序输出ID,5门考试分数以及平均考试分数。输出地考试分数保留两位精度。并假定学生ID是一个字符。需要读入的数据存储在A驱动器的软盘上(因为我的是G盘,所以代码中将A改成了G)
以下是代码:
// 学生成绩示例.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;

int main()
{
ifstream inFile;
ofstream outFile;
int test1,test2,test3,test4,test5;
double average;
char studentID;
inFile.open("G:test.txt");
outFile.open("G:testavg.out");
outFile<<fixed<<showpoint<<setprecision(2);
cout<<"Processing data"<<endl;
inFile>>studentID;
outFile<<"Student ID:"<<studentID<<endl;
inFile>>test1>>test2>>test3>>test4>>test5;
outFile<<"Test scores: "<<setw(4)<<test1<<setw(4)<<test2<<setw(4)<<test3<<setw(4)<<test4<<setw(4)<<test5<<endl;
average=static_cast<double>(test1+test2+test3+test4+test5)/5.0;
outFile<<"Average test score: "<<setw(6)<<average<<endl;
inFile.close();
outFile.close();

return 0;
}
调试没有问题,执行也没有问题,并在源代码的文件夹下生成了一个testavg.out的文件。但是这个文件无法打开。请问该怎么打开?另外,在原来的代码后面又加入“cout<<"test1 is "<<test1<<'\n';
cout<<"test2 is "<<test2<<'\n';
cout<<"test3 is "<<test3<<'\n';
cout<<"test4 is "<<test4<<'\n';
cout<<"test5 is "<<test5<<'\n';”
代码,想看看数据是否已经读入,结果运行的结果是下图的样子

inFile.open("G:test.txt"); ==> inFile.open("G:\\test.txt");
outFile.open("G:testavg.out"); ==> outFile.open("G:\\testavg.out");
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-09
lt;cstring>
#include<iostream>
#include<string>
#include<fstream>

using namespace std;

const string fileName1 = ...; // 需要读取的文件
const string fileName2 = ...; // 需要写入的文件

从文件读取:
ifstream fin;
ofstream fout;

file1.open(fileName1);
file2.open(fileName2);
while (未到文件尾)
{
fin>>c;从file1读取一个字符;
使用 toLowerCase(读入的字符c)转换为小写;
fout<<c;输出转换后的字符至file2;
}

file1.close();
file2.close();

大致流程就是这样。追问

原来的那个程序是我从C++ programming 上弄下来的,我检查了一下。倒没有打错的代码。我想问两个问题:1.原来的代码是要从test.txt中析取数据并存到test1,2,3,4,5中。但是打开test.txt文件的指令inFile.open("G:test.txt")貌似找不到test.txt文件,并且也并没有将数据赋给test1,2,3,4,5五个变量,请问如何从我提供的代码中输入数据?我在这个C++源文件的文件夹下建了个名叫test.txt的文件,这样子是不是不行啊?如图所示

第2个回答  2011-03-11
路径不对 应该如ka_ng所说的改。。。。

inFile.open("G:test.txt"); ==> inFile.open("G:\\test.txt");
outFile.open("G:testavg.out"); ==> outFile.open("G:\\testavg.out");
回答者: ka_ng | 五级 | 2011-3-9 09:53
相似回答
大家正在搜