精华内容
下载资源
问答
  • C++窗口设计

    万次阅读 多人点赞 2012-05-11 11:32:52
    【摘要】本文以C++菜菜鸟(只需要学习了C++数据类型和控制结构即可)为目标读者,用求解一元二次方程作为实例,展示窗口式程序的开发过程,获得初步体验。写作目的包括:(1)让学生通过模仿,开发出类似风格的窗口...

    【摘要】本文以C++菜菜鸟(只需要学习了C++数据类型和控制结构即可)为目标读者,用求解一元二次方程作为实例,展示窗口式程序的开发过程,获得初步体验。写作目的包括:(1)让学生通过模仿,开发出类似风格的窗口程序;(2)以此为起点,课外通过案例教程等参考资料,学习开发更多的功能实用的程序;(3)体会到程序设计能力的核心并不在界面,从而能潜心提高程序设计的基本功和认真学习计算机科学的基础理论。


      在程序设计学习过程中,尤其对于计算机相关专业的学生,总是从语言、程序结构、算法等学起,然后再结合工程实际,逐渐涉及窗口、界面的设计。不少同学失去耐心,甚至非常伤心:“为什么要让我们面对黑洞洞的DOS窗口。

      如果从表面上,制作一个窗口程序并非难事。于是有了本文,目的就在于让零基础的童鞋们体验一次,过把瘾,然后能将主要精力投入到程序设计课中去,认认真真地打好编程序的基本功。大学学习有很强的阶段性,这个阶段可以不将设计窗口程序作为目标。

      实际上,随着对程序设计技术的深入学习,尤其是学习了面向对象程序设计技术之后,我们的眼光将放在理解和运用MFC去开发系统。将来,这些由系统自动生成的程序你可以自己手工编写出来。C++是讲究效率的,手工编写而非由IDE自动生成,是C++程序员的追求。专业和非专业的区别就在这里。可能将来你会从事并不强调效率的一些应用开发,但精湛的程序设计技术、扎实的算法功底、良好的编程风格,是基本功,是看家本领。

      不管怎么说,程序猿菜鸟们还是猴急猴急的。那就用一个例子将开发这种程序的过程演示一下。同学们可以模仿着做一遍。以后的作业、上机任务也可以照葫芦画瓢做成窗口版的。想要继续深入?可以借些书自学了。有了课堂中程序设计技术的支撑,不需要什么其他基础,只要能改变学习观念,你可以先行一步,体会更多的乐趣。在大学里,围绕课堂,展开自学,其力无穷。

      下面,以VC++6.0为开发平台,开始这趟体验之旅。


      一、问题:求一元二次方程式ax2+bx+c=0的根。a,b,c的值在运行时由键盘输入。

      可以写出如下的程序完成求解:

    1. #include<iostream>  
    2. #include<cmath>         
    3. usingnamespace std;  
    4. int main( )  
    5. {  
    6.              float  a,b,c,x1,x2;  
    7.              cin>>a>>b>>c;  
    8.              if ((b*b-4*a*c)>=0)  
    9.              {  
    10.                  if((b*b-4*a*c)>0)  
    11.                    {  
    12.                             x1=(-b+sqrt(b*b-4*a*c))/(2*a);  
    13.                            x2=(-b-sqrt(b*b-4*a*c))/(2*a);  
    14.                             cout<<"两个不相等的实根分别是:x1="<<x1<<",""x2="<<x2<<endl;  
    15.                    }  
    16.                    else  
    17.                    {  
    18.                             x1=-b/(2*a);  
    19.                             cout<<"两个相等的实根,x1=x2="<<x1<<endl;  
    20.                    }         
    21.              }  
    22.              else  
    23.                    cout<<"方程无实根"<<endl;  
    24.              return 0;  
    25. }  
    26.    


      二、开发窗口版程序

      1、新建MFCAPP工程

      新建工程,选择MFC APPWizard[exe],点确定:

      

      选择基本对话框

      

      下一步

      

      再下一步

      

      完成

      

      IDE会显示工程骨架。点确定

      

      2、安排窗口界面中的控件

      出现设计界面

      

      在对话框中添加和编辑控件:将”控件”拖到窗口中,点右键修改属性,下图将拖入的静态文本的“标题”改为a,后将放置一个编辑辑框,用于输入a的值。静态文本起提示的作用。

      

      加入3个静态文本控件和编辑框控件,分别用于输入方程的三个系数;1个“求解”按钮,将来点击后可以完成求解;加入2个静态文本控件和编辑框控件,分别用于输出方程的解。

      

      在控件上点右键,查看属性,本例中不做修改,确认输入a、b、c的编辑框的ID分别为IDC_EDIT1、IDC_EDIT2和IDC_EDIT3,用于输出结果的两个编辑框的ID分别为IDC_EDIT4、和IDC_EDIT5。

      

      测试对话框:在layout(布局)菜单中,选择tset(测试)命令,可以看到将来运行时的外观。

      

      3、将编辑框控件与变量绑定

      下面需要完成核心的功能,如何求解方程。

      为了让程序从窗口的编辑框中提取出输入的值,要设置变量,并与控件绑定。

      在设计窗口中点右键,选择ClassWizard(建立类向导)

      

      点击MemberVariables标签,设置各个控件对应的变量

      

      双击IDC_EDIT1,为其添加对应的变量,变量名为m_a,变量类型为double,按下图输入。

      

      同法为其他控件设置变量

       

       4、为按钮设置将来点击后要执行的程序

      切换到Message Maps标签页

      

      为按钮添加BN_CLICKED消息映射:点击Messages:框中的BN_CLICKED,再单击右侧的“Add Function…”按钮,在新出现的弹出式窗口中点OK。

       

       之后可以看到加入了Member Functions


      双击新增加的成员函数,现在需要输入程序了

       

       输入的程序这样的,程序设计的方法还是老一套,不过是增加了控件与变量传值的要求,变量用的是与控件绑定的变量:

      

      5、运行程序

      运行程序,结果是

      

      结果还可以是:

      

      界面其实还不好看,到图书馆借些书,按着例子做几个就有感觉了。

      结语

      看一个业界大牛的界面:

      

      界面、窗口并非应用的核心。编程思想和方法是核心,现阶段优先解决编程方法的提高,如果时间有限,窗口程序可以以后解决。

      还有,打好基础,有利于你理解向导生成的架构,这是我们的长期目标。


      三、练习

      1、用if语句编写选择结构的程序,完成下面的分段函数的求值

      

      (提示:x1(1)x1(2)为常数,变量名可以定为x1x2。)

      设计成的窗口版程序可以如下图(两个常量的值也可以调整):

      

      2、编写多分支选择结构程序,输入个人月收入总额,计算出他本月应缴税款和税后收入。

      所得税计算方法:从201191日起,我国调整个人所得税起征点。基数上调为3500元,超出部分按以下7级计算。

    序号

    收入范围

    税率

    速算扣除数

    1

    超过01500

    3%

    0

    2

    超过1500元至4500元的部分

    10%

    105

    3

    超过4500元至9000元的部分

    20%

    555

    4

    超过9,000元至35,000元的部分

    25%

    1005

    5

    超过35,000元至55,000元的部分

    30%

    2755

    6

    超过55,000元至80,000元的部分

    35%

    5505

    7

    超过80,000以上

    45%

    13505

     

      个人所得税计算方法:个人所得税=应纳税所得额*税率-速算扣除数,其中:应纳税所得额=收入总额-不征税收入-免税收入-各项扣除。

      本题中忽略免税收入和各项扣除,不征税收入即起征点基数3500元,所以有:个人所得税=(收入总额-3500)*税率-速算扣除数

      例如:王某月收入总额3600元,个人所得税=3600-3500*3%=3元,李某月收入13500元,个人所得税=13500-3500*25%-1005=2500-1005=1495元。

      本题的关键是如何根据应纳税所得额,确定税率和速算扣除数。

      个人所得税窗口版程序可以形如:

      

       【拓展背影——速算扣除数】与解题已无太关系,但是可以了解一下

      速算扣除数是指用快捷方法计算税款时,可以扣除的数额。个人所得税的计算,可以将应纳税所得额分成不同级距和相应的税率来计算。如扣除3500元后的应纳税所得额在1500元以内的,按3%税率计算,15004500元之间的部分(即3000元),按10%的税率计算。

      如某人工资扣除3500元后的应纳税所得额是2200元,则税款计算方法为:1500*3%+700*10% =115元。个人所得税的计算,也可以将应纳税所得额直接按对应的税率来速算,但要扣除一个速算扣除数,否则会多计算税款。

      如某人工资扣除3500元后的应纳税所得额是2200元,2200元对应的税率是10%,则税款速算方法为:2200*10%-105=115元。这里的105就是速算扣除数,因为2200元中,有1500元多计算了7%的税款,需要减去。其他税率所对应的速算扣除数分别是:20%55525%100530%275535%550545%13505


      四、后记

      此文初成于2011年10月,感受到了同学们刚学了几天C++,就不满足于黑框框,不理解为何不把他们带入窗口世界。我当时想,是需要让同学们通过体验知道一下黑框框和窗口中世界的关系了。但限于初学者的背景,这项工作不是讲讲就做通得,需要的是同学们的体验。基于此文的实践表明,这种体验让同学们安静了一些。

      用黑框框的目的自然是在黑框框之外的。即使同学们已经和黑框框有了深厚的感情,说声ByeBye只是迟早的事情。近日,面向对象的程序设计学习已经到了尾声,我准备再次拟一个适合同学们目前水平(了解了面向对象机制,但无任何开发经验和经历)的指导书,在窗口式程序开发和面向对象机制方面让同学们有更多的体验,也借此揭开课外自学MFC,甚至是其他语言,其他开发环境的序幕!

      请关注近期将出炉的《增强版C++窗口程序设计启蒙》。


    展开全文
  • C++ 窗口 设计尝试

    千次阅读 2015-05-28 16:27:25
    开始我自己的窗口了, 重要的是关联 这是图形界面: 按键代码: void CMy321Dlg::OnButton1() { // TODO: Add your control notification handler code here double delat; UpdateData...
    一、问题:求一元二次方程式ax2+bx+c=0的根。a,b,c的值在运行时由键盘输入。
    

      可以写出如下的程序完成求解:

    1. #include<iostream>   
    2. #include<cmath>          
    3. usingnamespace std;  
    4. int main( )  
    5. {  
    6.              float  a,b,c,x1,x2;  
    7.              cin>>a>>b>>c;  
    8.              if ((b*b-4*a*c)>=0)  
    9.              {  
    10.                  if((b*b-4*a*c)>0)  
    11.                    {  
    12.                             x1=(-b+sqrt(b*b-4*a*c))/(2*a);  
    13.                            x2=(-b-sqrt(b*b-4*a*c))/(2*a);  
    14.                             cout<<"两个不相等的实根分别是:x1="<<x1<<",""x2="<<x2<<endl;  
    15.                    }  
    16.                    else  
    17.                    {  
    18.                             x1=-b/(2*a);  
    19.                             cout<<"两个相等的实根,x1=x2="<<x1<<endl;  
    20.                    }         
    21.              }  
    22.              else  
    23.                    cout<<"方程无实根"<<endl;  
    24.              return 0;  
    25. }  
    26.    
    #include<iostream>
    #include<cmath>       
    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="<<x1<<",""x2="<<x2<<endl;
                       }
                       else
                       {
                                x1=-b/(2*a);
                                cout<<"两个相等的实根,x1=x2="<<x1<<endl;
                       }       
                 }
                 else
                       cout<<"方程无实根"<<endl;
                 return 0;
    }
     


      二、开发窗口版程序

    开始我自己的窗口了,

    重要的是关联

    这是图形界面:

    按键代码:

    void CMy321Dlg::OnButton1() 
    {
    	// TODO: Add your control notification handler code here
    	double delat;
    	UpdateData();
    	delat=m_b*m_b-4*m_a*m_c;
    	if(delat>=0)
    	{
    		m_x1=(-m_b+sqrt(delat))/(2*m_a);
              m_x2=(-m_b-sqrt(delat))/(2*m_a);
    	}
    	
            else
    			MessageBox("方程无实根");
    		UpdateData(FALSE);
    }


    知识点应用及心得:

    这个知识点到现在才完成,发现自己也是挺烂的。

    展开全文
  • 2、编写多分支选择结构程序,输入个人月收入总额,计算出他本月应缴税款和税后收入。  所得税计算方法:从2011年9月1日起,我国调整个人所得税起征点。基数上调为3500元,超出部分按以下7级计算。...
    2、编写多分支选择结构程序,输入个人月收入总额,计算出他本月应缴税款和税后收入。
    

      所得税计算方法:从201191日起,我国调整个人所得税起征点。基数上调为3500元,超出部分按以下7级计算。

    序号

    收入范围

    税率

    速算扣除数

    1

    超过01500

    3%

    0

    2

    超过1500元至4500元的部分

    10%

    105

    3

    超过4500元至9000元的部分

    20%

    555

    4

    超过9,000元至35,000元的部分

    25%

    1005

    5

    超过35,000元至55,000元的部分

    30%

    2755

    6

    超过55,000元至80,000元的部分

    35%

    5505

    7

    超过80,000以上

    45%

    13505

     

      个人所得税计算方法:个人所得税=应纳税所得额*税率-速算扣除数,其中:应纳税所得额=收入总额-不征税收入-免税收入-各项扣除。

      本题中忽略免税收入和各项扣除,不征税收入即起征点基数3500元,所以有:个人所得税=(收入总额-3500)*税率-速算扣除数

      例如:王某月收入总额3600元,个人所得税=3600-3500*3%=3元,李某月收入13500元,个人所得税=13500-3500*25%-1005=2500-1005=1495元。

      本题的关键是如何根据应纳税所得额,确定税率和速算扣除数。

    完成运行界面:

    各控件与变量相关联:

     

    主控运行代码:

    <span style="font-size:24px;"> void CMyDlg::OnButton1() 
    {
    	// TODO: Add your control notification handler code here
    	    UpdateData();
        double p;
    	if(m_m<1500)
        {
            m_n=0;
           p=0.03;
        }
        else if(m_m<4500)
        {
            m_n=105;
            p=0.1;
        }
        else if(m_m<9000)
        {
            m_n=555;
            p=0.20;
        }
        else if(m_m<35000)
        {
            m_n=1005;
            p=0.25;
        }
        else if(m_m<55000)
        {
            m_n=2755;
            p=0.30;
        }
        else if(m_m<80000)
        {
            m_n=5505;
            p=0.35;
        }
        else
        {
            m_n=13505;
            p=0.45;
        }
    	m_k=m_m*(1-p)-m_n;
    	UpdateData(FALSE);
                 
    </span>


    终于明白是怎么一回事了。

    展开全文
  • C++窗口程序设计有感

    2015-04-22 17:42:52
    今天体验了窗口程序设计,给我的第一感觉就是很新鲜,但有时候也有点儿怵,因为全是英文,有的时候不认识是什么意思,总得百度······一节课总算是做好了一个求方程的根的窗口并发了博文,下午上机看见

                今天体验了窗口程序设计,给我的第一感觉就是很新鲜,但有时候也有点儿怵,因为全是英文,有的时候不认识是什么意思,总得百度······一节课总算是做好了一个求方程的根的窗口并发了博文,下午上机看见贺老给我的评论“将单选框的当按钮用,个性!”之后在一仔细看,原来是我选错了,为了弥补,又做了一个求三角形面积和周长的窗口,应该没有什么问题了。当时还有点儿成就感,虽然代码很简单,但是可以比较流畅的运用窗口程序的设计,也算是有进步。

          以后学习的机会还有很多,希望在之后的学习中,在各种问题和建议中进步成长,初步学习要有初生牛犊不怕虎的精神,所以碰壁也是好事情,欢迎大家多提意见,我会虚心接受并学习。持续努力,保持激情!!!

              

    展开全文
  • C++窗口程序设计,显示简单窗口

    热门讨论 2010-08-02 15:03:26
    最简单的窗口,对于初学者来说,看看有好处的,
  • 用C程序设计windows的窗口,教你如何用程序设计windows窗口,想知道,不妨看一看。
  • 1. 通过案例指导,能设计最简单的窗口程序。 2. 掌握C++中的输出“流”的格式控制
  • C++窗口”程序设计启蒙

    万次阅读 多人点赞 2012-05-11 08:09:13
    【摘要】本文以C++菜菜鸟(只需要学习了C++数据类型和控制结构即可)为目标读者,用求解一元二次方程作为实例,展示窗口式程序的开发过程,获得初步体验。写作目的包括:(1)让学生通过模仿,开发出类似风格的窗口...
  • c++登录窗口

    2018-01-11 18:42:07
    C++登录窗口设计,输入账号,根据情况弹出提示 。。。
  • C++窗口动画

    2012-06-12 23:55:28
    基于VC++的课程设计,适合于初学者是一个比较易懂的
  • 图示: 学习总结:第一次体验窗口程序设计感觉挺新鲜的,也挺好玩的,就是第一次做遇到很多问题,以后多体验就会熟练了,比光敲代码好玩儿~~
  • C++ 设计一个窗口

    千次阅读 2017-10-29 23:16:36
    - 设计一个窗口类 - 注册窗口 - 创建窗口 - 显示及更新窗口二.窗口类分析typedef struct { UINT style; //类的类型 CS_HREDRAW | CS_VERDRAW 水平和垂直重画 WNDPROC lpfnWndProc; //窗口过程函数,是一个回调...
  • C++窗口应用开发 Qt

    2020-07-27 22:35:43
    C++窗口应用开发 QT 学习视频来源: [https://www.bilibili.com/video/BV1hg4y1B7Vu?p=22] 白嫖使我快乐 QT是什么? QT内容 qt有类库:界面类库,基础C++支持的改良后的类库和数据库操作的类库等。 有ui设计:图形化...
  • 精通Visual_C++.NET2003窗口程序设计4 精通Visual_C++.NET2003窗口程序设计4
  • 精通 Visual C++ .NET 2003窗口程序设计,学习 VC++.net MFC 编程的经典教材,深入浅出,容易理解,实例简洁讲解详细,虽然讲的vs2003系统,但对于C++来讲,一点也不过时,因为从vs2003-vs2015,C++的MFC编程方式几乎...
  • 完成图: 代码: 运行结果: 学习总结:又一次体验感觉比头一次好多了,哈哈~~
  • C++窗口”程序设计启蒙(之二)

    万次阅读 多人点赞 2012-05-11 23:04:27
    【摘要】本文适合已经完整学习了C++面向对象机制,但在开发窗口程序方面还是零基础的同学。通过本文的引导进行实践体验,目的是消除同学们开发窗口...【相关博文】C++窗口”程序设计启蒙(之一)  学习进程已经到了
  • 嵌入式毕业设计课题任务书-基于C++的聊天窗口设计
  • 精通Visual C++ .NET 2003窗口程序设计-1 第一篇 窗口程序设计基础 第二篇 程序资源的建立与基本绘图原理 第三篇 深入应用程序架构 随着.NET平台的推出,微软也发布了新版的窗口程序集成开发环境——Visual Studio ...
  • 精通Visual C++ .NET 2003窗口程序设计-2 第四篇 对话框、对话框应用程序及各种控件 第五篇 网络及数据库程序设计 随着.NET平台的推出,微软也发布了新版的窗口程序集成开发环境——Visual Studio .NET,且增加了...
  • Visual C++实用编程技术——从C++、面向对象到窗口程序设计.rar
  • 原标题:贵阳联合广场电能管理系统的设计及应用安科瑞 王宇阳安科瑞电气是一家为环保评估、环保检测、环保设备分表计量、环保设备用电监测等项目服务的企业。摘要:随着企业改革的不断深入,对用电管理的现代化水平...
  • 5、C++的应用广泛,主要应用范围如下: 6、什么是程序设计? 产生(编写、设计)求解问题的程序的过程。就也是我们后面会重点介绍的。 为什么要学习程序设计呢?现在的计算机已经无所不能了,小到智能手机,智能手表...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,868
精华内容 747
关键字:

c++窗口设计

c++ 订阅