用C++Builder确实能快速上手, 只要是会一点C++基础的,都能很快的编写一些小程序,而且VCL库组件也很丰富,比微软MFC强多了。

自己动手写了一个计算器来增加自己的兴趣。C++基础以后有空还是还得学着走。。。

代码:

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop #include "CalcMain.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "RzPanel"
#pragma resource "*.dfm"
TForm1 *Form1;
//声明全局变量
float Num1;
float Result;
int sort; //判断是何种运算 //---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
Form1->Edit1->Clear();//清空文本框
Num1=0;
Result=0; //赋初值
sort=0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{
Edit1->Text = Edit1->Text + SpeedButton1->Caption;
Edit1->SelStart =ByteLength(Edit1->Text); //设置光标位置
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton12Click(TObject *Sender)
{
sort = 1; //变量为1 表示加法运算
Num1 = StrToFloat(Edit1->Text);//赋值给第一个变量
Edit1->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton17Click(TObject *Sender)
{
switch (sort) //判断运算
{
case
1:
Result= Num1 + StrToFloat(Edit1->Text); //计算相加
break;
case
2:
Result= Num1 - StrToFloat(Edit1->Text); //计算相减
break;
case
3:
Result= Num1 * StrToFloat(Edit1->Text); //计算相乘
break;
case
4:
Result= Num1 / StrToFloat(Edit1->Text); //计算除法
break; default:
Edit1->Text= "";
}
Edit1->Text =FloatToStr(Result); //显示运算结果
Edit1->SelStart =ByteLength(Edit1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton2Click(TObject *Sender)
{
Edit1->Text = Edit1->Text + SpeedButton2->Caption;
Edit1->SelStart =ByteLength(Edit1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton3Click(TObject *Sender)
{
Edit1->Text = Edit1->Text + SpeedButton3->Caption;
Edit1->SelStart =ByteLength(Edit1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton4Click(TObject *Sender)
{
Edit1->Text = Edit1->Text + SpeedButton4->Caption;
Edit1->SelStart =ByteLength(Edit1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton5Click(TObject *Sender)
{
Edit1->Text = Edit1->Text + SpeedButton5->Caption;
Edit1->SelStart =ByteLength(Edit1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton6Click(TObject *Sender)
{
Edit1->Text = Edit1->Text + SpeedButton6->Caption;
Edit1->SelStart =ByteLength(Edit1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton7Click(TObject *Sender)
{
Edit1->Text = Edit1->Text + SpeedButton7->Caption;
Edit1->SelStart =ByteLength(Edit1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton8Click(TObject *Sender)
{
Edit1->Text = Edit1->Text + SpeedButton8->Caption;
Edit1->SelStart =ByteLength(Edit1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton9Click(TObject *Sender)
{
Edit1->Text = Edit1->Text + SpeedButton9->Caption;
Edit1->SelStart =ByteLength(Edit1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton10Click(TObject *Sender)
{
Edit1->Text = Edit1->Text + SpeedButton10->Caption;
Edit1->SelStart =ByteLength(Edit1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton11Click(TObject *Sender)
{
Edit1->Text = Edit1->Text + SpeedButton11->Caption;
Edit1->SelStart =ByteLength(Edit1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton16Click(TObject *Sender)
{
Edit1->Clear();
Num1=0;
Result=0;
sort=0; }
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton13Click(TObject *Sender)
{
sort = 2;
Num1 = StrToFloat(Edit1->Text);
Edit1->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton14Click(TObject *Sender)
{
sort = 3;
Num1 = StrToFloat(Edit1->Text);
Edit1->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton15Click(TObject *Sender)
{
sort = 4;
Num1 = StrToFloat(Edit1->Text);
Edit1->Clear();
}
//---------------------------------------------------------------------------

C++Builder编写计算器的更多相关文章

  1. 纯javascript代码编写计算器程序

    今天来分享一下用纯javascript代码编写的一个计算器程序,很多行业都能用到这个程序,例如做装修预算.贷款利率等等. 首先来看一下完成后的效果: 具体代码如下:(关注我的博客,及时获取最新WEB前 ...

  2. JavaScript编写计算器的发展史

    JavaScript编写计算器的发展史: 编写一个普通的四则运算: <!DOCTYPE html> <html lang="en"> <head> ...

  3. Java语言编写计算器(简单的计算器)

    Java编写的一个简单计算器,本人还比较菜,只能这样了,有点代码冗余,不能连续计算. import javax.swing.*; import java.awt.*; import java.awt. ...

  4. 第二次作业利用java语言编写计算器进行四则运算

    随着第一次作业的完成,助教 牛老师又布置了第二次作业:用java语言编写一个程序然后进行四则运算用户用键盘输入一个字符来结束程序显示统计结果.一开始看到这个题目我也着实吓了一跳 因为不知道如何下手而且 ...

  5. c# 委托delegate 编写计算器

    .Net 中的委托类似于 C 或 C++ 中的函数指针.使用委托使程序员可以将方法引用封装在委托对象内.然后可以将该委托对象传递给可调用所引用方法的代码,而不必在编译时知道将调用哪个方法.与 C 或 ...

  6. 利用MFC编写计算器

    端午节这两天没什么事,就用MFC写了一个简单的计算器,界面做的也比较简单,如下图1,可以进行简单的加.减.乘和除功能,小数点显示这块做的不是很好,比如输入1.2,不会一个个的显示,而是先显示“1”,后 ...

  7. 利用Python代码编写计算器小程序

    import tkinter import tkinter.messagebox import math class JSQ: def __init__(self): #创建主界面 self.root ...

  8. 编写计算器程序学习JS责任链模式

    设计模式中的责任链模式能够很好的处理程序过程的逻辑判断,提高程序可读性. 责任链模式的核心在于责任链上的元素判断能够处理该数据,不能处理的话直接交给它的后继者. 计算器的基本样式: 通过div+css ...

  9. JavaScript 如何编写计算器

    1.JavaScript制作计算器 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...

随机推荐

  1. JavaScript使用Object.defineProperty方法实现双数据绑定

    Object.defineProperty这个方法非常值得学习,很多mvc框架中的双向数据绑定就是通过它来实现的. 本着互联网分享精神,今天我就将我自己的见解分享给大家,希望能有所帮助. 开始使用 O ...

  2. nodejs封装mssql

    对mssql操作Sqlserver数据库的基本封装: 记录一下: /** * Created by chaozhou on 2015/9/18. */ var mssql = require('mss ...

  3. 监听域对象创建和销毁的Listener

    1.什么是Servlet监听器? 先来看看什么是监听器.监听器是专门用于对其它对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时立即采取相应的行动.Servlet监听器是S ...

  4. Java温故而知新(1)集合类

    Java中的集合类有以下所属关系:Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└Wea ...

  5. es入门教程

    因为项目可能会用到es保存一些非结构化的数据,并从中检索数据.对es调研了一下 从官网:https://www.elastic.co/downloads下载,解压即安装. 进入解压目录,执行bin目录 ...

  6. Spring课程 Spring入门篇 5-6 introductions应用

    1 解析 1.1 aop:declare-parents 标签简介 1.2 标签使用样式 2 代码演练 2.1 introductions标签应用 1 解析 1.1 aop:declare-paren ...

  7. pyhton中list的基本操作

    list:可以按规则,按顺序,存取大量数据 1.增 append() 在列表尾部追加元素 insert() 按照列表索引添加元素 extend() 迭代添加元素,一次添加多个元素 2.删 pop() ...

  8. 动态设置热区coords的坐标

    window.onresize = adjuest; function adjuest(){ var picw = $(".imgbox img").width(); var pi ...

  9. BBS登录与注册功能

    登录功能 视图函数 def my_login(request): if request.method == 'GET': return render(request, 'login.html') el ...

  10. yield* 表达式

    yield* 表达式用于委托给另一个generator 或可迭代对象. 委托给其他生成器 function* g1() { yield 2; yield 3; yield 4; } function* ...