C++Builder编写计算器
用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编写计算器的更多相关文章
- 纯javascript代码编写计算器程序
今天来分享一下用纯javascript代码编写的一个计算器程序,很多行业都能用到这个程序,例如做装修预算.贷款利率等等. 首先来看一下完成后的效果: 具体代码如下:(关注我的博客,及时获取最新WEB前 ...
- JavaScript编写计算器的发展史
JavaScript编写计算器的发展史: 编写一个普通的四则运算: <!DOCTYPE html> <html lang="en"> <head> ...
- Java语言编写计算器(简单的计算器)
Java编写的一个简单计算器,本人还比较菜,只能这样了,有点代码冗余,不能连续计算. import javax.swing.*; import java.awt.*; import java.awt. ...
- 第二次作业利用java语言编写计算器进行四则运算
随着第一次作业的完成,助教 牛老师又布置了第二次作业:用java语言编写一个程序然后进行四则运算用户用键盘输入一个字符来结束程序显示统计结果.一开始看到这个题目我也着实吓了一跳 因为不知道如何下手而且 ...
- c# 委托delegate 编写计算器
.Net 中的委托类似于 C 或 C++ 中的函数指针.使用委托使程序员可以将方法引用封装在委托对象内.然后可以将该委托对象传递给可调用所引用方法的代码,而不必在编译时知道将调用哪个方法.与 C 或 ...
- 利用MFC编写计算器
端午节这两天没什么事,就用MFC写了一个简单的计算器,界面做的也比较简单,如下图1,可以进行简单的加.减.乘和除功能,小数点显示这块做的不是很好,比如输入1.2,不会一个个的显示,而是先显示“1”,后 ...
- 利用Python代码编写计算器小程序
import tkinter import tkinter.messagebox import math class JSQ: def __init__(self): #创建主界面 self.root ...
- 编写计算器程序学习JS责任链模式
设计模式中的责任链模式能够很好的处理程序过程的逻辑判断,提高程序可读性. 责任链模式的核心在于责任链上的元素判断能够处理该数据,不能处理的话直接交给它的后继者. 计算器的基本样式: 通过div+css ...
- JavaScript 如何编写计算器
1.JavaScript制作计算器 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...
随机推荐
- TortoiseGit记住用户名&密码
配置并安装好git之后鼠标右键: 在全局配置文件末尾添加一行: [credential] helper = store *主意保存时以utf-8格式保存,否则中文可能会乱码,这样下次只需输入一次用户名 ...
- [javaEE] javaweb的mvc设计思想
Servlet:在Servlet中拼接html内容 JSP:在html中拼接java JSP+JavaBean:利用javaBean将大量的代码提取走 Servlet+JSP+JavaBean:Ser ...
- python模块之contexlib
一.上下文管理器 with是python实现上下文管理器的核心关键词.它能够在代码执行前和执行后做一些额外的事情. 最常见的代码恐怕就是文件操作了. with open("file" ...
- 鼠标拖动改变DIV等网页元素的大小的最佳实践
1.初次实现 1.1 html代码 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" la ...
- unity3d之实现各种滑动效果
一. 点击滑动页面 新建了一个带mask的prefab,加上代码只需要将图片prefab.按钮prefab和所想添加的图片 拖进去会自动生成按钮,滑动速度可以随意调time,滑动效果用itween实现 ...
- 【JAVA语法】03Java-继承性
继承的实现 继承的限制 子类对象的实例化 方法的重写 Super关键字 重写与重载的区别 final关键字 抽象类 接口 一.继承的实现 1.1 格式 class 子类 extends 父类 {} c ...
- HighChart利用servlet导出中文PNG图片乱码问题解决
最近用到HighChart作图,在图片导出时,出现了图片中中文乱码的问题,在网络上找了很多资料,但都没有解决,最后才发现了最容易被忽略的问题.具体见下. 由于之前有同事使用过HighChart,所以毫 ...
- python nose测试
前提: python3 安装nose 结果: nose目录下有子目录tests和mybag,在mybag下新建my_age.py, 内部有Students类,age属性. tests目录下写Sutde ...
- 基于bootstrap的手机界面tab样式调整
这是调整后手机页面的样子(pc端的样式还是bootstrap原来的样式,没有改变的): html结构为: <div class="tab" role="tabpan ...
- svn merge error must be ancestrally related to,trunk merge branch报错
trunk merge branch的时候报错 xxx must be ancestrally related to xxx,这个报错的意思是两者不关联,所以需要去建立关联. [回顾背景] ...