建立一个基于对话框,上面有二个编辑框用与输入数。m_edit1,m_edit2分别与编辑框关联。我想要在编辑框中输入二个数,把它们之间的素数全部输出来,现在的问题就是点击按纽没有任何反映,哪个位置错了啊,哪个求素数的思路是正确的,不晓得哪个位置错了,忙乎了一个晚上已没有搞出来啊。
void CMy2Dlg::OnButton1()
{ int str1;
int str2;
UpdateData(TRUE);
str1=atoi(m_edit1);
str2=atoi(m_edit2);
int k;
if(str1<str2)
{ for(int n=str1;n<=str2;n=n+2)
{
k=sqrt(n);
for(int i=2;i<=k;i++)
if(n%i==0)
break;
if(i>=k+1)
{ CString str;
str.Format("%d",n);
CString str1="所求的素数为:";
str1+=str+",";
AfxMessageBox(str1);
}
}
}
else
MessageBox("error");
}
void CMy2Dlg::OnButton1()
{ int str1;
int str2;
UpdateData(TRUE);
str1=atoi(m_edit1);
str2=atoi(m_edit2);
int k;
if(str1<str2)
{ for(int n=str1;n<=str2;n=n+2)
{
k=sqrt(n);
for(int i=2;i<=k;i++)
if(n%i==0)
break;
if(i>=k+1)
{ CString str;
str.Format("%d",n);
CString str1="所求的素数为:";
str1+=str+",";
AfxMessageBox(str1);
}
}
}
else
MessageBox("error");
}
int str2;
UpdateData(TRUE);
str1=atoi(m_edit1);
str2=atoi(m_edit2);
int k;
CString str3;
if(str1<str2)
{ for(int n=str1;n<=str2;n=n+1)
{
k=sqrt(n);
for(int i=2;i<=k;i++)
if(n%i==0)
break;
CString str;
if(i>=k+1)
{
str.Format("%d",n);
str3="所求的素数为:";
str3+=str+",";
AfxMessageBox(str3);
}
}
}
else
MessageBox("error");
}