编写一个小程序计算

编写一个小程序计算,第1张

dim sum1,sum2 as integer

sum1=0

sum2=0

for i=1 to 3

sum1=sum1+a(i,i)

sum2=sum2+a(i,4-i)

next i

debugprint sum1,sum2

方法一

选中这一列,数据---分列---下一步---下一步---完成,再进行SUM的函数求和等等运算 *** 作

方法二

先在一空单元格输入1,回车后复制这个单元格,再选中这列数据,右键---选择性粘贴--乘,再进行SUM的函数求和等等运算 *** 作

终于编程出来了,如果不会,我可以详细讲给你的,代码如下:

MFC做的话不难

1,制作基本筐架:

建立工作区并且起名“我们的计算器”;然后建立 MFC AppWizard(exe) 工程起名“作业”,选择“基本对话筐”选项,点击完成;

开始创建按扭,“1 2 3 4 5 6 7 8 9 0 + - / = 清0” ;

2,激活按扭,并且建立连接。

将“1 2 3 4 5 6 7 8 9 0 + - / = 清0 ” 等按扭激活放入源程序中待用;建立 “ |ab ”显示框,右键属性修改名称为edit确定,

点击“|ab”已做的好的显示框,按 Crtl + w 建立链接,选择IDC_EDIT_edit,在选项卡上便选择 Member Variables,在双击 IDC_EDIT_edit

选项,在Member Variable 里的 m_ 后填写 edit,单击OK,在单击完成。

3,修改并且添加函数。选择ClassView 里的CMyDlg 类里的按钮函数“OnButton1()”函数,在{}里添加

m_edit=m_edit+"1";

UpdateData(FALSE);

检测并且确定可以执行无误。其他“23456789”以此类推。

在ClassView 里的CMyDlg 类里建立2个变量,设定为int型,名字分别为“iQian, iType”变量。

选择ClassView 里的CMyDlg 类里的按钮函数“OnBUTTONadd()”函数,在{}里添加

iQian=atoi(m_edit);

iType=1;

m_edit="";

UpdateData(FALSE);

选择ClassView 里的CMyDlg 类里的按钮函数“OnBUTTONjian()”函数,在{}里添加

iQian=atoi(m_edit);

iType=2;

m_edit="";

UpdateData(FALSE);

选择ClassView 里的CMyDlg 类里的按钮函数“OnBUTTONcheng()”函数,在{}里添加

iQian=atoi(m_edit);

iType=3;

m_edit="";

UpdateData(FALSE);

选择ClassView 里的CMyDlg 类里的按钮函数“OnBUTTONchu()”函数,在{}里添加

iQian=atoi(m_edit);

iType=4;

m_edit="";

UpdateData(FALSE);

选择ClassView 里的CMyDlg 类里的按钮函数“OnBUTTONdeng()”函数,在{}里添加

int iRet=0;

switch(iType)

{

case 1:

iRet = iQian + atoi(m_edit);

break;

case 2:

iRet = iQian - atoi(m_edit);

break;

case 3:

iRet = iQian atoi(m_edit);

break;

case 4:

if (atoi(m_edit)!=0)

{

iRet = iQian / atoi(m_edit);

break;

}

else

{

MessageBox("can't use zero!")

}

return;

}

//将结果转成字符串,并显示

char cRet[50];

memset(cRet,0,50);

sprintf(cRet,"%d",iRet);

m_edit = cRet;

UpdateData(FALSE);

//所有iQian与iType清0

iQian=0;

iType=0;

选择ClassView 里的CMyDlg 类里的按钮函数“OnBUTTONacc()”函数,在{}里添加

//所有数据初始化

iQian=0;

iType=0;

m_edit="";

UpdateData(FALSE);

import javaawt;

import javaawtevent;

class CalcAppDemo extends Frame{

private TextField t_result;

private Panel p_main;//主面板

private Panel p_num;//数字面板

private Panel p_oper;// *** 作符面板

private Panel p_show;//显示面板

private Button b_num[];//数字按钮

private Button b_oper[];// *** 作符按钮

public CalcAppDemo(String title){

setTitle(title);

t_result = new TextField("00",21);

p_main = new Panel();

p_num = new Panel();

p_oper = new Panel();

p_show = new Panel();

p_mainsetLayout(new BorderLayout());

p_numsetLayout(new GridLayout(4,3,1,1));

p_opersetLayout(new GridLayout(4,2,1,1));

b_num = new Button[12];

for(int i = 0;i < 9;i++){

b_num[i] = new Button(new Integer(i+1)toString());

}

b_num[9] = new Button("0");

b_num[10] = new Button("cls");

b_num[11] = new Button("");

for(int i = 0;i < 12;i++){

p_numadd(b_num[i]);

}

b_oper = new Button[8];

b_oper[0] = new Button("+");

b_oper[1] = new Button("-");

b_oper[2] = new Button("");

b_oper[3] = new Button("/");

b_oper[4] = new Button("pow");

b_oper[5] = new Button("sqrt");

b_oper[6] = new Button("+/-");

b_oper[7] = new Button("=");

for(int i = 0;i < 8;i++){

p_operadd(b_oper[i]);

}

t_resultsetEditable(false);

p_showadd(t_result,BorderLayoutNORTH); //文本框在显示面板的北边

p_mainadd(p_show,BorderLayoutNORTH); //显示面板在主面板上的北边

p_mainadd(p_num,BorderLayoutWEST);

p_mainadd(p_oper,BorderLayoutEAST); // *** 作符面板在主面板上的东边

thisadd(p_main,BorderLayoutCENTER); //主面板在框架(主窗口)的中间

setSize(400,400);

setResizable(false);

pack();

thisaddWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

Systemexit(0);

}

});

ButtonListener bl = new ButtonListener(); //监听器对象

for(int i=0;i<12;i++){

b_num[i]addActionListener(bl); //注册监听器

}

for(int i = 0;i < 8;i++){

b_oper[i]addActionListener(bl);

}

}

class ButtonListener implements ActionListener { //监听器类是内部类

private String lastOp; //存储上一次 *** 作符

private String strVal; //存储数字对应的字符串

private double total; //总数

private double number; //存储新输入的数

private boolean firsttime;//判断是否第一次按下的是 *** 作符按钮

private boolean operatorPressed;//判断是否已经按过 *** 作符按钮

ButtonListener( ){

firsttime = true;

strVal = "";

}

//事件处理器

public void actionPerformed( ActionEvent e ){

String s = ((Button)egetSource())getLabel()trim();

if(CharacterisDigit(scharAt(0))){ //判断是 *** 作数还是 *** 作符

handleNumber(s);

}else{

calculate(s); //计算

}

}

//判断是一元 *** 作符还是二元 *** 作符,并根据 *** 作符类型做计算

void calculate( String op ){

operatorPressed = true;

if(firsttime&&!isUnary(op)){

total = getNumberOnDisplay();

firsttime = false;

}

if (isUnary(op)){

handleUnaryOp(op);

}

else if (lastOp != null){

handleBinaryOp(lastOp);

}

if (!isUnary(op)){ //存储上一次按下的 *** 作符

lastOp = op;

}

}

//判断是否是一元 *** 作符

boolean isUnary(String s){

return sequals( "=" )

|| sequals( "cls" )

|| sequals( "sqrt" )

|| sequals( "+/-" )

|| sequals( "" );

}

//处理一元 *** 作符

void handleUnaryOp( String op ){

if ( opequals( "+/-" ) ){

//将显示框中的数字取反

number = negate(getNumberOnDisplay()+"");

t_resultsetText("");

t_resultsetText( number + "");

return;

}else if (opequals("")){

handleDecPoint();

return;

}else if(opequals("sqrt")){

number = Mathsqrt(getNumberOnDisplay());

t_resultsetText("");

t_resultsetText(number+"");

return;

}else if(opequals("=")){

//在按下"="前已经按下一个二元运算符

if(lastOp!=null&&!isUnary(lastOp)){

handleBinaryOp(lastOp);

}

lastOp=null;

firsttime=true;

return;

}else{

clear();

}

}

//处理二元运算符

void handleBinaryOp(String op){

if(opequals("+")){

total += number;

}else if(opequals("-")){

total -= number;

}else if(opequals("")){

total = number;

}else if(opequals("/")){

try{ //异常处理

total /=number;

}catch(ArithmeticException ae){ }

}else if(opequals("pow"))

total=Mathpow(total,number);

// t_resultsetText("");

lastOp = null;

// strVal = "";

number = 0;

t_resultsetText(total+"");

}

//该方法用于处理数字按钮

void handleNumber(String s){

if (!operatorPressed){ //连接按下的数字按钮的值

strVal+=s;

}

else{ //当按下 *** 作符按钮时,清除strVal并存储输入的第一个数值

operatorPressed = false;

strVal = s;

}

//将strVal转换为double

number=new Double(strVal)doubleValue();

t_resultsetText("");

t_resultsetText(strVal);

}

//该方法用于按下""按钮

void handleDecPoint(){

operatorPressed = false;

//如果该字符串中无"",放置一个""在字符串末尾

if ( strValindexOf( "" ) < 0 ) {

strVal+="";

}

t_resultsetText("");

t_resultsetText( strVal );

}

//该方法用于将一个数求反

double negate( String s ){

operatorPressed = false;

//如果是一个整数,去掉小数点后面的0

if ( number == ( int ) number ){

s = ssubstring(0, sindexOf( "" ) );

}

//如果无"-"增加在该数的前面

if ( sindexOf( "-" ) < 0 ){

strVal = "-"+s;

}

else{//如果有"-"则去掉

strVal = ssubstring( 1 );

}

return new Double( strVal )doubleValue();

}

//将显示框中的值转换为Double

double getNumberOnDisplay() {

return new Double(t_resultgetText())doubleValue();

}

//清除屏幕并设置所有的标识

void clear(){

firsttime = true;

lastOp = null;

strVal = "";

total = 0;

number = 0;

t_resultsetText("0");

}

}

public static void main(String args[]){

CalcAppDemo c = new CalcAppDemo("简单的计算器程序");

csetVisible(true);

}

}

//这是我以前写的,参考一下吧

以上就是关于编写一个小程序计算全部的内容,包括:编写一个小程序计算、想把excel表格改成小程序,计算容积的,求帮助、急求MFC程序设计~~小程序~~关于计算器的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10141688.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存