程序博客网
程序博客网
热点推荐
推荐博客
编程语言
数据库
前端
程序博客网
>
音轨增益软件
代码块
来源:互联网 发布:
音轨增益软件
编辑:程序博客网 时间:2024/05/16 13:49
#ifndef __UTILITY_H__// 如果没有定义__UTILITY_H__#define __UTILITY_H__// 那么定义__UTILITY_H__// 实用程序软件包#ifdef _MSC_VER// 表示是VC #if _MSC_VER == 1200// 表示VC6.0// 标准库头文件#include
// 标准串和操作#include
// 标准流操作#include
// 极限#include
// 数学函数#include
// 文件输入输出#include
// 字符处理#include
// 日期和时间函数#include
// 标准库#include
// 标准输入输出#include
// 输入输出流格式设置#include
// 支持变长函数参数#include // 支持断言#else// 其它版本的VC++// ANSI C++标准库头文件#include
// 标准串和操作#include
// 标准流操作#include
// 极限#include
// 数学函数#include
// 文件输入输出#include
// 字符处理#include
// 日期和时间函数#include
// 标准库#include
// 标准输入输出#include
// 输入输出流格式设置#include
// 支持变长函数参数#include
// 支持断言using namespace std;// 标准库包含在命名空间std中#endif// _MSC_VER == 1200#else// 非VC // ANSI C++标准库头文件#include
// 标准串操作#include
// 标准流操作#include
// 极限#include
// 数据函数#include
// 文件输入输出#include
// 字符处理#include
// 日期和时间函数#include
// 标准库#include
// 标准输入输出#include
// 输入输出流格式设置#include
// 支持变长函数参数#include
// 支持断言using namespace std;// 标准库包含在命名空间std中#endif// _MSC_VER// 自定义类型enum StatusCode {SUCCESS, FAIL, UNDER_FLOW, OVER_FLOW,RANGE_ERROR, DUPLICATE_ERROR,NOT_PRESENT, ENTRY_INSERTED, ENTRY_FOUND, VISITED, UNVISITED};// 宏定义#define DEFAULT_SIZE 1000// 缺省元素个数#define DEFAULT_INFINITY 1000000// 缺省无穷大// 实用函数(模板)声明static char GetChar(istream &inStream = cin); // 从输入流inStream中跳过空格及制表符获取一字符static bool UserSaysYes();// 当用户肯定回答(yes)时, 返回true, 用户否定回答(no)时,返回falsestatic void SetRandSeed();// 设置当前时间为随机数种子static int GetRand(int n);// 生成0 ~ n-1之间的随机数static int GetRand();// 生成随机数static int GetPoissionRand(double expectValue);// 生成期望值为expectValue泊松随机数 template
void Swap(ElemType &e1, ElemType &e2);// 交换e1, e2之值template
void Display(ElemType elem[], int n);// 显示数组elem的各数据元素值template
void Write(const ElemType &e);// 显示数据元素// 实用类class Timer;// 定时器类Timerclass Error;// 通用异常类static char GetChar(istream &inStream)// 操作结果:从输入流inStream中跳过空格及制表符获取一字符{char ch;// 临时变量while ((ch = (inStream).peek()) != EOF// 文件结束符(peek()函数从输入流中接受1// 字符,流的当前位置不变)&& ((ch = (inStream).get()) == ' '// 空格(get()函数从输入流中接受1字符,流// 的当前位置向后移1个位置)|| ch == '\t'));// 制表符return ch;// 返回字符}static bool UserSaysYes()// 操作结果: 当用户肯定回答(yes)时, 返回true, 用户否定回答(no)时,返回false{char ch;// 用户回答字符bool initialResponse = true;// 初始回答do{// 循环直到用户输入恰当的回答为止if (initialResponse){// 初始回答cout << "(y, n)?"; }else{// 非初始回答cout << "用y或n回答:";}while ((ch = GetChar()) == '\n');// 跳过空格,制表符及换行符获取一字符initialResponse = false;} while (ch != 'y' && ch != 'Y' && ch != 'n' && ch != 'N');while (GetChar() != '\n');// 跳过当前行后面的字符if (ch == 'y' || ch == 'Y') return true;else return false;}// 定时器类Timerclass Timer{private:// 数据成员clock_t startTime;public:// 方法声明Timer() { startTime = clock(); }// 构造函数~Timer() {};// 析构函数double ElapsedTime()// 返回已过的时间{clock_t endTime = clock();// 结束时间return (double)(endTime - startTime) / (double)CLK_TCK;// 返回从Timer对象启动或最后一次调用reset()后所使用的CPU时间}void Reset() { startTime = clock(); }// 重置开始时间};#define MAX_ERROR_MESSAGE_LEN 100// 通用异常类 class Error{private:// 数据成员char message[MAX_ERROR_MESSAGE_LEN];// 异常信息public:// 方法声明Error(char mes[] = "一般性异常!")// 构造函数 {strcpy_s(message, mes);// 复制异常信息}~Error(void) {};// 析构函数void Show() const// 显示异常信息{cout << message << endl;// 显示异常信息}};static void SetRandSeed()// 操作结果:设置当前时间为随机数种子{ srand((unsigned)time(NULL)); }static int GetRand(int n)// 操作结果:生成0 ~ n-1之间的随机数{ return rand() % (n); }static int GetRand()// 操作结果:生成随机数{ return rand(); }static int GetPoissionRand(double expectValue)// 操作结果:生成期望值为expectValue泊松随机数 {double x = rand() / (double)(RAND_MAX + 1);// x均匀分布于[0, 1)int k = 0;double p = exp(-expectValue);// pk为泊松分布值double s = 0;// sk用于求和p0+p1+...+pk-1while (s <= x){// 当sk <= x时循环, 循环结束后sk-1 <= x < sks += p;// 求和k++;p = p * expectValue / k;// 求下一项pk}return k - 1;// k-1的值服从期希值为expectValue的泊松分布}template
void Swap(ElemType &e1, ElemType &e2)// 操作结果: 交换e1, e2之值{ElemType temp;// 临时变量// 循环赋值实现交换e1, e2temp = e1;e1 = e2; e2 = temp;}template
void Display(ElemType elem[], int n)// 操作结果: 显示数组elem的各数据元素值{for (int i = 0; i < n; i++){// 显示数组elemcout << elem[i] << " ";}cout << endl; }template
void Write(const ElemType &e)// 操作结果: 显示数据元素{ cout << e << " ";}#endif
阅读全文
0
0
代码块
代码块
代码块
代码块
代码块
代码块
代码块
代码块
代码块
代码块
代码块
代码块
代码块
代码块
代码块
代码块
代码块
代码块
安装Hadoop,Spark集群模式
python中的range()函数的用法
Android 自定义View进阶
我开了波克拉
存储器和寄存器
代码块
GitHub 发布年度开发者报告 JavaScript 依然最受欢迎
基于Android手机的远程视频监控系统
Task运行过程分析笔记
System.map 解析
【第1081期】JavaScript 浮点数陷阱及解法
类的组合使用方法
为什么段落自动编号影响到全文所有段落
vim
音轨增益软件
原创
粉丝
点击
热门IT博客
freebsd 升级软件
ubuntu 支持中文显示
韩子高网络电影第二部
称重软件下载
蛇口电视台招商网络
电路板开发设计软件
mac 删除文件夹命令
东莞数据分析师招聘
淘宝网上什么最好卖
什么软件找工作最好
天干地支的简便算法
软件实施技术服务合同
刘家昌 版权 知乎
购买planbar软件
数据库导入excel表格
sharpdesk网络扫描
上海太平洋保险java
淘宝店铺装修教程颜色
淘宝客服售前售后流程
二叉树遍历非递归java
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
吃毓婷会发胖吗
女人发胖的原因
吃什么不发胖还减肥
吃钙片会发胖吗
西红柿发胖吗
身体发胖怎么办
吃海鲜发胖吗
吃大豆会发胖吗
身体发胖是怎么回事
发胖的食物有哪些
发胖的原因有哪些
核桃吃了会发胖吗
番茄酱发胖吗
吃红薯干会发胖吗
孕期发胖怎么办
喝啤酒发胖怎么办
产后发胖怎么减肥
吃鱼会不会发胖
方便面发胖吗
人发胖的主要原因
为什么突然发胖
生完孩子发胖
吃枣会发胖吗
吃玉米饼会发胖吗
豆制品发胖吗
女人为什么发胖
喝酒发胖的原因
馒头吃了会发胖吗
吃豆子会发胖吗
好吃不发胖的食物
失眠会不会发胖
红薯粉会发胖吗
发福什么意思
发福
怎样才能变胖
为什么会变胖
怎么变胖点
怎么才能变胖
怎样能变胖
怎样可以变胖
如何才能变胖