用c语言编写计算器

这篇具有很好参考价值的文章主要介绍了用c语言编写计算器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

板书:

1、在编写控制台程序的时候一切流程都是有先后关系、并行的,而且所有函数都是由我们来调用的,比如下面的实例性代码:

printf("确定请输入y,取消输入n");

char c = getchar();

if(c=='y')

{

///

}文章来源地址https://www.toymoban.com/news/detail-460175.html

else if(c=='n')

{

///

}

我们可以用getchar来等待用户输入一个值。但是到了Windows编程中就不一样了,同一时刻用户即可能点击【OK】按钮,又可能点击【Cancel】按钮,又可能在文本框中输入几个字,还可能在窗口上双击几下,这样就无法同时等待用户的这些动作。为了解决这个问题,Windows引入了消息机制(也可以叫做回调机制或者事件机制)。在程序启动的时候把函数func1要响应【OK】按钮1的点击动作、函数func2要响应【Cancel】按钮的点击动作、函数func3要响应窗口的双击动作等等这些信息告诉Windows,然后当用户执行相应操作的时候Windows就会来主动调用你注册的函数,主动通知你。不再是程序调用操作系统的函数,而是操作系统反过来调用你的函数。Don't call me ,I'll call you!(也被人称为“好莱坞法则”)。

2、关于上面的这个问题要慢慢来理解,下面就来通过第一个例子来初步理解这个Don't call me ,I'll call you!

创建一个对话框程序,然后来分析代码。看Main_OnCommand方法,初探windows的消息机制。

void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)

{

switch(id)

{

case IDC_OK:

MessageBox(hwnd,"You click OK!","Test003",MB_OK);

EndDialog(hwnd, id);

break;

case IDC_CANCEL:

MessageBox(hwnd,"You click Cancel!","Test003",MB_OK);

EndDialog(hwnd, id);

break;

default:break;

}

}

按钮被按下的时候Main_OnCommand方法被调用,hwnd是对话框句柄(什么是句柄后面讲,通俗的说就是通过它能够操纵对话框),id是控件的id,后两个参数暂时不关心。

Main_OnCommand方法中根据id,也就是被点击按钮的名字来决定不同的动作,EndDialog用来关闭对话框。

3、定制自己的对话框,向世界问好

首先打开资源编辑器并且打开对话框IDD_MAIN,然后删除对话框上的两个按钮和标签,同时删除main.cpp中的两个Case语句变成:

void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)

{

switch(id)

{

default:break;

}

}

然后重新添加一个自己的按钮,在属性中修改Name属性为IDC_BTNHELLO。

控件名字的潜规则:所有控件的Name都以“IDC_”开头,然后后边跟着控件类型的简称(按钮简称BTN、文本框简称EDT等等),最后才是控件的真正的名字。修改按钮的Caption属性(也就是按钮上显示的文字)为“问好”。

在代码中怎么得到IDC_BTNHELLO呢?刚才被删掉的IDC_OK是什么东东呢?回忆配置ResEd的时候配置的“名称输出格式”和“默认输出文件名”以及“保存时自动输出”。每次保存对话框的时候ResEd都会帮我们把控件的名字输出到rsrc.inc文件中,打开工程文件夹下的rsrc.inc,内容如下:

#define IDC_BTNHELLO

1001

Dialog编辑器会自动递增id的取值。然后生成rsrc.inc,其实就是h头文件,取这些定义的时候要先include这个inc文件。可以看到rsrc.inc文件中就是这些控件名字的定义,使用的时候只要include这些文件就可以。“rsrc.inc”和头文件一样。因此首先在main.cpp中添加“#include "rsrc.inc"”

编辑Main_OnCommand方法:

void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)

{

switch(id)

{

case IDC_BTNHELLO:

MessageBox(NULL,TEXT("世界你好"),TEXT("问好"),MB_OK);

break;

default:break;

}

}

运行程序,点击“问好”按钮,咱们第一个响应按钮动作的程序就做好了。

4、自己动手写计算器1.0版

(1)、得到控件中用户输入的文本

GetDlgItemText(hwnd,IDC_EDTNAME,str,sizeof(str));

第一个参数是对话框的句柄;第二参数就是控件的id(name);第三个参数就是字符串数组的指针;

疑问:为什么不能像MessageBox一样把字符串做为返回值返回呢???

这就涉及到C语言中函数返回指针的问题了

int i=20;

char cStr[3];

itoa(i,cStr,10);

char* f1()

{

return "adsfadsfasd";

}

在函数内部返回函数内构建的指针有可能出现数据混乱.

当f1函数在执行的时候,这段内存是被占用的,一旦函数返回,那么内存就标记为可以被其他人、函数占用。

如果你把这段内存中的指针返回了,那么一旦其他地方用了这段内存,那么你引用的就是错误的数据了。

用GetWindowText、GetDlgItemText的时候为什么要传数组名呢?复习:数组名就是指针,函数只有得到指针,才能直接操作数组中的数据。

(2)c语言中字符串连接:strcat(name,"你好");

但是在编写windows程序的时候最好使用lstrcat代替strcat。

lstrcat(name,"你好");

同样代替的有:strlen→lstrlen;strcmp→lstrcmp

(3)向用户问好

TCHAR name[256];

GetDlgItemText(hwnd,IDC_EDTNAME,name,sizeof(name)/sizeof(TCHAR));

lstrcat(name,"你好");

MessageBox(NULL,name,TEXT("问好"),MB_OK);

(4)

C语言里边字符串转换为数字:atoi:ascii to int

(5)

编写windows程序的时候最好用TCHAR来代替char,可以避免中文的问题

case IDC_BTNHELLO:

TCHAR name[256];

GetDlgItemText(hwnd,IDC_EDTNAME,name,sizeof(name)/sizeof(TCHAR));

int i = atoi(name);

int j=i*2;

TCHAR result[256];

itoa(j,result,10);

MessageBox(NULL,result,TEXT("问好"),MB_OK);

(6)Get、Set:配对的,设置对话框的值用SetDlgItemText:

代码:

case IDC_BTNADD:

//取第一个文本框的字符串,然后得到整数表示

// 取第二个文本框的字符串,然后得到整数表示

//计算两个整数的和

//把和重新转换成字符串,然后Messagebox出来。

TCHAR cNumber1[256];

GetDlgItemText(hwnd,IDC_EDTNUM1,cNumber1,sizeof(cNumber1)/sizeof(TCHAR));

int n1 = atoi(cNumber1);

TCHAR cNumber2[256];

GetDlgItemText(hwnd,IDC_EDTNUM2,cNumber2,sizeof(cNumber2)/sizeof(TCHAR));

int n2 = atoi(cNumber2);

int n3 = n1+n2;

TCHAR cResult[256];

itoa(n3,cResult,10);

SetDlgItemText(hwnd,IDC_EDTRESULT, cResult);

break;

(7)代码中有UINT、TCHAR、LRESULT、HWND之类的新的数据类型,其实它们只是一些类型的别名而已,可以通过宏定义看出来。但是考虑到可移植性,尽量不要使用它们的真实类型

(8)思考:这个计算两个数的和程序有什么缺陷?没有阻止用户输入非数字

(9)作业:做一个面积计算器,用户输入半径,在另外一个文本框中显示面积。

5、得到系统中有哪些逻辑驱动器

DWORD GetLogicalDrives(VOID);

返回值的二进制位标志着存在哪些驱动器。其中,位0设为1表示驱动器A存在于系统中;位1设为1表示存在B驱动器;以次类推。

比如:

00001100:有C盘,D盘

000011100:c、d、e

1101:A(软驱)、C、D

(1)写程序中的错误排除

"dwDrives"was not declared in the scope

declare:声明;scope:范围

"dwDrives"没有被声明在这个范围内。

(2)以二进制显示GetLogicalDrives的返回值:

stdlib.h

DWORD ds = GetLogicalDrives();

char str[33];

itoa(ds,str,2);

MessageBox(NULL,str,"",MB_OK);

DWORD是什么类型?在DWORD上点击右键,选择“转到DWORD的定义”,其实DWORD是“unsigned long”。因此str定义成33位(还有最后一位的“\0”)。

(3)课后习题:判断是否存在D盘。

(4)课后习题:依次显示系统中所有的盘符。比如显示出“CDEF”。

(5)课后习题:显示系统中有多少个逻辑驱动器。

这三道课后作业都是在锻炼位运算。一定要重视,不要一位没啥意思,很多公司的笔试面试都会考查这一点,这也是继续深入研究C和其他语言的基础。

Main_OnCommand 函数的响应按钮段:

CODE:

void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)

{

TCHAR cDriveExists[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";

int nLen=0;

switch(id)

{

case IDC_BTNRESULT: //响应计算圆面积按钮

TCHAR cBanjing[256];

GetDlgItemText(hwnd,IDC_EDTRADIUS,cBanjing,sizeof(cBanjing)/sizeof(TCHAR));

double fBanjing,fZhouchang;

fBanjing = atof(cBanjing);

fZhouchang = 3.1415926*(fBanjing*fBanjing);

TCHAR cZhouchang[256];

gcvt(fZhouchang,10,cZhouchang);

//SetDlgItemText(hwnd,IDC_EDTZHOUCHANG,cZhouchang);

SetDlgItemText(hwnd,IDC_STC,cZhouchang);

break;

case IDC_BTNCALCHELP: //响应圆面积帮助按钮

MessageBox(hwnd,TEXT("\n圆形面积计算公式:\n\n圆面积(s)=圆周率π(3.14)*半径(r)的平方。\t"),TEXT("计算公式"),MB_OK|MB_ICONASTERISK);

break;

case IDC_BTNGETDRIVERS: //获取用户磁盘信息按钮

DWORD dwMydrivers;

dwMydrivers = GetLogicalDrives();

TCHAR cDrivers[256];

itoa(dwMydrivers,cDrivers,2); //转换为字符串

strrev(cDrivers); //反转字符串

TCHAR cDriverscn[256];

//MessageBox(hwnd,cDrivers,TEXT("调试"),MB_OK);

//列出所有存在盘符

int i;

for(i=0;i<strlen(cDrivers);i++)

{

if(cDrivers[i]=='1')

{

cDriverscn[nLen] = cDriveExists[i];

nLen++;

}

}

cDriverscn[nLen]='\0';

SetDlgItemText(hwnd,IDC_EDTMYDRIVERS,cDriverscn);

//判断是否存在D盘

if(cDrivers[4]='1')

{

SetDlgItemText(hwnd,IDC_EDTYESNOD,TEXT("有"));

}

else

{

SetDlgItemText(hwnd,IDC_EDTYESNOD,TEXT("无"));

}

//计算存在磁盘总数

TCHAR cSUM[256];

itoa(nLen,cSUM,10);

SetDlgItemText(hwnd,IDC_EDTDRIVERSNUM,cSUM);

break;

default:break;

}

}

#include "rsrc.inc"     rsrc.inc文件里面的内容

CODE:

#define IDC_GRPCALC             1001

#define IDC_GRP1                1014

#define IDC_EDTRADIUS           1002

#define IDC_BTNRESULT           1003

#define IDC_BTNCALCHELP         1006

#define IDC_BTNGETDRIVERS       1008

#define IDC_STC1                1005

#define IDC_EDTMYDRIVERS        1007

#define IDC_EDTYESNOD           1009

#define IDC_EDTDRIVERSNUM       1010

#define IDC_STC2                1011

#define IDC_STC3                1012

#define IDC_STC4                1013

#define IDC_STC                 1015

dialogs.dlg  文件的内容

CODE:

#define IDC_GRPCALC 1001

#define IDC_GRP1 1014

#define IDC_EDTRADIUS 1002

#define IDC_BTNRESULT 1003

#define IDC_BTNCALCHELP 1006

#define IDC_BTNGETDRIVERS 1008

#define IDC_STC1 1005

#define IDC_EDTMYDRIVERS 1007

#define IDC_EDTYESNOD 1009

#define IDC_EDTDRIVERSNUM 1010

#define IDC_STC2 1011

#define IDC_STC3 1012

#define IDC_STC4 1013

#define IDC_STC 1015

#include "dialogs.h"

#include <windows.h>

IDD_MAIN DIALOGEX 122,75,245,193

LANGUAGE 4,2

CAPTION "calc"

FONT 8,"Tahoma",0,0,0

STYLE WS_POPUP|WS_VISIBLE|WS_CAPTION|WS_SYSMENU|WS_THICKFRAME|WS_MAXIMIZEBOX

BEGIN

  CONTROL "",IDC_EDTRADIUS,"Edit",WS_CHILD|WS_VISIBLE|WS_TABSTOP,102,29,54,13,WS_EX_CLIENTEDGE

  CONTROL "计  算",IDC_BTNRESULT,"Button",WS_CHILD|WS_VISIBLE|WS_TABSTOP,162,29,42,13

  CONTROL "帮  助",IDC_BTNCALCHELP,"Button",WS_CHILD|WS_VISIBLE|WS_TABSTOP,162,46,42,13

  CONTROL "获取磁盘信息",IDC_BTNGETDRIVERS,"Button",WS_CHILD|WS_VISIBLE|WS_TABSTOP,90,158,66,13

  CONTROL "计算结果:",IDC_STC1,"Static",WS_CHILD|WS_VISIBLE|WS_GROUP,60,48,40,9

  CONTROL "",IDC_EDTMYDRIVERS,"Edit",WS_CHILD|WS_VISIBLE|WS_TABSTOP|ES_READONLY,126,118,86,13,WS_EX_CLIENTEDGE

  CONTROL "",IDC_EDTYESNOD,"Edit",WS_CHILD|WS_VISIBLE|WS_TABSTOP|ES_READONLY,126,99,86,13,WS_EX_CLIENTEDGE

  CONTROL "",IDC_EDTDRIVERSNUM,"Edit",WS_CHILD|WS_VISIBLE|WS_TABSTOP|ES_READONLY,126,136,86,13,WS_EX_CLIENTEDGE

  CONTROL "系统中是否存在有 D 盘:",IDC_STC2,"Static",WS_CHILD|WS_VISIBLE|WS_GROUP,30,101,90,9

  CONTROL "系统中存在的所有磁盘:",IDC_STC3,"Static",WS_CHILD|WS_VISIBLE|WS_GROUP,30,120,88,9

  CONTROL "系统中逻辑驱动器个数:",IDC_STC4,"Static",WS_CHILD|WS_VISIBLE|WS_GROUP,30,138,88,9

  CONTROL "请输入圆的半径 r=",IDC_TEXT,"Static",WS_CHILD|WS_VISIBLE|WS_GROUP,34,31,68,9

  CONTROL "计算圆面积",IDC_GRPCALC,"Button",WS_CHILD|WS_VISIBLE|BS_GROUPBOX,22,14,202,59

  CONTROL "本地磁盘信息",IDC_GRP1,"Button",WS_CHILD|WS_VISIBLE|BS_GROUPBOX,22,84,202,94

  CONTROL "请输入半径",IDC_STC,"Static",WS_CHILD|WS_VISIBLE,104,48,54,9

END

杨中科 at 2008-10-28 21:52:55

diamondboy的答案非常好,值得鼓励!!!

你想一下GetLogicalDriver相关的那几道作业题有没有更高效的解法呢?提示一下使用位运算。你可以参考咱们以前的C#的课的内容:

http://www.jsj321.com/forum/view ... &extra=page%3D1

位运算是语言无关的,而且C#的位运算和C一模一样,完全可以参考。还是那句话“一通百通”。

咱们的论坛已经可以上传附件了,可以把你的作业上传上来。

再次为diamondboy喝彩。

diamondboy at 2008-10-29 21:05:44

晕了呢,我就搞不懂所谓的位运算是怎么回事呢,二进制的东东看了就懵了。。  现在就去看老大给的视频去。。。

calc.rar

(2008-10-29 21:05:44, Size: 19.9 KB, Downloads: 119)

shiren1118 at 2008-10-31 21:37:09

老杨辛苦,呵呵

willweiwei at 2008-12-09 00:37:10

由itoa是英文integer to array得atoi是英文 array to integer

百度得到的

貌似不是 C语言里边字符串转换为数字:atoi:ascii to int

哈哈

鸡蛋里面挑骨头

Joshua at 2008-12-12 21:31:13

void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)

{

  int i=0;

  DWORD x,t=1;

  char sz[26],p='A';

  if(id==IDC_BTNGET)

    {

         x=GetLogicalDrives();

         while(x>0)

                         {

                                     if((t&x)==1)  { sz=p;++i; }

                                     x>>=1;++p;

                               }

             SetDlgItemText(hwnd,IDC_EDTOUT,sz);

     }

              

}

获取本机磁盘列表。

Joshua at 2008-12-12 22:10:57

更正下:在         SetDlgItemText(hwnd,IDC_EDTOUT,sz); 上还要加一句   sz='\0';

635260101 at 2009-4-04 14:15:59

先做了计算器...

caclv1.rar

(2009-04-04 14:15:59, Size: 31 KB, Downloads: 63)

makesue at 2009-4-16 01:31:51

本人位运算显示磁盘信息的代码

void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)

{

    switch(id)

    {

        case IDC_BTN1:

         DWORD d=GetLogicalDrives();

         if((d&8)>0)

          {

           TCHAR c[256];

           SetDlgItemText(hwnd,IDC_EDT1,TEXT("存在"));

          }

         else

         {

          SetDlgItemText(hwnd ,IDC_EDT1,TEXT("不存在"));

         }

        break;

        case IDC_BTN2:

   hanshu(hwnd);

        break;

        case IDC_BTN3:        

         hanshu1(hwnd);

   break;

        

        default:break;

    }

}

void hanshu(HWND hwnd)

{

   DWORD d1=GetLogicalDrives();

         int i=0;

         while (d1>0)

         {

          if((d1&1)>0)

          {

           i++;

          }

          d1=d1>>1;

       

         }

         TCHAR j[256];

         itoa(i,j,10);

         lstrcat(j,"个");

         SetDlgItemText(hwnd,IDC_EDT2,j);

}

void hanshu1(HWND hwnd)

{

         DWORD e=GetLogicalDrives();

         int k=0;

         int p=0;

         TCHAR b[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";

         TCHAR f[256];

         while (e>0)

         {

          if((e&1)==1)

           {

           

            f[p]=b[k];

            f[++p]='\0';

            SetDlgItemText(hwnd,IDC_EDT3,f);

        

                        

           }

    e=e>>1;

    k++;

         }

        

}

磁盘.rar

(2009-04-16 01:31:51, Size: 21.5 KB, Downloads: 33)

命苦 at 2009-4-17 22:30:20

我的作业终于交上来啦!不过只有计算园面积的一道题。

初次奇遇 at 2009-4-20 13:32:51

哈哈 代码越来复杂了啊

slsky at 2009-4-29 19:46:17

^不是“非”

George at 2009-5-16 22:37:07

太难了,即使能用控制台写出来也不知道在这里怎么实现。

在VC里面写,可以把字符存入数组的,可这里怎么弄都不行。

一个头3个大!!!

未命名.JPG

CalcV1.rar

(2009-05-16 22:37:07, Size: 13.1 KB, Downloads: 30)

星尘幻 at 2009-5-18 21:58:11

未命名.jpg

除法的浮点数还不会弄..显示的还是整数。还想改成点击按钮输入数字,好像有点困难,唉继续想..

angustao at 2009-5-19 03:03:44

本以为一天可以看2节,结果看到第五节就耗费了我2天时间,并且还有位运算的练习没有做。非常感谢杨老师送给我的一句话:只有蚂蚁啃骨头慢慢来。看来也是没有办法的事,这个东西急步得。重看C++/mfc再看c跳来跳去终于还是选择了C。我把作业补交下吧

功能:四则运算(整型,双精度型) 圆面积计算

BUG:0字符显示没有控制好,没有处理键盘输入。

源代码带有文字说明,呵呵~~代码没有整理不要扔砖。

counter2.0.rar

(2009-05-19 03:03:44, Size: 24.5 KB, Downloads: 21)

星尘幻 at 2009-5-19 23:43:20

参考之前同学的代码修改了一下弄好了,用的与运算不知对不对..

明天听第六课了,希望暑假前能赶上进度..我要努力,在如鹏能学到东西我很喜欢这里

jisuanqiv1.rar

(2009-05-19 23:43:20, Size: 21.2 KB, Downloads: 23)

我是老实人 at 2009-5-28 09:17:37

用函数返回值来传递动态内存这种方法虽然好用,但是常常有人把return语句用错了。这里强调不要用return语句返回指向“栈内存”的指针,因为该内存在函数结束时自动消亡,见示例7-4-4。

  char *GetString(void)

  {

 

char p[] = "hello world";

 

return p;

// 编译器将提出警告

  }

  

  void Test4(void)

  {

  char *str = NULL;

  str = GetString();

// str 的内容是垃圾

  cout<< str <<  endl;

  }

  

示例7-4-4 return语句返回指向“栈内存”的指针

用调试器逐步跟踪Test4,发现执行str = GetString语句后str不再是NULL指针,但是str的内容不是“helloworld”而是垃圾。

(你上课讲的那个指针返回值问题)

引自--林锐《高质量c/c++编程指南》

zhiping1989 at 2009-6-07 11:37:31

这边要注意if((a&8)>0)     a&8要用括号括起来 我刚开始没注意这个问题 一直出错

zhiping1989 at 2009-6-07 13:51:42

我的作业也写好了 虽然有点晚 发出来大家指教指教 我的变量名起的有点乱 大家要谅解 因为我英文水平非常烂

CODE:

switch(id)

{

case IDC_BTN2: //计算器

{

TCHAR aname[256],bname[256],cname[256];

double a_1,a_2,a_3;

GetDlgItemText(hwnd,IDC_EDT1,aname,sizeof(aname)/sizeof(int));

GetDlgItemText(hwnd,IDC_EDT2,bname,sizeof(bname)/sizeof(int));

a_1=atof(aname);

a_2=atof(bname);

a_3=a_1+a_2;

gcvt(a_3,10,cname);

SetDlgItemText(hwnd,IDC_EDT3,cname);

}

break;

case IDC_BTN6: //面积

{

TCHAR dname[256],ename[256],qname[256];

double a_4,a_5,a_9;

GetDlgItemText(hwnd,IDC_EDT4,dname,sizeof(dname)/sizeof(TCHAR));

GetDlgItemText(hwnd,IDC_EDT5,qname,sizeof(qname)/sizeof(TCHAR));

a_4=atoi(dname);

a_9=atoi(qname);

a_5=a_4*3.1415;

gcvt(a_5,10,ename);

SetDlgItemText(hwnd,IDC_EDT6,ename);

}

break;

case IDC_BTN1:  //是否存在d盘

{

int a_6;

char fname[256];

a_6=GetLogicalDrives();

itoa(a_6,fname,2) ;

if((a_6&8)>0)

{

SetDlgItemText(hwnd,IDC_EDT7,TEXT("存在D盘"));

}

else

{

SetDlgItemText(hwnd,IDC_EDT7,TEXT("不存在D盘"));

}

}

break;

case IDC_BTN3:  //响应显示所有盘符

{

int a_7,a_8=0,a_9=0;

char hname[256];

a_7=GetLogicalDrives();

while(a_7!=0)

{

if((a_7&1)==1)

{

hname[a_8]='A'+a_9;

a_8++;

}

a_7=a_7>>1;

a_9++;

}

hname[a_8]='\0';

SetDlgItemText(hwnd,IDC_EDT7,hname);

}

break;

case IDC_BTN4:  // 响应显示磁盘个数

{

int j=0;

int i=GetLogicalDrives();

while(i!=0)

{

if((i&1)==1)

{

j++;

}

i=i>>1;

}

TCHAR k[256];

itoa(j,k,10);

SetDlgItemText(hwnd,IDC_EDT7,k);

}

break;

case IDM_A:  //退出

{

EndDialog(hwnd, 0);

}

break;

case IDM_B:   //打开如鹏网站

{

ShellExecute(hwnd,TEXT("OPEN"),TEXT("www.rupeng.com"),NULL,NULL,SW_NORMAL);

}

break;

default:break;

}

到了这里,关于用c语言编写计算器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android开发:基于Kotlin编写一个简易计算器

    本着程序员“拥抱变化”的思想,最近开始学Kotlin了。感觉还是得通过实战来入门一门新语言,所以打算写一个基于Kotlin语言的计算器,本文对开发过程以及学习Kotlin的一些知识进行了记录。 计算器的全部源码已经放到了我的Github中,需要的伙伴自取:Calculator Kotlin中文站:

    2023年04月27日
    浏览(53)
  • 使用Python编写简单的小程序、成绩计算器

    成绩计算器程序需要两个分数,以百分比表示 - 一个用于项目,一个用于考试。 项目和考试都为最终评估成绩贡献了50%。 程序应从中计算出总体百分比,并使用下表中的数据计算出最终成绩: 例 项目分数 - 78%,考试分数 - 65%。 最终成绩 = 71.5% ((78 + 65)*0.5),最终成绩

    2024年02月11日
    浏览(29)
  • C语言实现贷款计算器

    等额本金,等额本息数学推导:贷款 买房,利息怎么算?不要被忽悠了!李永乐老师讲等额本金和等额本息 一个心血来潮的研究,避免以后买房被坑。 捣鼓了半天才发现原来支付宝的那个利率是年利率不是月利率,坑了我半天。。。 程序输出: 等额本金: 等额本息:

    2024年02月12日
    浏览(36)
  • C语言用函数指针实现计算器

    一、运行结果; 二、源代码;

    2024年01月23日
    浏览(39)
  • 使用C语言构造一个简单计算器

    本节我们用小学生知识来制作一个简单的计算器,可以运算加,减,乘,除,以及余数的运算。 在这节代码中用到switch语句,因为要输入运算符,所以注意%c的对应 接下来上代码: 这里的话我们简单演示一下乘法的运算: 如果用其他的计算符号直接更改即可,这里使用双精

    2024年02月12日
    浏览(43)
  • 房贷计算器微信小程序原生语言

    效果: 输入 300万 结果 还款明细 一共有3个页面 1、输入页面 2、结果页面 3、详情页面 index.wxml文件

    2024年04月28日
    浏览(51)
  • Android开发:kotlin语言实现简易计算器

    输入两个数字,可选加减乘除操作符,并计算显示对应结果 随系统切换语言 可对结果进行四舍五入操作 界面布局:activity_main.xml文件代码 字符定义:string.xml文件代码 逻辑实现:MainActivity.kt 文件代码 方法一(偷懒): 复制文件到对应位置 方法二: 1. 绘制界面 2. 编写逻辑

    2023年04月08日
    浏览(38)
  • (C语言)用函数指针数组实现计算器

    一、运算结果; 二、源代码;

    2024年01月19日
    浏览(34)
  • 模拟计算器编程教程,中文编程开发语言工具编程实例

    模拟计算器编程教程,中文编程开发语言工具编程实例 中文编程系统化教程,不需英语基础。学习链接 ​​​​​​https://edu.csdn.net/course/detail/39036 课程安排:初级1 1  初级概述 2  熟悉构件取值赋值 3 折叠式菜单滑动面板编程 4 自定义图形窗口自定义标题栏编程 5 多行文本

    2024年02月08日
    浏览(55)
  • 一元稀疏多项式简单计算器(C语言)含注释

    问题描述 设计一个一元稀疏多项式简单计算器 基本要求 一元稀疏多项式简单计算器的基本功能是: (1)输入并建立多项式; (2)输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,……,cn,en,其中n是多项式的项数,ci和ei分别是第i项的系数和指数,序列按指数降序排列; (

    2024年02月08日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包