问题:求一元二次方程式ax2+bx+c=0的根。a,b,c的值在运行时由键盘输入。
#include
#include
usingnamespace std;
int main( )
{
float a,b,c,x1,x2;
cin>>a>>b>>c;
if ((b*b-4*a*c)>=0)
{
if((b*b-4*a*c)>0)
{
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
cout<<"两个不相等的实根分别是:x1="<
打开VC++6.0
File->New->MFC APPWizard(exe) ,projict name (任取)->OK
点击“OK”之后
点击“Dialog based”,点击next(一直next,直到没有next为止)
点击finished
点击"OK"
然后出现下图
然后将controls中的(Aa)(abl)(button)拖到灰色区域(一个一个的拖动)
拖动后输入a后出现
添加5个静态变量(点击5次键)输入5次后,如图
然后添加5个(编辑框控件)在静态文本框后面,添加后如图
添加(交互式控件)。修改控件名(右键选择properties)修改之后,如图
确认输入a、b、c的编辑框的ID分别为IDC_EDIT1、IDC_EDIT2和IDC_EDIT3,用于输出x1,x2的两个编辑框的ID分别为IDC_EDIT4、和IDC_EDIT5
点击右键查看属性properties
测试对话框:layout->tset或Ctrl+T,出现的界面如图
开始求方程的解:
点击View->Class Wizard(建立类向导)
点击MemberVariables,设置各个控件对应的变量
双击IDC_EDIT1,为其添加对应的变量,变量名为m_a,变量类型为double,如图
同样的方法,设置其他变量
为按钮设置将来点击后要执行的程序:
点击Message Maps
为按钮添加BN_CLICKED消息映射:
点击Object IDS:->IDC_BUTTON1,在点击Messages->BN_CLICKED
再单击右侧的“Add Function…”按钮
在新出现的弹出式窗口中点OK,可以看到加入了Member Functions
双击新增加的成员函数,现在需要输入程序了
输入程序:
double delta;
UpdateData();//用于将控件显示的数据传给成员变量
delta=m_b*m_b-4*m_a*m_c;
if(delta>=0)
{
m_x1=(-m_b+sqrt(delta))/(2*m_a);
m_x2=(-m_b-sqrt(delta))/(2*m_a);
}
else
MessageBox("方程无实根!");
UpdateData(FALSE);//用于将计算好的数据传给控件在窗口中显示
要在程序的最上边加上include
关闭界面,按F7或者在左上角的一排中选择Bulid的第二个Bulid xxx.exe或点击中间上方的就建立了这样一个程序。
程序运行界面如图
计算结果如图
学习心得:
刚开始打开VC++6.0时,感觉好难啊!全是英文,一个也看不懂。然后看老师和同学的博文,感觉好复杂啊,这一个程序,从头弄了好几次,每次总是弄到一半的时候就按错了,导致我又重新弄,不过这好几次没有白弄,学会使用了,不过到最后运行的时候,不知道为什么不能继续操作了,是因为出现警告的原因吗?
昨天弄了好长时间没弄成功,今天又重新弄了一遍,感觉简单了好多,也把昨天的问题解决了,最后运行不了是因为我把代码复制粘贴错了导致运行不了的,现在终于把这个程序完整的弄了一遍。