2015年2月24日 星期二

Metaprogramming -- 程式製造程式

//參考資料來源 http://www.csie.ntnu.edu.tw/~u91029/Programming.html
//修為windows版

#include  <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;

int main()
{
    // 輸入四則運算式
    string s;
    cin >> s;

    // 製作程式碼
    ofstream fout("temp.cpp");
    fout << "#include <iostream>\n";
    fout << "using namespace std;\n";
    fout << "int main()\n";
    fout << "{\n";
    fout << "   cout << (" << s << ") << endl;\n";
    fout << "   return 0;\n";
    fout << "}\n";
    fout.close();

     // 編譯和執行(在windows底下)
    system("g++ temp.cpp -o temp.out");
     system("temp.out");

    // 刪除暫存檔案
    system("del temp.out");
    system("del temp.cpp");
}