#include<iostream>
using namespace std;
int main()
{
    ios_base::fmtflags original_flags=cout.flags();  
    //(猜测) 声明fmtflags 类型变量  original_flags,用此时的输出格式初始化 
    //         旨在修改输出格式后用 该变量初始化输出格式 
    
    
    cout<<812<<'|';
    cout.setf(ios_base::left,ios_base::adjustfield); 
    //类似setiosflags,用于设置输出格式
    //ios_base::left  数据左对齐  
    //ios_base::adjustfield 取消其他对齐方式,改变为 left 
    //作用类似于 cout<< left << 
    
    
    cout.width(10);
    //改变且仅改变  下一个   输出字段的宽度
    
    
    cout<<813<<815<<'\n'; 
    cout.unsetf(ios_base::adjustfield);
    //取消 左对齐
    
    
    cout.precision(2);
    //输出精度 小数点后保留 2 位 
    
    
    cout.setf(ios_base::uppercase|ios_base::scientific);
    cout<<831.0;
    //scientific:输出数据为 科学计数法形式
    //uppercase: 科学计数法中的e 大写
    
    
    cout.flags(original_flags);
    //用 用原格式初始化 的 fmtflags 类型 变量 original_flags,初始化输出格式 
     
    return 0;
 } 
第一题

 

 

 

#include<iostream>
#include<fstream>
using namespace std;
int main()
{
    ofstream file;
    file.open("creation.txt");
    file<<"成功写入文件!!!";
    file.close();
    cout<<"写入成功!"<<endl; 
    return 0;
}
第二题

 

 

 

#include<iostream> 
#include<fstream>
using namespace std;
int main()
{
    fstream file;
    file.open("11-4.txt");
    string input;
    getline(file,input);
    file.close();
    cout<<input<<endl;
    return 0;
}
3

 

 

 

#include<iostream>
#include<fstream>
#include<vector>
#include<stdlib.h>
#include<ctime>
using namespace std;
class list{
    public:
        int num;
        string stu_num;
        string name;
        string class_;
        list(int n,string s,string na,string c):num(n),stu_num(s),name(na),class_(c){
        }
        void print(){
            cout<<num<<"    "<<stu_num<<"       ";
            cout<<name<<"      "<<class_<<endl;
        }
};
int main()
{
    fstream file;
    file.open("list2.txt");
    int n0;
    string s0,na0,c0;
    int times=0;//统计人数 
    vector<list> v;
    
    while(file>>n0)
    {
        file>>s0>>na0>>c0;
        list list0(n0,s0,na0,c0);
        v.push_back(list0);
        times++;
        
    }
    vector <int> roll;//保存roll的数字 
    vector <list> v1;//保存被roll中的学生数据 
    
    int check=0;
    while(true)
    {
        check=0;
        srand((unsigned)time(NULL));
        int roll0=(rand()%(times-0));
        roll.push_back(roll0);
        for(int ns=roll.size();ns>0;ns--)
        {
            if(roll0==roll[roll.size()-ns])
            {
                check=1;
            //    break;
            }
        }
    //    if(check==1)
    //    {
    //        continue;
    //    }
    //--------------------------------------------------------------------------\\
    //注释部分是检查是否重复,但是如果加入运行,编译出的程序就会无限黑屏没有反应. \\
    //--------------------------------------------------------------------------\\ 

        list list1(v[roll0-1].num,v[roll0-1].stu_num,v[roll0-1].name,v[roll0-1].class_);
        list1.print();
        v1.push_back(list1);
        cout<<"continue? Y/N"<<endl;
        char yon;
        cin>>yon;
        if(yon=='Y')
        {
            continue;
        } 
        else
        {
            break;
        }
        
    }
    int size=roll.size();
    file.close();
    ofstream file1("roll.txt");
    for(int nn=0;nn<v1.size();nn++)
    {
        file1<<v1[nn].num;
        file1<<"         ";
        file1<<v1[nn].stu_num;
        file1<<"          ";
        file1<<v1[nn].name;
        file1<<"            ";
        file1<<v1[nn].class_;
        file1<<endl;
    }
    
    file1.close();
    return 0;
}
5

最后用file<< 输出  和使用cout<<  一点很大的不同是cout支持 cout<<a<<b<<c; 而file输出流不支持。如果按cout的写法就会导致写不上。

 

posted on 2018-06-20 23:53  ikazuchi  阅读(102)  评论(0编辑  收藏  举报