实验七 C++的输入输出流库
- 格式:doc
- 大小:40.00 KB
- 文档页数:5
1从键盘输入一个字符串,并逐个将字符串的每个字符传送到磁盘文件中,字符串的结束标记为“!”。
#include<iostream>#include<fstream>#include<string>using namespace std;void main(){ofstream myf("e:\\aaa.txt");char txt[1000];int i;cin.getline(txt,100);for(i=0;i<100;i++){if(txt[i]=='!')break;myf<<txt[i];}}.2.输出十进制、八进制、十六进制显示的数据0~15。
#include<iostream>#include<iomanip>using namespace std;void main(){int i;int shuzu[16]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};cout<<"Decimal:";for(i=0;i<16;i++){cout<<dec<<shuzu[i]<<' ';}cout<<endl;cout<<"Octal:";for(i=0;i<16;i++){cout<<oct<<shuzu[i]<<' ';}cout<<endl;cout<<"Hexadecimal:";for(i=0;i<16;i++){cout<<hex<<shuzu[i]<<' ';}cout<<endl;}3 类stu用来描述学生的姓名、学号、数学成绩、英语成绩,分别建立文本文件和二进制文件,将若干学生的信息保存在文件中,读出该文件的内容。
#include<iostream>#include<fstream>using namespace std;class student{public:char name[10];int num;float math;float english;friend ostream & operator <<(ostream &out, student &s);friend istream & operator >>(istream &in, student &s);};ostream & operator <<(ostream &out, student &s){out<<<<" "<<s.num<<" "<<s.math<<" "<<s.english<<'\n';return out;}istream & operator >>(istream &in, student &s){in>>>>s.num>>s.math>>s.english;return in;}void main( ){ofstream ofile;ifstream ifile;ofile.open("e:\\d.txt");student s;int a;cout<<"请输入需要输入信息的学生人数:";cin>>a;cout<<endl;for(int i=1;i<=a;i++){ cout<<"请输入第"<<i<<"个学生的姓名,学号,数学成绩,英语成绩"<<endl;cin>>s;ofile<<s;}ofile.close( );ifile.open("e:\\d.txt");cout<<"\n读出文件内容"<<endl;ifile>>s;while(!ifile.eof()){cout<<s;ifile>>s;}ifile.close( );}4.设计一个留言类,实现以下的功能。
(1) 程序第一次运行时,建立一个message.txt文本文件,并把用户输入的信息存入该文件。
(2) 以后每次运行时,都先读取该文件的内容并显示给用户,然后由用户输入新的信息,退出时将新的信息存入这个文档。
文件的内容,既可以是最新的信息,也可以包括以前所有的信息,用户可自己选择。
#include<iostream>#include<fstream>using namespace std;class Message{public:char msg[20];friend ostream & operator <<(ostream &out, Message &s);friend istream & operator >>(istream &in, Message &s);};ostream & operator <<(ostream &out, Message &s){out<<s.msg<<'\n';return out;}istream & operator >>(istream &in, Message &s){in>>s.msg;return in;}void main( ){ofstream ofile;Message s;int option;ifile.open("e:\\message.txt",ios::_Nocreate);if(ifile.fail())//第一次运行建立文件,输入信息{ofile.open("e:\\message.txt");cout<<"请输入一条信息:"<<endl;cin>>s;ofile<<s;ofile.close();ifile.close();}else//以后运行首先显示文件内容{cout<<"文件的内容为:"<<endl;ifile>>s; while(!ifile.eof()){cout<<s;ifile>>s;}ifile.close();for(;;)//显示菜单以供用户进行选择{cout<<"请选择:"<<endl<<"1----------追加信息"<<endl<<"2----------覆盖原有信息"<<endl<<"3----------显示文件信息"<<endl<<"0----------退出"<<endl;cin>>option;switch(option){case 1:ofile.open("e:\\message.txt",ios::app);cout<<"请输入一条信息:"<<endl;cin>>s;ofile<<s;ofile.close();break;case 2:ofile.open("e:\\message.txt",ios::trunc);cout<<"请输入一条信息:"<<endl;cin>>s;ofile<<s;ofile.close();break;case 3:ifile.open("e:\\message.txt");while(!ifile.eof()){cout<<s;ifile>>s;}ifile.close();break;case 0:ofile.close();return;}}}}。