c++文件读写怎么实现 15
#include<iostream>#include<fstream>#include<iomanip>usingnamespacestd;//保存同学信息的结构体str...
#include <iostream>#include <fstream>#include <iomanip>using namespace std;
//保存同学信息的结构体struct Student { char nameA [20]; double english; double math; double cpp; double total;};
//显示同学信息void Display ( Student students [], int count, ostream &os);//将同学信息按总成绩排序void SortByTotal ( Student students [], int count);//将同学信息按英语成绩排序void SortByEnglish ( Student students [], int count);//将同学信息按总成绩排序void SortByTotal ( Student students [], int count){ //简单选择排序(递减) for (int i = 0; i < count-1; i++) { int max = i; for (int j = i+1; j < count; j++) { if (students [j].total > students [max].total) max = j; } if (max != i) {//交换两同学信息 Student temp = students [max]; students [max] = students [i]; students [i] = temp; } }}
//将同学信息按英语成绩排序void SortByEnglish ( Student students [], int count){ for (int i = 0; i < count-1; i++) { int max = i; for (int j = i+1; j < count; j++) { if (students [j].english > students [max].english) max = j; } if (max != i) { Student temp = students [max]; students [max] = students [i]; students [i] = temp; } }}//显示同学信息到流os,os 可以是cout的别名void Display ( Student students [], int count, ostream &os){ os << setw (12) << "姓名" << setw (12) << "英语" << setw (12) << "数学" << setw (12) << "程序设计" << setw (12) << "总分" << endl; for (int i = 0; i < count; i++) { os << setw (12) << students[i].nameA << setw (12) << students[i].english << setw (12) << students[i].math << setw (12) << students [i].cpp << setw (12) << students[i].total << endl; } os << endl;}
int main (){ //结构体数组,最多可存放51个同学信息 Student students [51];
int i = 0;
//读入若干同学信息(不超过51个) while (cin >> students[i].nameA >> students[i].english >> students[i].math >> students [i].cpp ) { //计算总分 students [i].total = students[i].english + students[i].math + students [i].cpp; i++; } int count = i;//实际同学人数
//将同学信息按总成绩排序 SortByTotal (students, count);//显示同学信息 Display (students, count, cout);
cout << endl;//将同学信息按英语成绩排序 SortByEnglish (students, count);//显示同学信息 Display (students, count, cout);
return 0;}
这个程序老师写的没错的,要怎么以文件读写形式修改 展开
//保存同学信息的结构体struct Student { char nameA [20]; double english; double math; double cpp; double total;};
//显示同学信息void Display ( Student students [], int count, ostream &os);//将同学信息按总成绩排序void SortByTotal ( Student students [], int count);//将同学信息按英语成绩排序void SortByEnglish ( Student students [], int count);//将同学信息按总成绩排序void SortByTotal ( Student students [], int count){ //简单选择排序(递减) for (int i = 0; i < count-1; i++) { int max = i; for (int j = i+1; j < count; j++) { if (students [j].total > students [max].total) max = j; } if (max != i) {//交换两同学信息 Student temp = students [max]; students [max] = students [i]; students [i] = temp; } }}
//将同学信息按英语成绩排序void SortByEnglish ( Student students [], int count){ for (int i = 0; i < count-1; i++) { int max = i; for (int j = i+1; j < count; j++) { if (students [j].english > students [max].english) max = j; } if (max != i) { Student temp = students [max]; students [max] = students [i]; students [i] = temp; } }}//显示同学信息到流os,os 可以是cout的别名void Display ( Student students [], int count, ostream &os){ os << setw (12) << "姓名" << setw (12) << "英语" << setw (12) << "数学" << setw (12) << "程序设计" << setw (12) << "总分" << endl; for (int i = 0; i < count; i++) { os << setw (12) << students[i].nameA << setw (12) << students[i].english << setw (12) << students[i].math << setw (12) << students [i].cpp << setw (12) << students[i].total << endl; } os << endl;}
int main (){ //结构体数组,最多可存放51个同学信息 Student students [51];
int i = 0;
//读入若干同学信息(不超过51个) while (cin >> students[i].nameA >> students[i].english >> students[i].math >> students [i].cpp ) { //计算总分 students [i].total = students[i].english + students[i].math + students [i].cpp; i++; } int count = i;//实际同学人数
//将同学信息按总成绩排序 SortByTotal (students, count);//显示同学信息 Display (students, count, cout);
cout << endl;//将同学信息按英语成绩排序 SortByEnglish (students, count);//显示同学信息 Display (students, count, cout);
return 0;}
这个程序老师写的没错的,要怎么以文件读写形式修改 展开
2个回答
展开全部
老师用的是cin,cout标准输入输出流,你定义ifstream/ofstream文件输入输出流代替就行了啊。。。
ifstream ifile("c:\\pdos.def");//以输入方式打开文件
ofstream ofile("c:\\x.123"); //以输出方式打开文件
ifstream ifile("c:\\pdos.def");//以输入方式打开文件
ofstream ofile("c:\\x.123"); //以输出方式打开文件
追问
你能改一下吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在c++中有文件读写的操作:
fstream
其中有两个操作:ifstream和ofstream分别对应写和读。推荐你看看我的文章:
http://note.sdo.com/u/634707850957990149/n/UwaA5~ki6gdVnM0go003k6
fstream
其中有两个操作:ifstream和ofstream分别对应写和读。推荐你看看我的文章:
http://note.sdo.com/u/634707850957990149/n/UwaA5~ki6gdVnM0go003k6
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询