CLion的C/C++作业模板

发布时间 2023-10-23 22:28:09作者: duxingmengshou

main.cpp

#include <iostream>
#include <chrono>
#include <cstdio>
#include <string>

using namespace std;

#define test 1

#include "1.c"


void startFun(void (*solve)(void), string t = "ms") {
    // 将stdin重定向到输入文件
    freopen("..\\input.txt", "r", stdin);
    // 获取当前时间点
    auto start = std::chrono::high_resolution_clock::now();
    // 程序开始
    std::cout << "运行结果:" << std::endl;

    solve();


    // 获取程序执行结束的时间点
    auto end = std::chrono::high_resolution_clock::now();
    // 计算执行时间(以微秒为单位)
    if (t == "ms") {
        auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(end - start);
        // 输出执行时间
        std::cout << std::endl << "程序执行时间:" << (double) duration.count() << t << std::endl;
    } else if (t == "ns") {
        auto duration = std::chrono::duration_cast<std::chrono::microseconds>(end - start);
        // 输出执行时间
        std::cout << std::endl << "程序执行时间:" << (double) duration.count() << t << std::endl;
    }


    fclose(stdin);
}


int main() {
    // 使用函数指针进行封装测试
//    startFun(s,"ns");
    startFun(s);
    return 0;
}

1.c

//
// Created by _thinkPad on 2023/10/22.
//
#include <stdio.h>
#include <stdlib.h>

void s()
{
    //代码
}
#ifndef test

int main() {
    s();
    return 0;
}

#endif

这样子文件除了可以在总项目中运行,也可以单独运行调试了。