我用c ++编写了一个程序,该程序将从用户的输入中获取学生的卷号和分数并将其存储在文件中。然后程序将读取文件并逐个显示值。 该程序应该显示值直到结束... 它确实显示了它...但是存储在文件中的最后一个值被重复了... 请问我哪里出问题了,对此问题可能采取什么解决方案?
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
ofstream fout;
fout.open("Marks.txt",ios::out);
char ans='y';
int rollno;
float marks;
while (ans=='y'||ans=='Y')
{
cout<<"\nEnter the roll no.: ";
cin>>rollno;
cout<<"\nEnter marks: ";
cin>>marks;
fout<<rollno<<'\n'<<marks<<'\n';
cout<<"\nWant to enter more records?(y/n)...";
cin>>ans;
}
fout.close();
ifstream fin;
int c;
fin.open("Marks.txt",ios::in);
while(!fin.eof())
{
fin>>c;
cout<<"\n"<<c;
fflush(stdin);
}
fin.close();
getchar();
return 0;
}
假设我输入的卷号为25,标记为58。 然后出现询问我是否要输入更多记录的行。 我输入了“ N”。 我期望输出是这样的: 25 58 但是实际输出结果是这样的: 25 58 58