皮皮网
皮皮网

【大和源码相同】【pb电子病历系统源码】【php168源码讲解】乘方开方源码_乘方开方计算器在线

来源:光猫源码 发表时间:2024-12-22 17:27:23

1.如何用VB做一个简单计算器 要求实现加减乘除乘方开方功能
2.有一个进行数学乘方的乘方乘方C源代码,但运行结果不对,开方开方大和源码相同求教各位大侠,源码pb电子病历系统源码急用。计算php168源码讲解
3.如何用C语言编写一个科学计算器

乘方开方源码_乘方开方计算器在线

如何用VB做一个简单计算器 要求实现加减乘除乘方开方功能

       用记事本把这段代码复制过去,器线购物车前端源码然后另存为.frm就可以了

       VERSION 5.

       Begin VB.Form frmMain 

          Appearance      =   0  'Flat

          BackColor       =   &H&

          BorderStyle     =   3  'Fixed Dialog

          Caption         =   "简单计算器"

          ClientHeight    =   

          ClientLeft      =   

          ClientTop       =   

          ClientWidth     =   

          KeyPreview      =   -1  'True

          LinkTopic       =   "Form1"

          MaxButton       =   0   'False

          MinButton       =   0   'False

          ScaleHeight     =   

          ScaleWidth      =   

          ShowInTaskbar   =   0   'False

          StartUpPosition =   3  '窗口缺省

          Begin VB.CommandButton Command 

             Caption         =   "^"

             Height          =   

             Left            =   

             TabIndex        =   

             Top             =   

             Width           =   

          End

          Begin VB.PictureBox picDisplay 

             Appearance      =   0  'Flat

             BackColor       =   &H&

             ForeColor       =   &H&

             Height          =   

             Left            =   

             ScaleHeight     =   

             ScaleWidth      =   

             TabIndex        =   

             Top             =   

             Width           =   

             Begin VB.TextBox Text1 

                Alignment       =   1  'Right Justify

                BorderStyle     =   0  'None

                Height          =   

                Left            =   

                Locked          =   -1  'True

                TabIndex        =   

                Top             =   0

                Width           =   

             End

             Begin VB.Label lblOperation 

                Appearance      =   0  'Flat

                BackColor       =   &H&

                ForeColor       =   &H&

                Height          =   

                Left            =   

                TabIndex        =   

                Top             =   0

                Width           =   

             End

          End

          Begin VB.CommandButton Command9 

             Caption         =   "退格"

             Height          =   

             Left            =   

             TabIndex        =   

             Top             =   

             Width           =   

          End

          Begin VB.CommandButton Command8 

             Caption         =   "清零"

             Height          =   

             Left            =   

             TabIndex        =   

             Top             =   

             Width           =   

          End

          Begin VB.CommandButton cmdDot 

             Caption         =   "."

             Height          =   

             Left            =   

             TabIndex        =   

             Top             =   

             Width           =   

          End

          Begin VB.CommandButton Command7 

             Caption         =   "Sqrt"

             Height          =   

             Left            =   

             TabIndex        =   

             Top             =   

             Width           =   

          End

          Begin VB.CommandButton Command6 

             Caption         =   "="

             Height          =   

             Left            =   

             TabIndex        =   

             Top             =   

             Width           =   

          End

          Begin VB.CommandButton Command5 

             Caption         =   "/"

             Height          =   

             Left            =   

             TabIndex        =   

             Top             =   

             Width           =   

          End

          Begin VB.CommandButton Command4 

             Caption         =   "*"

             Height          =   

             Left            =   

             TabIndex        =   

             Top             =   

             Width           =   

          End

          Begin VB.CommandButton Command3 

             Caption         =   "-"

             Height          =   

             Left            =   

             TabIndex        =   

             Top             =   

             Width           =   

          End

          Begin VB.CommandButton Command2 

             Caption         =   "+"

             Height          =   

             Left            =   

             TabIndex        =   

             Top             =   

             Width           =   

          End

          Begin VB.CommandButton Command1 

             Caption         =   "9"

             Height          =   

             Index           =   9

             Left            =   

             TabIndex        =   9

             Top             =   

             Width           =   

          End

          Begin VB.CommandButton Command1 

             Caption         =   "8"

             Height          =   

             Index           =   8

             Left            =   

             TabIndex        =   8

             Top             =   

             Width           =   

          End

          Begin VB.CommandButton Command1 

             Caption         =   "7"

             Height          =   

             Index           =   7

             Left            =   

             TabIndex        =   7

             Top             =   

             Width           =   

          End

          Begin VB.CommandButton Command1 

             Caption         =   "6"

             Height          =   

             Index           =   6

             Left            =   

             TabIndex        =   6

             Top             =   

             Width           =   

          End

          Begin VB.CommandButton Command1 

             Caption         =   "5"

             Height          =   

             Index           =   5

             Left            =   

             TabIndex        =   5

             Top             =   

             Width           =   

          End

          Begin VB.CommandButton Command1 

             Caption         =   "4"

             Height          =   

             Index           =   4

             Left            =   

             TabIndex        =   4

             Top             =   

             Width           =   

          End

          Begin VB.CommandButton Command1 

             Caption         =   "3"

             Height          =   

             Index           =   3

             Left            =   

             TabIndex        =   3

             Top             =   

             Width           =   

          End

          Begin VB.CommandButton Command1 

             Caption         =   "2"

             Height          =   

             Index           =   2

             Left            =   

             TabIndex        =   2

             Top             =   

             Width           =   

          End

          Begin VB.CommandButton Command1 

             Caption         =   "1"

             Height          =   

             Index           =   1

             Left            =   

             TabIndex        =   1

             Top             =   

             Width           =   

          End

          Begin VB.CommandButton Command1 

             Caption         =   "0"

             Height          =   

             Index           =   0

             Left            =   

             TabIndex        =   0

             Top             =   

             Width           =   

          End

       End

       Attribute VB_Name = "frmmain"

       Attribute VB_GlobalNameSpace = False

       Attribute VB_Creatable = False

       Attribute VB_PredeclaredId = True

       Attribute VB_Exposed = False

       Private Data As Double

       Private lOperation As Long

       Private fClear As Boolean

       Private Sub cmdDot_Click()

       If InStr(1,乘方乘方时间轴程序源码 Text1.Text, ".") <= 0 Then Text1.Text = Text1.Text & "."

       End Sub

       Private Sub Command1_Click(Index As Integer)

       If fClear = True Then Text1.Text = "": fClear = False

       Text1.Text = Text1.Text & Index

       End Sub

       Private Sub Command_Click()

       If fClear = False Then

       Select Case lOperation

       Case 0

       Case 1: Text1.Text = Data + Val(Text1.Text)

       Case 2: Text1.Text = Data - Val(Text1.Text)

       Case 3: Text1.Text = Data * Val(Text1.Text)

       Case 4: If Val(Text1.Text) = 0 Then MsgBox "除数不等于0": Exit Sub Else Text1.Text = Data / Val(Text1.Text)

       Case 5: Text1.Text = Data ^ Val(Text1.Text)

       End Select

       End If

       Data = Val(Text1.Text)

       fClear = True

       lOperation = 5

       lblOperation.Caption = "^"

       End Sub

       Private Sub Command2_Click()

       If fClear = False Then

       Select Case lOperation

       Case 0

       Case 1: Text1.Text = Data + Val(Text1.Text)

       Case 2: Text1.Text = Data - Val(Text1.Text)

       Case 3: Text1.Text = Data * Val(Text1.Text)

       Case 4: If Val(Text1.Text) = 0 Then MsgBox "除数不等于0": Exit Sub Else Text1.Text = Data / Val(Text1.Text)

       Case 5: Text1.Text = Data ^ Val(Text1.Text)

       End Select

       End If

       Data = Val(Text1.Text)

       fClear = True

       lOperation = 1

       lblOperation.Caption = "+"

       End Sub

       Private Sub Command3_Click()

       If fClear = False Then

       Select Case lOperation

       Case 0

       Case 1: Text1.Text = Data + Val(Text1.Text)

       Case 2: Text1.Text = Data - Val(Text1.Text)

       Case 3: Text1.Text = Data * Val(Text1.Text)

       Case 4: If Val(Text1.Text) = 0 Then MsgBox "除数不等于0": Exit Sub Else Text1.Text = Data / Val(Text1.Text)

       Case 5: Text1.Text = Data ^ Val(Text1.Text)

       End Select

       End If

       Data = Val(Text1.Text)

       fClear = True

       lOperation = 2

       lblOperation.Caption = "-"

       End Sub

       Private Sub Command4_Click()

       If fClear = False Then

       Select Case lOperation

       Case 0

       Case 1: Text1.Text = Data + Val(Text1.Text)

       Case 2: Text1.Text = Data - Val(Text1.Text)

       Case 3: Text1.Text = Data * Val(Text1.Text)

       Case 4: If Val(Text1.Text) = 0 Then MsgBox "除数不等于0": Exit Sub Else Text1.Text = Data / Val(Text1.Text)

       Case 5: Text1.Text = Data ^ Val(Text1.Text)

       End Select

       End If

       Data = Val(Text1.Text)

       fClear = True

       lOperation = 3

       lblOperation.Caption = "*"

       End Sub

       Private Sub Command5_Click()

       If fClear = False Then

       Select Case lOperation

       Case 0

       Case 1: Text1.Text = Data + Val(Text1.Text)

       Case 2: Text1.Text = Data - Val(Text1.Text)

       Case 3: Text1.Text = Data * Val(Text1.Text)

       Case 4: If Val(Text1.Text) = 0 Then MsgBox "除数不等于0": Exit Sub Else Text1.Text = Data / Val(Text1.Text)

       Case 5: Text1.Text = Data ^ Val(Text1.Text)

       End Select

       End If

       Data = Val(Text1.Text)

       fClear = True

       lOperation = 4

       lblOperation.Caption = "/"

       End Sub

       Private Sub Command6_Click()

       If fClear = False Then

       Select Case lOperation

       Case 0

       Case 1: Text1.Text = Data + Val(Text1.Text)

       Case 2: Text1.Text = Data - Val(Text1.Text)

       Case 3: Text1.Text = Data * Val(Text1.Text)

       Case 4: If Val(Text1.Text) = 0 Then MsgBox "除数不等于0": Exit Sub Else Text1.Text = Data / Val(Text1.Text)

       Case 5: Text1.Text = Data ^ Val(Text1.Text)

       End Select

       End If

       Data = Val(Text1.Text)

       fClear = True

       lOperation = 0

       lblOperation.Caption = ""

       End Sub

       Private Sub Command7_Click()

       If Val(Text1.Text) <= 0 Then MsgBox "开方数大于等于0"

       Text1.Text = Sqr(Val(Text1.Text))

       Data = Val(Text1.Text)

       fClear = True

       lOperation = 0

       lblOperation.Caption = ""

       End Sub

       Private Sub Command8_Click()

       Text1.Text = ""

       lOperation = 0

       lblOperation.Caption = ""

       End Sub

       Private Sub Command9_Click()

       If Len(Text1.Text) > 0 Then Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1)

       End Sub

       Private Sub Form_KeyPress(KeyAscii As Integer)

       Select Case KeyAscii

       Case Asc("0"): Command1_Click 0

       Case Asc("1"): Command1_Click 1

       Case Asc("2"): Command1_Click 2

       Case Asc("3"): Command1_Click 3

       Case Asc("4"): Command1_Click 5

       Case Asc("5"): Command1_Click 4

       Case Asc("6"): Command1_Click 6

       Case Asc("7"): Command1_Click 7

       Case Asc("8"): Command1_Click 8

       Case Asc("9"): Command1_Click 9

       Case Asc("."): cmdDot_Click

       Case Asc("+"): Command2_Click

       Case Asc("-"): Command3_Click

       Case Asc("*"): Command4_Click

       Case Asc("/"): Command5_Click

       Case Asc("^"): Command_Click

       Case Asc("s"): Command7_Click

       Case Asc("S"): Command7_Click

       Case vbKeyBack: Command9_Click

       Case Asc("`"): Command8_Click

       Case Asc("="): Command6_Click

       Case : Command6_Click

       End Select

       KeyAscii = 0

       End Sub

有一个进行数学乘方的C源代码,但运行结果不对,开方开方求教各位大侠,源码急用。计算

       直接使用pow函数不就可以了吗?

       或:

       将

       for(i=1;i<=exponent;i++)

       {

       initial=base;

       base*=base;

       value=base*initial;

       }

       改为:

       value=base;

       for(i=1;i<exponent;i++)

       {

       value=value*base;

       }

如何用C语言编写一个科学计算器

       ç”¨æ ˆ 就可以办到了。。。这个很详细的, lz 随便输入一个表达式,中间的计算过程全部输出了,lz试两个 就知道怎么回事了。 #include <stdio.h>

       #include <stdlib.h>

       #include <string.h>

       #define MAXSIZE ;

       typedef struct

       {

        char data[];

        int top;//头地址

        int base;//基地址

        int length;//长度

       }Stack;

       void init(Stack *st)//初始化栈

       {

        st->base=0;

        st->top=0;

        st->length=0;

       }

       int isEmpty(Stack *st)

       {

        int n=0,器线top,base;

        top =st->top;

        base =st->base;

        if(top==base)

        {

        return 1;

        }

        return n;

       }

       int isFull(Stack *st)

       {

        int n=0,top,base;

        top =st->top;

        if(top>=)

        {

        return 1;

        }

        return n;

       }

       char getTop(Stack *st)// 返回top值,不改变栈的结构

       {

        char n;

        if(isEmpty(st))

        {

        printf("栈为空\n");

        return 0;

        }

        int positon= st->top-1;

        n= st->data[positon];//取出数据;

        return n;

       }

       char pop(Stack *st)// 出栈,返回

       {

        char n;

        if(isEmpty(st))

        {

        printf("栈为空\n");

        return 0;

        }

        int positon= st->top-1;

        n= st->data[positon];//取出数据;

       st->top--;

        st->length--;

        st->data[positon]='\0';//消除数据

        return n;

       }

       void push(char n,Stack *st)//入栈

       {

        int positon ;

        if(isFull(st))

        {

        printf("栈满\n");

        }

        else

        {

        positon= st->top;//获取位置

       st->data[positon]=n;//存入数据

       st->top++;//改变位置

        }

       }

       void show(Stack *m1)//输出栈中的数据

       {

        int top,base;

        top=m1->top;

        base=m1->base;

        while(top>base)

        {

        printf("%c,",m1->data[--top]);

        }

        printf("\n");

       }

       int isOperate(char temp)//是否是操作符

       {

        if(temp=='+'||temp=='-'||temp=='*'||temp=='/'||temp=='('||temp==')'||temp=='#')

        {

        return 1;

        }

        return 0;

       }

       int isValue(char temp)//是否是数值

       {

        if(temp>='0'&&temp<='9')//

        {

        return 1;

        }

        else

        {

        return 0;

        }

       }

       int isAvail(char temp)//是否有效字符

       {

        if(isOperate(temp)||isValue(temp))//如果temp既不是操作符和数值的话,则它是非法的

        {

        return 1;

        }

        return 0;

       }

       int detect(char temp)//搜索矩阵位置

       {

        int i=0;

        char oper[7]={ '+','-','*','/','(',')','#'};

        for(i=0;i<7;i++)

        {

        if(temp==oper[i])

        {

        return i;

        }

        }

       }

       char Priority(char temp,char optr)//判断优先级

       {

        /**//

*

        + - * / ( ) #

        1 2 3 4 5 6 7

        + 1 < < < < > > >

        - 2 < < < < > > >

        * 3 > > < < > > >

        / 4 > > < < > > >

        ( 5 > > > > > = 0

        ) 6 < < < < = 0 >

        # 7 < < < < > 0 =

        */

        int row ,col;

        char priority[7][7]={ /**//* + - * / ( ) # */

        { '<','<','<','<','>','>','>'},

        { '<','<','<','<','>','>','>'},

        { '>','>','<','<','>','>','>'},

        { '>','>','<','<','>','>','>'},

        { '>','>','>','>','>','=','>'},

        { '<','<','<','<','=','0','>'},

        { '<','<','<','<','>','<','='},

        };

       row = detect(temp);//找出对应的矩阵下标;

        col = detect(optr);

       // printf("%d,%d",row,col);

       //优先级存储在一个7x7的矩阵中,对应关系上图;

       return priority[row][col];

       }

       char evaluate(int a,int b,char oper)

       {

        switch(oper)

        {

        case '+': return a+b+'0';

        case '-': return a-b+'0';

        case '*': return a*b+'0';

        case '/': return a/b+'0';

        default : return 0+'0';

        }

       }

       int calculateExpress(char *express)//计算表达式

       {

        int result=0;

        int a,b;

        // char oper,result;

       Stack OPTR,OPND;//OPTR存储操作符,OPND操作数值

        init(&OPTR);

        init(&OPND);

        push('#',&OPTR);//默认第一个位'#'

       ////////////////////-算法-////////////////////////////

        while(*express!='\0')

        {

        char temp;

        temp= *(express);

        printf("---------------------------------\n");

        printf("当前的符号为%c\n",temp);

        if(isAvail(temp))//是否是有效字符

        {

        if(isOperate(temp) )//输入的是操作符

        {

        char oper,result;

        char optr = getTop(&OPTR);//栈中top位的操作符

        printf("栈顶操作符位:%c\n",optr);

        char prior = Priority(temp,optr);//判断优先级

        switch(prior)

        {

        case '>':

        push(temp,&OPTR);

        printf("将符号位%c入栈\n",temp);

        express++;

        break;

        case '<':

        //int a,b;

       //char oper,result;

       a=pop(&OPND)-'0';//存在栈中的都是char字符

        b=pop(&OPND)-'0';

        oper=pop(&OPTR);

        result=evaluate(b,a,oper);//出栈一个操作符,计算结果

        //printf("%d",result-'0');

        push(result,&OPND);//结果入OPND

        printf("%d%c%d结果为:%d\n",b,oper,a,result-'0');

        break;

        case '=':

        //消除括号

        pop(&OPTR);

        printf("消除括号\n");

        express++;

        break;

        }

        }

        if(isValue(temp))//输入的是数值

        {

        push(temp,&OPND);//将数值位入栈;

        express++;

        printf("将数值%c压入栈\n",temp);

        //show(&OPND);

        }

        }

        else //表达式中有非法字符

        {

        printf("表达式中有非法字符\n");

        exit(-1);//退出程序

        }

       }

       // show(&OPND);

       // show(&OPTR);

        return getTop(&OPND)-'0';

       }

       void inputExpress(char *express)//输入表达式

       {

        int length=0;

        printf("请输入一个表达式:");

        scanf("%s",express);

        int len =strlen(express);

        express[len]='#';//表达式最后一位默认为'#';

        express[len+1]='\0';

       }

       void output(char *express,int result)//输出表达式

       {

        int i=0;

        printf("----------------------------------------\n表达式:");

        while(express[i]!='#')

        {

        printf("%c",express[i]);

        i++;

        }

        printf("=%d\n",result);

       }

       int main()

       {

        char express[];//表达式

        int result =0;

        inputExpress(express);//输入表达式

       result = calculateExpress(express);//计算表达式;

       output(express,result); //输出表达式

       //、、、、、、、、、、、、、测试优先级。

        /**//

*

        char m='7' ;

        m=Priority('+','*');

        printf("优先级为%c",m);

        int m=evaluate(5,6,'m');

        printf("%d",m);

        */

        return 0;

       }

相关栏目:知识