在C++中測試文件的讀取與寫入

//////////////////////////////////////
//用以測試文件讀取和對文件進行寫入
//2016.4.7


//包含頭文件
#include "stdafx.h"
#include<iostream>
#include<fstream>
#include<iomanip>
//////////////////////////////////////
using namespace std;
int main()
{
    int i;
    struct information
    {
        int id;
        char name[20];
        int basicSalary, addSalary, award, deduction;
    }*p;//定義結構體

    p = new information;
    ofstream outData("e:\\test\\Salary.txt");
    cout << setiosflags(ios::left) << "請輸入數據:" << endl;
    cout << setw(10) << "職工編號" << setw(10) << "姓名" << setw(10) << "基本工資" << setw(10) << "加班工資" << setw(10)
        << "獎金" << setw(10) << "扣除"<<endl;

        for (i = 0;i<3;i++)
        {
            cin >> p->id >> p->name >> p->basicSalary >> p->addSalary >> p->award >> p->deduction;
            outData << p->id << " " << p->name << " " << p->basicSalary << " " << p->addSalary << " " << p->award << " " << p->deduction << endl;
        }
    outData.close();//從鍵盤輸入並寫入文件

    ifstream inData("e:\\test\\Salary.txt");
    cout << "從文件Salary.txt讀取數據進行處理後,輸出所有數據:" << endl;
    cout << "職工編號" << setw(10) << "姓名" << setw(10) << "基本工資" << setw(10) << "加班工資" 
        << setw(10) << "獎金" << setw(10) << "扣除" <<setw(10) << "實發工資" << endl;
    inData >> p->id;
    while (!inData.eof())
    {
        inData >> p->name >> p->basicSalary >> p->addSalary >> p->award >> p->deduction;
        cout << setw(10) << p->id << setw(10) << p->name << setw(10) << p->basicSalary <<setw(10) << p->addSalary 
            << setw(10) << p->award << setw(10) << p->deduction << setw(10) 
            << p->basicSalary + p->addSalary + p->award - p->deduction << endl;
        inData >> p->id;
    }
    inData.close();//從文件讀取數據並輸出到屏幕
    delete p;//釋放內存
    return 0;
}
發佈了24 篇原創文章 · 獲贊 55 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章