1. 程式人生 > >實驗報告(七)

實驗報告(七)

outfile 小數點 net rand() case 而是 class int dev

# include<iostream>
using namespace std;
int main(){
    ios_base::fmtflags original_flags=cout.flags();//1 保存現在的格式化參數設置,以便將來恢復這些設置; 
    cout<<812<<‘|‘;
    cout.setf(ios_base::left,ios_base::adjustfield);//2 把對齊方式由缺省的右對齊改為左對齊; 
    cout.width(10);//3 控制輸出寬度為10 
    cout<<813<<815<<‘\n‘;
    cout.unsetf(ios_base::adjustfield);//4 清除對齊方式的設置;
    cout.precision(2);//在輸出的時候設定輸出值以新的浮點數精度值顯示,即小數點後保留( )位 
    cout.setf(ios_base::uppercase|ios_base::scientific);//5 更改浮點數的顯示設置; fix是只改小數點後位數,scientific會按照科學計數法改 
    cout<<813.0;
    cout.flags(original_flags);//6 恢復原來的格式化參數設置。
    return 0;
}

// 結果
//812|813 815
//8.13E+002

參考網址:
https://blog.csdn.net/w_linux/article/details/72793651

#include <iostream>
#include <fstream>
using namespace std;
int main (){
    ofstream file;
    file.open("test1.txt");
    file<<"已成功寫入文件"; 
    file.close();
    
}

技術分享圖片

#include <fstream>
#include <iostream>
# include <string>
using namespace std;
int main(){
    char ch;
    ifstream file("test1.txt");
    while(file.get(ch)){
        cout<<ch;   
    }
    file.close();
    return 0;
}

技術分享圖片

開始不知道怎麽做,查了一下,有輸入和輸出兩種方式打開文件夾,而這種並不是相對於文件夾而言的,而是相對於我們平時的輸出屏幕和輸入屏幕。以輸入方式打開文件夾是指把文件夾的內容導入程序(然後可以輸出於屏幕),反之把內容寫進文件夾,就是出了。
參考網址:
https://blog.csdn.net/luo809976897/article/details/51442070

# include <fstream>
# include <iostream>
# include <string>
# include <time.h>
# include <cstdlib>
using namespace std;
int main(){

    string list[83];
    int i=0;
    string str;
    ifstream file("C:\\Users\\奚格\\Desktop\\實驗7\\實驗7\\list.txt");//輸入方式打開文件夾 
    if (!file) {
         cout << "ERROR" << endl;
         return 1;
    }
    while(getline(file,str)){    //參考了同學的 
        list[i]=str;
        i++;    
    }
    ofstream outfile("C:\\Users\\奚格\\Desktop\\實驗7\\實驗7\\outlist.txt");
    int x;
    srand(time(NULL));
    for(int j=0;j<5;j++){
         x=rand()%83;
         cout<<list[x]<<endl;
         outfile<<list[x]<<endl;    
    }
    file.close();
    outfile.close();
    return 0;
}

技術分享圖片

技術分享圖片

借鑒了同學的,學會了getline整行讀取並且存入。
一開始自己的輸出是空白的一塊,後來也是看了同學的,添加了判斷,發現自己文件讀取失敗才導致了空白。
但是自己的運行結果是亂碼,很奇怪,復制了同學的試了一下,也是亂碼,可能是自己Dev的問題。

#include<iostream>
#include<string>
#include<fstream>
using namespace std;
int main()
{
    string name;
    cout<<"文件名";
    cin>>name;
    ifstream file(name);
    if (!file) {
        cout << "ERROR" << endl;
        return 1;
    }
    long c=0,word=0,line=1;
    char ch;
    file<<ch;
    while (file.get(ch))
    {
            c++;
            if ((ch<‘A‘||ch>‘Z‘&&c<‘a‘||ch>‘z‘)&&c!=‘\n‘)
                ++word;
            if (ch==‘\n‘)
                ++line;
    }
    cout<<"字符數:"<<c<<endl;
    cout<<"單詞數:"<<word<<endl;
    cout<<"行數:  "<<line<<endl;
    file.close();
    return 0;
}

技術分享圖片

第三題輸入文件名不會,看了同學的,但是我這兒一直報錯,就很神奇。

實驗報告(七)