在VC++中,如复选框对应6个数1,3,5,6,8,9,任意选择2个以上数字,并进行两两组合,如选择了6,8,9,就有68,69,89三种组合,即组选,最后把组合的数字在编辑框上显示出来,这样的程序怎么写,知道的指点一下,说清每一步骤,最好给个源码,我就知道CButton *b=((CButton *)GetDlgItem(ID号))->GetCheck() )检测出选中的数字,其他的就不清楚了,知道的高手教一下好吗,小弟跪谢了VC++,复选框,
调试欢乐多
void CP20Dlg::OnButton1()
{
const int Check[12] = {IDC_CHECK1,IDC_CHECK2,IDC_CHECK3,IDC_CHECK4,IDC_CHECK5,
IDC_CHECK6,IDC_CHECK7,IDC_CHECK8,IDC_CHECK9,IDC_CHECK10,IDC_CHECK11,IDC_CHECK12};
int nu[12] = {1, 2,3, 4, 5,6,7,8,9,10,11,12};
CString tem;
CString s;
CString str=" ";
CString s1;
int t=0;
int size=0;;
int *a=new int[size];
for(int i=0; i<12; i++)
{ if(((CButton *)GetDlgItem(Check))->GetCheck())
{ a=nu;
size+=1;}
}
for(int x=0;x<size-1;x++)
{
for(int j=x+1;j<size;j++)
{
tem.Format("%d%d",a[x],a[j]);
str=str+tem+",";
t=t+1;
}
}GetDlgItem(IDC_EDIT1)->SetWindowText(str);
s.Format(_T("%d"), t);
str="共有"+s+"种组合";
SetDlgItemText(IDC_EDIT2,str);
}
const int Check[12] = {IDC_CHECK1,IDC_CHECK2,IDC_CHECK3,IDC_CHECK4,IDC_CHECK5,
IDC_CHECK6,IDC_CHECK7,IDC_CHECK8,IDC_CHECK9,IDC_CHECK10,IDC_CHECK11,IDC_CHECK12};
int nu[12] = {1, 2,3, 4, 5,6,7,8,9,10,11,12};
CString tem;
CString s;
CString str=" ";
CString s1;
int t=0;
int size=0;;
int *a=new int[size];
for(int i=0; i<12; i++)
{ if(((CButton *)GetDlgItem(Check[i]))->GetCheck())
{ a[size]=nu[i];
size+=1;}
}
for(int x=0;x<size-1;x++)
{
for(int j=x+1;j<size;j++)
{
tem.Format("%d%d",a[x],a[j]);
str=str+tem+",";
t=t+1;
}
}GetDlgItem(IDC_EDIT1)->SetWindowText(str);
s.Format(_T("%d"), t);
str="共有"+s+"种组合";
SetDlgItemText(IDC_EDIT2,str);
for(int i=0; i<12; i++)
{
if(((CButton *)GetDlgItem(Check))->GetCheck())
{
a[size]=nu[i];
size+=1;
}
}