这是自己在学习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. inline-block和block的区别

    <html> <head> <style> body,ul,li,span{padding:0px;margin:0px;} </style> < ...

  2. ORA-27092: size of file exceeds file size limit of the process

    停数据库时遇到下述问题: $ ./addbctl.sh stop You are running addbctl.sh version 120.1 Shutting down database UAT ...

  3. SmartWiki文档在线管理系统简介

    简介 SmartWiki是一款针对IT团队开发的简单好用的文档管理系统.可以用来储存日常接口文档,数据库字典,手册说明等文档.内置项目管理,用户管理,权限管理等功能,能够满足大部分中小团队的文档管理需 ...

  4. MFCButton Memory leak(内存泄露问题)

    http://m.blog.csdn.net/blog/haoekin/8851219 1.无法显示右边箭头的问题 无论怎么折腾都没显示不出来,微软给的示例又能显示,度娘和谷歌也都不知道,经过不断地探 ...

  5. java中的类型比较

    Java 里的既可以比较基本类型也可以比较引用类型. 对于基本类型,Java 的==比较值比较 对于引用类型,Java 的==比较了引用的是否为同一个对象(比较内存地址), 也就是说这两个变量是否都指 ...

  6. mac上抓iphone数据包

    iOS 5后,apple引入了RVI remote virtual interface的特性,它只需要将iOS设备使用USB数据线连接到mac上,然后使用rvictl工具以iOS设备的UDID为参数在 ...

  7. FORM触发器执行顺序

    触发器执行顺序: 1. 当打开FORM时: (1) PRE-FORM (2) PRE-BLOCK(BLOCK级) (3) WHEN-NEW-FORM-INSTANCE (4) WHEN-NEW-BLO ...

  8. 第一零四天上课 PHP TP框架下的文件上传

    控制器代码(TestController.class.php) <?php namespace Home\Controller; use Home\Controller\EmptyControl ...

  9. html a tag's href javascript issue

    a标签的href中写js中遇到的问题(ie中有问题,chrome没问题) <a class="free" href="javascript:{$('#suiteTy ...

  10. jQuery之ajax的跨域获取数据

    如果获取的数据文件存放在远程服务器上(域名不同,也就是跨域获取数据),则需要使用jsonp类型.使用这种类型的话,会创建一个查询字符串参数 callback=? ,这个参数会加在请求的URL后面.服务 ...