这是自己在学习C语言,凭借自己的兴趣,将课本的知识运用后整理的关于C语言计算器的代码。计算器实现的功能有:加、减、乘、除、求余。功能简单,但对于初学者的我来说能把它写出来,排除每个错误依旧是个难题。前后两种代码是由自己所学东西的质量决定的,如有错误,请前辈指出。

最初版本的计算器:

 #include<stdio.h>

 int checkPassword();

 int add(int x,int y);

 int sub(int x,int y);

 int multi(int x,int y);

 float quo(float x1,float y1);

 int com(int x,int y);

 int x,y;

 int result;

 int select;

 float result1;

 float x1,y1;

 int success,psw;

 int a;

 int i;

 int t;

 void main()

 {

          printf("请输入密码:\n");

          i=;

          do{

                    scanf("%d",&a);

                    if( a!=  && i<)

                             printf("请重新输入密码:\n");

                    else

                             i=;

                    i++;

 }while( i<=);

          if(a==)

          {

                             for(t=;t!=;t=select)

          {

          printf("+=============================+\n");

          printf("+======计=算=器=主=菜=单======+\n");

          printf("+=============================+\n");

          printf("+==========1、  加法==========+\n");

          printf("+==========2、  减法==========+\n");

          printf("+==========3、  乘法==========+\n");

          printf("+==========4、  除法==========+\n");

          printf("+==========5、  求余==========+\n");

          printf("+==========6、  退出==========+\n");

          printf("+=============================+\n");

          printf("请输入你的选择:\n");

          scanf("%d",&select);

          switch(select)

          {

          case :

                    printf("请输入两个数:\n");

                    scanf("%d%d",&x,&y);

                    result=add(x,y);

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

                    break;

          case :

                    printf("请输入两个数:\n");

                    scanf("%d%d",&x,&y);

                    result=sub(x,y);

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

                    break;

          case :

                    printf("请输入两个数:\n");

                    scanf("%d%d",&x,&y);

                    result=multi(x,y);

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

                    break;

          case :

                    printf("请输入两个数:\n");

                    scanf("%f%f",&x1,&y1);

                    result1=quo(x1,y1);

                    printf("%f/%f=%f\n",x1,y1,result1);

                    break;

          case :

                    printf("请输入两个数:\n");

                    scanf("%d%d",&x,&y);

                    result=com(x,y);

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

                    break;

          case :

                    break;

          default:

                    printf("请输入1~5之间的数\n");

                    break;

          }

          }

          }

 }

 int add(int x,int y)

 {

          int sum;

          sum=x+y;

          return sum;

 }

 int sub(int x,int y)

 {

          int sub;

          sub=x-y;

          return sub;

 }

 int multi(int x,int y)

 {

          int multi;

          multi=x*y;

          return multi;

 }

 float quo(float x,float y)

 {

          float quo;

          quo=x/y;

          return quo;

 }

 int com(int x,int y)

 {

          int com;

          com=x%y;

          return com;

 }

 int checkPassword( int psw)

 {

          if(psw==)

                    success=;

          else

                    success=-;

          return success;

 }

改版后的计算器:

 #include<stdio.h>

 int yanzheng(int );

 void caidan();

 void jiafa(int,int);

 void jianfa(int,int);

 void chengfa(float,float);

 void chufa(float,float);

 void mo(int,int);

 void main(){

          int x,m;

          int y;

          float a,b;

          printf("请输入密码:\n");

          scanf("%d",&x);

          m=yanzheng(x);

          if(m==){

                    caidan();

                    //int y;

                    //float a,b;

                    for(;y!=;){

                    printf("请输入选项:\n");

                    scanf("%d",&y);

                    if(y>= && y<){

                    printf("请输入要运算的两个数:\n");

                    scanf("%f%f",&a,&b);

                    }

                    switch(y){

                    case  :jiafa(a,b);break;

                    case  :jianfa(a,b);break;

                    case  :chengfa(a,b);break;

                    case  :chufa(a,b);break;

                    case  :mo(a,b);break;

                    case  :break;

                    default : printf("选项输入错误!请重试\n");break;

                    }

                    }

          }

 }

 int yanzheng(int x){

          int i,m;

          for(i=,m=;i<;i++){

                    if(x==){

                             m=;

                             break;

                    }

                    printf("请重新出入密码:");

                    scanf("%d",&x);

          }

          return m;

 }

 void caidan(){

          printf("+=============================+\n");

          printf("+======计=算=器=主=菜=单======+\n");

          printf("+=============================+\n");

          printf("+==========1、  加法==========+\n");

          printf("+==========2、  减法==========+\n");

          printf("+==========3、  乘法==========+\n");

          printf("+==========4、  除法==========+\n");

          printf("+==========5、  求余==========+\n");

          printf("+==========6、  退出==========+\n");

          printf("+=============================+\n");

 }

 void jiafa(int x,int y){

          int sum;

          sum=x+y;

          printf("%d\n", sum);

 }

 void jianfa(int x,int y){

          int cha;

          cha=x-y;

          printf("%d\n", cha);

 }

 void chengfa(float x,float y){

          float ji;

          ji=x*y;

          printf("%f\n", ji);

 }

 void chufa(float x,float y){

          float shang;

          shang=x/y;

          printf("%f\n", shang);

 }

 void mo(int x,int y){

          int mo;

          mo=x%y;

          printf("%d\n", mo);

 }

用c语言写的简单计算器的更多相关文章

  1. 【阿菜做实践】利用go语言写一个简单的Pow样例

    本篇博客的主要内容是用go写一个简单的Proof-of-Work共识机制,不涉及到网络通信环节,只是一个本地的简单demo.开发IDE用的是JB Golang. 整个项目的文件结构如下: PoWdem ...

  2. 用python语言写一个简单的计算器

    假如我们有这样一个式子: 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2 ...

  3. 初学socket,c语言写的简单局域网聊天

    在客户端所在的目录新建一个IP.bwj的文件,写上服务端的IP,不要带空格,保存.双方都打开一个客户端和一个服务端就可以聊天了,(可以写自己的IP,自己跟自己聊..)没有第三方服务器,服务端所在的电脑 ...

  4. 用Go语言实现一个简单的聊天机器人

    一.介绍 目的:使用Go语言写一个简单的聊天机器人,复习整合Go语言的语法和基础知识. 软件环境:Go1.9,Goland 2018.1.5. 二.回顾 Go语言基本构成要素:标识符.关键字.字面量. ...

  5. C语言实现简单计算器小项目

    昨天刚安装上devc++,半夜想着练练C语言吧 于是就看到实验楼有一个计算器的项目 之前做过一次,这次写的主要是思路 首先我们先从原理思考jia,实现简单的计算器就要具备加减乘除这些,看普通的计算器也 ...

  6. 留念 C语言第一课简单的计算器制作

    留念 C语言第一课简单的计算器制作 学C语言这么久了.  /* 留念 C语言第一课简单的计算器制作 */   #include<stdio.h>  #include<stdlib.h ...

  7. 李洪强漫谈iOS开发[C语言-042]-简单计算器

    李洪强漫谈iOS开发[C语言-042]-简单计算器

  8. C 语言实例 - 实现简单的计算器

    C 语言实例 - 实现简单的计算器 实现加减乘除计算. 实例 # include <stdio.h> int main() { char operator; double firstNum ...

  9. C语言,简单计算器【上】

    由于工作需要最近在研究PHP扩展,无可避免的涉及到了C语言.从出了学校以后C语言在实际工作中还没有用到过,所以必须要先进行一点复习工作.个人认为对于熟悉一样东西说最好的方法是上手实践.于是便想起了当时 ...

随机推荐

  1. win7安装xampp,提示windows找不到-n文件(安装成功后,443端口占用,apache服务器无法正常启动)

    1. 环境:win7 64位安装xampp 32位. xampp下载地址:https://www.apachefriends.org/download.html 2. 安装过程最后,报错,提示wind ...

  2. Objective-C中的@property和@synthesize用法

    @代表“Objective-C”的标志,证明您正在使用Objective-C语言 Objective-C语言关键词,@property与@synthesize配对使用. 功能:让编译好器自动编写一个与 ...

  3. 【VB.NET】类绑定控件,实现文本框快捷键全选

    Public Class KeyBinder Public Sub BindControl(ByRef CControl As TextBox) AddHandler CControl.KeyDown ...

  4. simulate windows touch input

    更多信息请参考页面http://social.technet.microsoft.com/wiki/contents/articles/6460.simulating-touch-input-in-w ...

  5. 关于 presentViewController 时机

    类似微信.QQ这些应用如果用户没有登录,会弹出登录界面,如果 presentViewController 是写在  viewDidAppear 之前,会有警告 Presenting view cont ...

  6. 0601 Spring2.0 发布会

    ProductBacklog:继续向下细化; 1.界面美化,统一界面风格,以简洁美观为主: 2.丰富版面的内容,吸引用户: 3.尝试增加新的版面: Sprint 计划会议:确定此次冲刺要完成的目标 1 ...

  7. python代码中指定时区获取时间方法

    os.environ['TZ'] = 'Asia/Shanghai' os.environ['TZ'] = 'Europe/London' hour_cur = time.strftime('%H')

  8. C++ 类里面,函数占用存储空间问题

    转载自:http://blog.163.com/xping_lsr/blog/static/19654034520119804131721/ 先看两段代码: 代码段1:class A{public:i ...

  9. 通过WinForm控件创建的WPF控件无法输入的问题

    今天把写的一个WPF程序发布到别的机器上执行,发现一个比较奇怪的问题:在那个机器上用英文输入法无法输入数字,非要切换到中文输入法才行:但在我的机器上却是好好的. 最开始以为是输入法的问题,弄了好一阵子 ...

  10. iptables转发

    需求 将流入服务器的公网IP的80端口的流量全部转发到另一个公网IP(1.2.3.4)的80端口上. 操作 iptables -P FORWARD ACCEPT iptables -t nat -A ...