#include <iostream> #include <ctime> #include <windows.h> using namespace std; #define Data_Dir "10^.tds" int main() { long int N, tmp, plus = 10; double start, end; int choice; cout << "输入数据量:" << endl; cin >> N; cout << "选择生成类型(1:正序 2:逆序 3:随机):" << endl; cin >> choice; plus *= N; FILE *fp; if (!(fp = fopen(Data_Dir, "w+"))) { cout << "打开数据文件错误" << endl; } if (!fprintf(fp, "%d\n", N)) { cout << "写入总数错误" << endl; } cout << "----------开始生成----------" << endl; switch (choice) { case 1: { start = GetTickCount(); for (long int i = 1; i <= N; i++) { fprintf(fp, "%d\n", i); } end = GetTickCount(); } break; case 2: { start = GetTickCount(); while (N--) { fprintf(fp, "%d\n", N); } end = GetTickCount(); } break; case 3: { srand(time(0)); start = GetTickCount(); while (N--) { tmp = 0 + rand() % plus; fprintf(fp, "%d\n", tmp); // if (!fwrite(&tmp, sizeof(long int), 1, fp)) // { // cout << "写入错误" << endl; // } // cout<<tmp<<endl; } end = GetTickCount(); } break; default: break; } cout << "----------生成结束----用时:" << end - start << "ms------" << endl; fclose(fp); system("pause"); return 0; }写注释
时间: 2024-02-10 20:22:54 浏览: 70
这是一个C++程序,用于生成数据文件。程序首先定义了一些变量和常量,包括数据文件的路径、数据量、生成类型等。接下来打开数据文件,并向其中写入总数。然后根据生成类型不同,使用不同的方式生成数据,并将数据写入文件中。最后输出生成所用时间并关闭文件。程序中通过调用Windows API函数GetTickCount()来获取当前系统时间,用于计算时间差。同时还有一些注释,用于解释程序中的一些细节。
阅读全文