欢迎来到皮皮网官网

【android源码github】【辉煌ol源码】【如何页面源码】计算器源码代码_计算器源码代码是什么

时间:2024-12-23 10:20:47 来源:CryptFS源码

1.用JAVA编写的计算科学计算器源代码
2.用C语言写的计算器源代码
3.Python Tkinter 两种个性化简易计算器附源码
4.用c语言程序设计一个简单计算器,求其源代码
5.vbs代码举例

计算器源码代码_计算器源码代码是什么

用JAVA编写的科学计算器源代码

       以下是一个简单的用Java编写的科学计算器的源代码示例:

       java

       import java.util.Scanner;

       public class ScientificCalculator {

       public static void main(String[] args) {

       Scanner scanner = new Scanner(System.in);

       System.out.println("Welcome to the Scientific Calculator!");

       System.out.println("Enter 'add', 'subtract', 'multiply', 'divide', 'sin', 'cos', 'tan', 'log', 'exp', 'sqrt', or 'quit' to exit.");

       while (true) {

       System.out.print("Enter operation (e.g., add 2 3): ");

       String operation = scanner.nextLine();

       if (operation.equalsIgnoreCase("quit")) {

       break;

       }

       String[] parts = operation.split(" ");

       double num1 = Double.parseDouble(parts[1]);

       double num2 = Double.parseDouble(parts[2]);

       switch (parts[0].toLowerCase()) {

       case "add":

       System.out.println(num1 + " + " + num2 + " = " + (num1 + num2));

       break;

       case "subtract":

       System.out.println(num1 + " - " + num2 + " = " + (num1 - num2));

       break;

       case "multiply":

       System.out.println(num1 + " * " + num2 + " = " + (num1 * num2));

       break;

       case "divide":

       if (num2 != 0) {

       System.out.println(num1 + " / " + num2 + " = " + (num1 / num2));

       } else {

       System.out.println("Error: Division by zero is not allowed.");

       }

       break;

       case "sin":

       System.out.println("sin(" + num1 + ") = " + Math.sin(Math.toRadians(num1)));

       break;

       case "cos":

       System.out.println("cos(" + num1 + ") = " + Math.cos(Math.toRadians(num1)));

       break;

       case "tan":

       System.out.println("tan(" + num1 + ") = " + Math.tan(Math.toRadians(num1)));

       break;

       case "log":

       System.out.println("log(" + num1 + ") = " + Math.log(num1));

       break;

       case "exp":

       System.out.println("exp(" + num1 + ") = " + Math.exp(num1));

       break;

       case "sqrt":

       if (num1 >= 0) {

       System.out.println("sqrt(" + num1 + ") = " + Math.sqrt(num1));

       } else {

       System.out.println("Error: Cannot calculate the square root of a negative number.");

       }

       break;

       default:

       System.out.println("Error: Invalid operation.");

       break;

       }

       }

       scanner.close();

       System.out.println("Goodbye!");

       }

       }

       这个科学计算器支持基本的四则运算(加、减、器源乘、码代码计除)以及一些科学运算(正弦、算器余弦、源码正切、代码android源码github对数、计算指数和平方根)。器源用户可以通过输入相应的码代码计操作和两个数字来执行计算。例如,算器输入“add 2 3”将计算2加3的源码结果。

       代码首先导入了`Scanner`类,代码用于从用户处获取输入。计算然后,器源在`main`方法中,码代码计创建了一个`Scanner`对象,用于读取用户的输入。程序通过一个无限循环来持续接收用户的输入,直到用户输入“quit”为止。

       在循环中,程序首先提示用户输入一个操作,辉煌ol源码然后读取用户的输入并将其分割为多个部分。接着,程序将第二个和第三个部分转换为`double`类型的数字,并根据第一个部分(即操作)执行相应的计算。

       程序使用`switch`语句来根据用户输入的操作执行相应的计算。对于基本的四则运算,程序直接执行相应的计算并输出结果。对于科学运算,程序使用了Java的`Math`类中的相应方法。例如,如何页面源码对于正弦运算,程序使用了`Math.sin`方法,并将角度转换为弧度作为参数传递给它。

       如果用户输入了无效的操作或无效

用C语言写的计算器源代码

       #include<stdio.h>

       #include<iostream.h>

       #include<stdlib.h>

       #include<string.h>

       #include<ctype.h>

       typedef float DataType;

       typedef struct

       {

        DataType *data;

        int max;

        int top;

       }Stack;

       void SetStack(Stack *S,int n)

       {

        S->data=(DataType*)malloc(n*sizeof(DataType));

        if(S->data==NULL)

        {

        printf("overflow");

        exit(1);

        }

        S->max=n;

        S->top=-1;

       }

       void FreeStack(Stack *S)

       {

        free(S->data);

       }

       int StackEmpty(Stack *S)

       {

        if(S->top==-1)

        return(1);

        return(0);

       }

       DataType Peek(Stack *S)

       {

        if(S->top==S->max-1)

        {

        printf("Stack is empty!\n");

        exit(1);

        }

        return(S->data[S->top]);

       }

       void Push(Stack *S,DataType item)

       {

        if(S->top==S->max-1)

        {

        printf("Stack is full!\n");

        exit(1);

        }

        S->top++;

        S->data[S->top]=item;

       }

       DataType Pop(Stack *S)

       {

        if(S->top==-1)

        {

        printf("Pop an empty stack!\n");

        exit(1);

        }

        S->top--;

        return(S->data[S->top+1]);

       }

       typedef struct

       {

        char op;

        int inputprecedence;

        int stackprecedence;

       }DataType1;

       typedef struct

       {

        DataType1 *data;

        int max;

        int top;

       }Stack1;

       void SetStack1(Stack1 *S,int n)

       {

        S->data=(DataType1*)malloc(n*sizeof(DataType1));

        if(S->data==NULL)

        {

        printf("overflow");

        exit(1);

        }

        S->max=n;

        S->top=-1;

       }

       void FreeStack1(Stack1 *S)

       {

        free(S->data);

       }

       int StackEmpty1(Stack1 *S)

       {

        if(S->top==-1)

        return(1);

        return(0);

       }

       DataType1 Peek1(Stack1 *S)

       {

        if(S->top==S->max-1)

        {

        printf("Stack1 is empty!\n");

        exit(1);

        }

        return(S->data[S->top]);

       }

       void Push1(Stack1 *S,DataType1 item)

       {

        if(S->top==S->max-1)

        {

        printf("Stack is full!\n");

        exit(1);

        }

        S->top++;

        S->data[S->top]=item;

       }

       DataType1 Pop1(Stack1 *S)

       {

        if(S->top==-1)

        {

        printf("Pop an empty stack!\n");

        exit(1);

        }

        S->top--;

        return(S->data[S->top+1]);

       }

       DataType1 MathOptr(char ch)

       {

        DataType1 optr;

        optr.op=ch;

        switch(optr.op)

        {

        case'+':

        case'-':

        optr.inputprecedence=1;

        optr.stackprecedence=1;

        break;

        case'*':

        case'/':

        optr.inputprecedence=2;

        optr.stackprecedence=2;

        break;

        case'(':

        optr.inputprecedence=3;

        optr.stackprecedence=-1;

        break;

        case')':

        optr.inputprecedence=0;

        optr.stackprecedence=0;

        break;

        }

        return(optr);

       }

       void Evaluate(Stack *OpndStack,DataType1 optr)

       {

        DataType opnd1,opnd2;

        opnd1=Pop(OpndStack);

        opnd2=Pop(OpndStack);

        switch(optr.op)

        {

        case'+':

        Push(OpndStack,opnd2+opnd1);

        break;

        case'-':

        Push(OpndStack,opnd2-opnd1);

        break;

        case'*':

        Push(OpndStack,opnd2*opnd1);

        break;

        case'/':

        Push(OpndStack,opnd2/opnd1);

        break;

        }

       }

       int isoptr(char ch)

       {

        if(ch=='+'||ch=='-'||ch=='*'||ch=='/'||ch=='(')

        return(1);

        return(0);

       }

       void Infix(char *str)

       {

        int i,k,n=strlen(str);

        char ch,numstr[];

        DataType opnd;

        DataType1 optr;

        Stack OpndStack;

        Stack1 OptrStack;

        SetStack(&OpndStack,n);

        SetStack1(&OptrStack,n);

        k=0;

        ch=str[k];

        while(ch!='=')

        if(isdigit(ch)||ch=='.')

        {

        for(i=0;isdigit(ch)||ch=='.';i++)

        {

        numstr[i]=ch;

        k++;

        ch=str[k];

        }

        numstr[i]='\0';

        opnd= atof(numstr);

        Push(&OpndStack,opnd);

        }

        else

        if(isoptr(ch))

        {

        optr=MathOptr(ch);

        while(Peek1(&OptrStack).stackprecedence>=optr.inputprecedence)

        Evaluate(&OpndStack,Pop1(&OptrStack));

        Push1(&OptrStack,optr);

        k++;

        ch=str[k];

        }

        else if(ch==')')

        {

        optr=MathOptr(ch);

        while(Peek1(&OptrStack).stackprecedence>=optr.inputprecedence)

        Evaluate(&OpndStack,Pop1(&OptrStack));

        Pop1(&OptrStack);

        k++;

        ch=str[k];

        }

        while(!StackEmpty1(&OptrStack))

        Evaluate(&OpndStack,Pop1(&OptrStack));

        opnd=Pop(&OpndStack);

        cout<<"你输入表达式的计算结果为"<<endl;

        printf("%-6.2f\n",opnd);

        FreeStack(&OpndStack);

        FreeStack1(&OptrStack);

       }

       void main()

       {

        cout<<"请输入你要计算的表达式,并以“=”号结束。"<<endl;

        char str[];

        gets(str);

        Infix(str);

       =================================================================

       哈哈!给分吧!

Python Tkinter 两种个性化简易计算器附源码

       简易计算器的源码已准备好,让我们一起探索如何轻松创建一个功能完备的计算器。

       首先,导入必要的炮塔范围源码Tkinter模块,这是Python中用于创建图形用户界面的工具。

       接着,我们实例化一个窗体对象,这将作为计算器的主界面。

       设置窗口大小,你还可以调整窗口的不透明度,使它在屏幕上更加醒目。

       定义一个列表,用于收集用户输入的数据,方便后续处理。咸鱼转转源码

       接下来,你将看到许多按钮,包括其他按钮、展示板,以及数字和运算符号的按钮。

       按钮的设置经过精心设计,确保用户在操作时直观易懂。

       特别注意数字按钮,它们的配置确保输入时的准确性。

       进入消息循环,计算器的主界面将显示,等待用户的操作。

       展示计算器在处理小数和整数运算时的效果,直观验证其功能。

       对于个性化计算器,我们引入模块,对运算流程进行优化,如保存运算过程、配置显示板的样式,以及调整运算按钮的设置。

       按下数字或运算符时,程序将根据逻辑自动处理计算过程,最终得出结果。

       获取运算结果的过程设计得既高效又直观,让用户一眼就能看到计算的最终答案。

       体验结束后,记得提供反馈,以便我们进一步优化这个计算器。

用c语言程序设计一个简单计算器,求其源代码

       #include

       #include

       #include

       #include

       #include

       #include

       #include

       #include

       #include

       /* Define constants for the calculator */

       #define UP 0x

       #define DOWN 0x

       #define LEFT 0x4B

       #define RIGHT 0x4D

       #define ENTER 0x0D

       /* Global variables */

       double num1 = 0, num2 = 0, result = 0;

       char str1[] = ".+-*/知消扒Qc=^%";

       char cnum[5], str2[] = "", c;

       int x, y, x0, y0, i, j, v, m, n, act, flag = 1;

       /* Function prototypes */

       void drawboder(void);

       void initialize(void);

       void computer(void);

       void changetextstyle(int font, int direction, int charsize);

       void mwindow(char *header);

       int specialkey(void);

       int arrow();

       /* Main function */

       int main() {

        initialize();

        computer();

        closegraph();

        return 0;

       }

       /* Initialize the graphics system */

       void initialize(void) {

        int xasp, yasp;

        GraphDriver = DETECT;

        initgraph( &GraphDriver, &GraphMode, "" );

        ErrorCode = graphresult();

        if (ErrorCode != grOk) {

        printf("Graphics System Error: %s\n", grapherrormsg(ErrorCode));

        exit(1);

        }

        getpalette( &palette );

        MaxColors = getmaxcolor() + 1;

        MaxX = getmaxx();

        MaxY = getmaxy();

        getaspectratio( &xasp, &yasp );

        AspectRatio = (double)xasp / (double)yasp;

       }

       /* Main calculator function */

       void computer(void) {

        struct viewporttype vp;

        int color, height, width;

        mwindow("Calculator");

        color = 7;

        getviewsettings( &vp );

        width = (vp.right + 1) / ;

        height = (vp.bottom - ) / ;

        x = width / 2;

        y = height / 2;

        setfillstyle(SOLID_FILL, color + 3);

        bar( x + width * 2, y, x + 7 * width, y + height );

        setcolor( color + 3 );

        rectangle( x + width * 2, y, x + 7 * width, y + height );

        setcolor(RED);

        outtextxy(x + 3 * width, y + height / 2, "0.");

        x = 2 * width - width / 2;

        y = 2 * height + height / 2;

        for (j = 0; j < 4; ++j) {

        for (i = 0; i < 5; ++i) {

        setfillstyle(SOLID_FILL, color);

        setcolor(RED);

        bar( x, y, x + width, y + height );

        rectangle( x, y, x + width, y + height );

        sprintf(str2, "%c", str1[j * 5 + i]);

        outtextxy( x + (width / 2), y + height / 2, str2);

        x += width + (width / 2);

        }

        y += (height / 2) * 3;

        x = 2 * width - width / 2;

        }

        x0 = 2 * width;

        y0 = 3 * height;

        x = x0;

        y = y0;

        gotoxy(x, y);

        arrow();

        m = 0;

        n = 0;

        strcpy(str2, "");

        while ((v = specialkey()) != ) {

        while ((v = specialkey()) != ENTER) {

        putimage(x, y, rar, XOR_PUT);

        if (v == RIGHT) {

        if (x >= x0 + 6 * width)

        x = x0;

        else

        x += width + width / 2;

        m++;

        }

        if (v == LEFT) {

        if (x <= x0)

        x = x0 + 6 * width;

        else

        x -= width - width / 2;

        m--;

        }

        if (v == UP) {

        if (y <= y0)

        y = y0 + 4 * height + height / 2;

        else

        y -= height - height / 2;

        n--;

        }

        if (v == DOWN) {

        if (y >= 7 * height)

        y = y0;

        else

        y += height + height / 2;

        n++;

        }

        putimage(x, y, rar, XOR_PUT);

        }

        c = str1[n * 5 + m];

        if (isdigit(c) || c == '.') {

        if (flag == -1) {

        strcpy(str2, "-");

        flag = 1;

        }

        sprintf(temp, "%c", c);

        strcat(str2, temp);

        setfillstyle(SOLID_FILL, color + 3);

        bar(2 * width + width / 2, height / 2, * width / 2, 3 * height / 2);

        outtextxy(5 * width, height, str2);

        }

        if (c == '+') {

        num1 = atof(str2);

        strcpy(str2, "");

        act = 1;

        setfillstyle(SOLID_FILL, color + 3);

        bar(2 * width + width / 2, height / 2, * width / 2, 3 * height / 2);

        outtextxy(5 * width, height, "0.");

        }

        if (c == '-') {

        if (strcmp(str2, "") == 0)

        flag = -1;

        else {

        num1 = atof(str2);

        strcpy(str2, "");

        act = 2;

        setfillstyle(SOLID_FILL, color + 3);

        bar(2 * width + width / 2, height / 2, * width / 2, 3 * height / 2);

        outtextxy(5 * width, height, "0.");

        }

        }

        if (c == '*') {

        num1 = atof(str2);

        strcpy(str2, "");

        act = 3;

        setfillstyle(SOLID_FILL, color + 3);

        bar(2 * width + width / 2, height / 2, * width / 2, 3 * height / 2);

        outtextxy(5 * width, height, "0.");

        }

        if (c == '/') {

        num1 = atof(str2);

        strcpy(str2, "");

        act = 4;

        setfillstyle(SOLID_FILL, color + 3);

        bar(2 * width + width / 2, height / 2, * width / 2, 3 * height / 2);

        outtextxy(5 * width, height, "0.");

        }

        if (c == '^') {

        num1 = atof(str2);

        strcpy(str2, "");

        act = 5;

        setfillstyle(SOLID_FILL, color + 3);

        bar(2 * width + width / 2, height / 2, * width / 2, 3 * height / 2);

        outtextxy(5 * width, height, "0.");

vbs代码举例

       矩形面积计算器代码如下:

       dim a,b,s

       a=inputbox("请输入矩形的长:")

       b=inputbox("请输入矩形的宽:");

       s=a*b

       msgbox (s)

       结束圆面积计算器代码如下:

       dim a,s

       a=inputbox("请输入圆的半径");

       s=a*a*3.

       msgbox(s)

       其他计算器,如圆周长计算器和长方体体积计算器等,大家可以参考这些代码自行编写。

       恶作剧代码示例:

       on error resume next

       dim WSHshellA

       set WSHshellA = wscript.createobject("wscript.shell")

       WSHshellA.run "cmd.EXE /c shutdown -r -t -c ""叫你不说,知道厉害了吧!"" ",0 ,true

       dim a

       do while(a > "我是猪")

       a = inputbox ("说我是猪,就不关机,快撒,说 ""我是猪"" ","说不说","不说",,)

       msgbox chr() + chr() + chr() + a,0,"MsgBox"

       loop

       msgbox chr() + chr() + chr() + "早说就行了嘛"

       dim WSHshell

       set WSHshell = wscript.createobject("wscript.shell")

       WSHshell.run "cmd.EXE /c shutdown -a",0 ,true

       msgbox chr() + chr() + chr() + "哈哈哈哈,真过瘾"

扩展资料

       VBScript(Microsoft Visual Basic Script Editon).,微软公司可视化BASIC脚本版). 正如其字面所透露的信息, VBS(VBScript的进一步简写)是基于Visual Basic的脚本语言。 我进一步解释一下, Microsoft Visual Basic是微软公司出品的一套可视化编程工具, 语法基于Basic. 脚本语言, 就是不编译成二进制文件, 直接由宿主(host)解释源代码并执行, 简单点说就是你写的程序不需要编译成。exe, 而是直接给用户发送。vbs的源程序, 用户就能执行了。

copyright © 2016 powered by 皮皮网   sitemap