使用VC++开发考场随机排座系统[组图](4)
//计算给定随机数的一位正态分布函数值
double CRandomGen::Normal(double x, double miu, double sigma)
{
return 1.0/(sqrt(2*PI)*sigma)* exp(-1*(x-miu)*(x-miu)/(2*sigma*sigma));
}
//对产生的随机数进行筛选
double CRandomGen::NormalRandom(double miu, double sigma, double min, double max)
{
double x;
double dScope;
double y;
do
{
x = AverageRandom(min,max);
y = Normal(x, miu, sigma);
dScope = AverageRandom(0, Normal(miu,miu,sigma));
}while( dScope > y);
return x;
}
3.3打印处理
由于整个系统采用了基于对话框的应用程序结构,而基于对话框的应用程序本身不具有文档/视图结构,对打印功能的支持有限,所以整个打印处理部分也需要自定义解决,本系统采用了生成临时CFrameWnd和CView类对象的方法[4]调用系统默认的OnFilePrintPreview()函数来实现打印功能,文献[4]对此有详细描述。
4 结束语
本系统运行后的界面如图3所示,通过该系统可以很方便地实现对考生随机座号的生成,同时,系统提供的丰富的打印预览和打印功能也为数据的输出提供了便利,如图4。
图3 程序运行主界面
- 上一篇:SQLite在VC下的使用
- 下一篇:用VC6实现IE工具栏[组图]