如何在MFC中把程序的运行结果输出到界面上

题目是输入了四个数然后要输出所有等于二十四的式子老师说在MFC不能用PRINTF该肿么办肿么办嗷。。。。看了其他的解答有的说要把运行结果放文件里在直接读文件但我也不会做这... 题目是输入了四个数 然后要输出 所有等于二十四的式子 老师说在MFC不能用PRINTF
该肿么办肿么办嗷。。。。看了其他的解答 有的说要把运行结果放文件里在直接读文件 但我也不会做 这是我的代码 num1 num2 num3 num4 是 输入的值 要交作业 求解脱
void CTest6DLG::OnOK()
{
// TODO: Add extra validation here
this->UpdateData(true);

int i,j,k,l,n,m,r,save[4];
double num[4]={1,1,1,1},tem1,tem2,tem3,abc=1111;
char sign[5]="+-*/";

// printf("input 4 numbers:");
num[0] = m_num1;
num[1] = m_num2;
num[2] = m_num3;
num[3] = m_num4;
for(i=0;i<4;i++)
{
//scanf("%lf",num+i); save[i]=num[i];
}
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(j!=i)
{
for(k=0;k<4;k++)
if(k!=i&&k!=j)
{
for(l=0;l<4;l++)
if(l!=i&&l!=j&&l!=k)
{
for(n=0;n<4;n++)
for(m=0;m<4;m++)
for(r=0;r<4;r++)
{
tem1=fun(num[i],num[j],n);
tem2=fun(tem1,num[k],m);
tem3=fun(tem2,num[l],r);
if(tem3==24.0)
printf("{(%d%c%d)%c%d}%c%d=24\n",save[i],sign[n],save[j],sign[m],save[k],sign[r],save[l]);
else
if(tem3==-24.0)
printf("{%d%c(%d%c%d)}%c%d=24\n",save[k],sign[m],save[i],sign[n],save[j],sign[r],save[l]);
else
if(tem3==1.0/24.0)
printf("%d%c{(%d%c%d)%c%d}=24\n",save[l],sign[r],save[i],sign[n],save[j],sign[m],save[k]);
else
if(tem3==-1.0/24.0)
printf("%d%c{%d%c(%d%c%d)}=24\n",save[l],sign[r],save[k],sign[n],save[i],sign[m],save[j]);
else
{
tem1=fun(num[i],num[j],n);
tem2=fun(num[k],num[l],r);
tem3=fun(tem1,tem2,m);
if(tem3==24.0)
printf("(%d%c%d)%c(%d%c%d)=24\n",save[i],sign[n],save[j],sign[m],save[k],sign[r],save[l]);
}
}
}
}
}
}

// CDialog::OnOK();

void CTest6DLG::OnChangenum1()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.

// TODO: Add your control notification handler code here
}
展开
 我来答
一小时60题
2015-11-21 · TA获得超过9373个赞
知道小有建树答主
回答量:3443
采纳率:95%
帮助的人:405万
展开全部
在界面上定义一个EditBox(CEdit类)或者StaticText(CStatic类)控件,使用该类的SetWindowText成员函数把文本写到控件中显示。

控制台终端的输出流的话,可以用strstream 或stringstream 代替iostream 作为流,流输出完成后,生成的字符串都在流缓冲中,程序可以直接把流缓冲的内容写到控件中。

注意,老的编译器可能不支持 stringstream,就只有使用 strstream 了,用法可以到网上搜索,例子很多。
bhtzu
2012-06-01 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4197万
展开全部
printf("(%d%c%d)%c(%d%c%d)=24\n",save[i],sign[n],save[j],sign[m],save[k],sign[r],save[l]);
这句,替换成下面的代码吧,其实对话框再放一个CEditBox最方便,但。。说起来麻烦,呵呵。
CString str;
str.Format("(%d%c%d)%c(%d%c%d)=24\n",save[i],sign[n],save[j],sign[m],save[k],sign[r],save[l]);
如果都显示,就将几次的str加+起来
最后
AfxMessageBox(str);
更多追问追答
追问
请问 str.Format 是什么啊  万分感谢
追答
CString str;//定义一个字符串
str.Format();//通过格式化的方式给字符串str赋值
AfxMessageBox(str);//将字符串str通过消息框的方式显示出来

你先替换一个试试吧,看来你编程实在不是很熟,不要着急,慢慢来。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式