这是自己在学习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. [ActionScript 3.0] AS3.0 烟雾粒子效果

    package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Sprite; ...

  2. Linux卷配置管理

    [root@linux ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/sda3 19G 11G 6.5G 63% /tmpfs 995 ...

  3. 微信订阅号里实现oauth授权登录,并获取用户信息 (完整篇)

    摘要 这段时间一直有人问我,订阅号实现的oauth授权登录的问题,之前写的比较简单,很多人不明白.众所周知,微信公众号分订阅号.服务号.企业号:每个号的用途不一样,接口开放程度也不一样.微信还有个扯淡 ...

  4. apache2 tomcat https配置-被忽悠进了CentOS 6

    因为需要让ios应用可以绕过appstore,要找个https的地方放ipa,决定使用已有http server. 首先需要说明的是,apache可以通过反向代理方式将用户的https分发到tomca ...

  5. C++——CString用法大全

    列表形式的如下: CString的构造函数CString( );例:CString csStr; CString( const CString& stringSrc );例:CString c ...

  6. 稍览了一下CommonJS

    CommonJS是服务器端模块的规范,现在炒得很火的Node.js采用了这个规范. 根据CommonJS规范,一个单独的文件就是一个模块.加载模块使用require方法,该方法读取一个文件并执行,最后 ...

  7. 后一个div无法遮挡住前一个有img的div

    这个标题实在是我无奈之下才取出来的,毕竟我文采有限~ 今天我遇到的一个eggpain的问题: 前提:当页面上有两个没有background的div,大小一样,绝对定位在同一个地方(让第二个遮挡住第一个 ...

  8. Android IOS WebRTC 音视频开发总结(六七)-- 在线教育虽火要做好其实不容易

    本文主要介绍在线教育这个行业,文章最早发表在我们的微信公众号上,支持原创,详见这里, 欢迎关注微信公众号blackerteam,更多详见www.rtc.help 最近很多朋友在咨询在线教育的事(其实之 ...

  9. MsSqlServer 复制分发概述

    Replication方案可以分为Snapshot Replication, Transactional Replication, Peer-2-Peer Replication, Merge Rep ...

  10. js加载顺序

    在jsp页面中引js文件,页面按照js顺序加载,若js中存在相同的方法,应该会执行顺序在前的js中的方法.有时候遇到js方法不执行或者执行不对的情况,可能就是js的顺序问题,有时候会找很久找不到问题. ...