实验结论
基础练习
11-7
源码
#include<iostream>
using namespace std;
int main(){
ios_base::fmtflags original_flags=cout.flags();//保存现在的格式化参数设置
cout<<812<<'|';
cout.setf(ios_base::left,ios_base::adjustfield);//将对齐方式设置为左对齐
cout.width(10);//设置数据域宽度为10
cout<<813<<815<<'\n';
cout.unsetf(ios_base::adjustfield);//清楚对齐方式的设置
cout.precision(2);
cout.setf(ios_base::uppercase|ios_base::scientific);//更改浮点数的显示方式
cout<<813.0;
cout.flags(original_flags);//恢复格式化参数设置
return 0;
}
截图
11-3
源码
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ofstream out("test1.txt");
if(!out) {
cout << "fail to open." << endl;
return 1;
}
out <<"已成功写入文件!"<< endl;
out.close();
return 0;
}
截图
11-4
源码
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main(){
string s;
ifstream in("test1.txt");
if(!in) {
cout << "fail to open." << endl;
return 1;
}
in>>s;
cout<<s<<endl;
in.close() ;
return 0;
}
截图
应用练习1
源码
#include<iostream>
#include<fstream>
#include<string>
#include<cstdlib>
#include<ctime>
using namespace std;
struct Student
{
int num;
string number,name,clas;
};
int main()
{
int i,j;
Student stu[100];
ifstream in("list.txt");
for(i=0;in>>stu[i].num>>stu[i].number>>stu[i].name>>stu[i].clas;i++)
in.close();
srand(time(NULL));
ofstream out("roll.txt");
for(j=0;j<5;j++)
{
int r=rand()%i+1;
cout<<stu[r].num<<" "<<stu[r].number<<" "<<stu[r].name<<" "<<stu[r].clas<<endl;
out<<stu[r].num<<" "<<stu[r].number<<" "<<stu[r].name<<" "<<stu[r].clas<<endl;
}
out.close();
return 0;
}
未能成功编译运行
不明白错在哪,望指点
应用练习2
源码
#include<iostream>
#include<fstream>
#include<cstring>
using namespace std;
int main()
{
ifstream in("应用练习2.txt");
if(!in){
cout<<"fail to open"<<endl;
return 1;
}
int words=0,lines=0,nums=0;
string w;
while(getline(in,w)){
nums+=w.size();
for (int i = 0; i < w.size() ; i++) {
if (w[i]==' ')words++;
}
words++;
lines++;
}
cout<<"单词数:"<<words<<" "<<"行数:"<<lines<<" "<<"字符数:"<<nums<<endl;
in.close();
return 0;
}
截图