我需要用c/c++实现计算两个系统时间的间隔的程序,请教大家,非常感谢!!!

希望大家给一个能直接运行的程序,谢谢!!
关于程序的一点解释:
程序刚开始的时候有个系统时间,中间调用其它的子模块,结束后又有一个系统时间,要求计算这个子模块运行的时间。

前些天老师布置的计算排序的效率恰好用上了我也发下
#include <iostream.h>
#include<windows.h>

template<typename Type>
inline void Swap(Type* array, int x, int y)
{
Type temp;
temp=array[x];
array[x]=array[y];
array[y]=temp;
}
//直接选择排序
template<typename Type>
void select(Type *array, int low, int high)
{
int pos;
for(int i=low; i<high; i++){
pos=i;
for(int j=i+1; j<=high; j++)
if(array[pos]>array[j]) pos=j;
if(i!=pos)Swap(array,i,pos);
}
}

int main()
{
int t1a,t1b,max;
int a[100000];
while(max>100000||max<0)
{
cout<<"Input the max of the array(0<=max<=100000)"<<endl;
cin>>max;
}
for(int m=0;m<=max;m++)
{
a[m]=rand()%10000;//设置a[]在0~10000之间
}
t1a=GetTickCount();
select(a,0,max);
t1b=GetTickCount()-t1a;
//for(int j=0;j<max;++j) cout<<a[j]<<" ";(该段代码如果你只是计算时间的话可以不写)
cout<<endl<<"It takes"<<t1b<<"ms to finish the sort"<<endl;
return 0;

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-06-03
UsedTime.h

#ifndef USEDTIME_H
#define USEDTIME_H

#include <Windows.h>
class UsedTime
{
public:
UsedTime();
void Start();
float Stop();
private:
LARGE_INTEGER Frequency;
LARGE_INTEGER BeginCount;
LARGE_INTEGER EndCount;
};
#endif

UsedTime.cpp
#include "UsedTime.h"

UsedTime::UsedTime()
{
QueryPerformanceFrequency(&Frequency);
BeginCount.QuadPart=0;
EndCount.QuadPart=0;
}

void UsedTime::Start()
{
QueryPerformanceCounter(&BeginCount);
}

float UsedTime::Stop()
{
if(0==BeginCount.QuadPart)
{
throw("Please run Start() first!");
return 0.0f;
}
QueryPerformanceCounter(&EndCount);
return ((float)(EndCount.QuadPart-BeginCount.QuadPart))/(Frequency.QuadPart);
}

我需要用c\/c++实现计算两个系统时间的间隔的程序,请教大家,非常感谢...
cout<<endl<<"It takes"<<t1b<<"ms to finish the sort"<<endl;return 0;}

C\/C++完成两个日期之间相隔天数的计算
程序编写的主要思路 两个日期相隔天数的计算,首先可以将两个日期转换成time_t(从指定日期至1970年1月1日0时0分0秒相隔的秒数),然后计算两个time_t的秒数差,最后用此秒数差除以24*3600秒就可以得到相隔的天数。所以程序中需要建立两个函数,一个是将日期转换成time_t的函数,一个是计算日期相...

关于求两个日期之间相距的天数,C\/C++
double days=y.day;days-=x.day;改成 double days=x.day;days-=y.day;2)if((x.year%400==0||(x.year%100!=0&&x.year%4==0))&&x.month<=2)改成 if((x.year%400==0||(x.year%100!=0&&x.year%4==0))&&x.month>2)3)for(i=x.month;i<=12;i++)改成 for(i=y....

想输出两个设定的日期之间的所有日期,用c++或者c语言都可以,十分...
include <iostream> using namespace std;\/\/定义一个时间 struct date { int year;int month;int day;friend date operator++(date &x);friend bool operator<=(date &x, date &y);};\/\/判断是否为闰年 bool isleap_year(int y){ if ((y % 400 == 0) || ((y % 100 != 0) && ...

C++ 计算两个日期之间的天数
D3 = 两个日期之间相差多少个整年,共有多少天 Return D1 + D2 + D3 上面的伪代码用户C++实现如下:\/ include <iostream> using namespace std;\/\/IsLeap函数判断一个年份是否为闰年,方法如下:bool IsLeap(int year){ return (year % 4 ==0 || year % 400 ==0) && (year % 100 !=...

C# 2个时间相隔的月数
二、时间差的计算 法一、使用TimeSpan ,同时也介绍一下TimeSpan的用法 相关属性和函数 Add:与另一个TimeSpan值相加。Days:返回用天数计算的TimeSpan值。Duration:获取TimeSpan的绝对值。Hours:返回用小时计算的TimeSpan值 Milliseconds:返回用毫秒计算的TimeSpan值。Minutes:返回用分钟计算的TimeSpan值。N...

如果自己要做一个协议,并且用C\/C++编程实现两台电脑之间的文件传输,怎 ...
你的问题是一个伪命题!如果不用TCP\/IP协议,自己写底层协议的话,基本上不可实现:1)你需要编写驱动网卡的驱动程序---涉及操作系统内核编程;2)你需要定义自己的应用协议模块,该模块调用网卡驱动,从头造轮子,属于重复工作,在现在来说,基本没什么意义!

C++怎么能间隔一定的时间执行指定的代码
在需要间隔的地方执行延时函数可以使系统暂停一段时间,时间由延时函数的参数指定。从而达到要求的目的。延时函数不是C库函数,所以因编译器不同而有所区别。一、windows系统的编译器下,可以使用Sleep函数。注意首字母S大写。函数名: Sleep 功 能: 执行挂起一段时间 用 法: void Sleep(DWORD ...

要求用c或者c++编写一个万年历, 年份区间自定,不小于50年。能正常在Win...
这里有MFC做的界面,当然,如果有能力,还是可以用Win32来做的,用到的全是自绘。用VS2008编译的。界面如下:附件为源代码。年份区间非常大,精准,因为年份多,就不用下拉框了,直接用调节器来调节或者手动输入。电子时钟显示你可以移到下方,用个状态栏显示就可以了。

在c\/c++程序里怎么用延时
如果是用VC的话,可以加个TIMER,如果你非要用纯C的话,只有用运行一个比较大的循环来廷时,这叫做软件廷时.比如:long i = 0,j = 0;while(i<=100000000){ while(j<=100000000){ j++;} j=0;i++;} 完整程序为:include <iostream.h> void delay();void main(){ cout<<"我 "<<endl...

相似回答