- 注册时间
- 2008-6-15
- 最后登录
- 1970-1-1
- 威望
- 星
- 金币
- 枚
- 贡献
- 分
- 经验
- 点
- 鲜花
- 朵
- 魅力
- 点
- 上传
- 次
- 下载
- 次
- 积分
- 361
- 在线时间
- 小时
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?欢迎注册
×
我自己编写了一个MFC应用程序 ,界面很简单,有4个edit,edit1输入目标数,比如39,edit2输入扫描起点,比如5。点击按钮,寻找比5大的39的素因子。如果找到了,edit3与edit4给予提示。其中edit3显示0,edit4显示“结束了”;实际上,edit3是edit1与edit2取模得到的。edit4是简单的判断与显示,对程序没什么本质作用。程序首先有一些头文件,
#include <iostream.h>
#include <string.h>//¿éòÔê1óÃstringààDí
#include "../Include/HugeCalc.h" // 1«12½ó¿ú
#include "../Include/HugeInt.h" // 10½øÖÆÏμí3
#include "../Include/HugeIntX.h" // 16½øÖÆÏμí3
#pragma message( "automatic link to ../Lib/HugeCalc.lib" )
#pragma comment( lib, "../Lib/HugeCalc.lib" )
#if 1
#define _Test_HI
#define integer CHugeInt
#else
#define _Test_HX
#define integer CHugeIntX
#endif
而后对按钮进行遍写代码如下:
void my2::OnButton1()
{
// TODO: Add your control notification handler code here
//读取edit2的数,找到下一个素数,在edit2中显示
CString str;
GetDlgItemText(IDC_EDIT2,str);
CHugeInt hugePrime((UINT32) 1 );
hugePrime=str;
hugePrime.NextPrime(hugePrime);
GetDlgItem(IDC_EDIT2)->SetWindowText((LPCTSTR)hugePrime);
// 读取edit1,edit2的数,求出模,在edit3中显示
CString str1,str2;
CHugeInt testnumber1((UINT32) 1 );
CHugeInt testnumber2((UINT32) 1 );
CHugeInt testnumber3((UINT32) 1 );
GetDlgItemText(IDC_EDIT1,str1);
testnumber1=str1;
GetDlgItemText(IDC_EDIT2,str2);
testnumber1=str1;
testnumber2=str2;
testnumber3=testnumber1%testnumber2;
GetDlgItem(IDC_EDIT3)->SetWindowText((LPCTSTR)testnumber3);
CString strtest;
GetDlgItemText(IDC_EDIT3,strtest);
// 判断edit3是否为0,是就结束,不是就重复
if (strtest=="0") {GetDlgItem(IDC_EDIT4)->SetWindowText("结束了");} else {OnButton1();};
}
以上程序编译运行成功!
但是计算比较小的数据还可以,如果计算大数就自动关闭了,不知道怎样解决,谢谢! |
|