这是自己在学习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. zen coding和emmet

    zen coding 改名为 emmet http://emmet.io/download/

  2. iOS 获取文件的目录路径的几种方法 [转]

    iOS 获取文件的目录路径的几种方法 2 years ago davidzhang iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. d ...

  3. lua中的协程

    lua中的协程和线程类似: 1. 协程拥有自己的独立的栈,局部变量,和指令: 2. 所有协程都可以共享全局变量: 3. 协程不能像线程那样并行执行,协程之间需要相互协调执行,同一个时刻只能运行一个协程 ...

  4. lintcode-【简单题】快乐数

    题目: 写一个算法来判断一个数是不是"快乐数". 一个数是不是快乐是这么定义的:对于一个正整数,每一次将该数替换为他每个位置上的数字的平方和,然后重复这个过程直到这个数变为1,或是 ...

  5. UITaleView的基础使用及数据展示操作

    UITableView表视图,是实用的数据展示的基础控件,是继承于UIScrollView,所以也可以滚动.但不同于UIScrollView,UITableView只可以上下滚动,而不能左右滚动. 因 ...

  6. Maven pom.xml中添加指定的中央仓库

    中央仓库就是Maven的一个默认的远程仓库,Maven的安装文件中自带了中央仓库的配置($M2_HOME/lib/maven-model-builder.jar) 在很多情况下,默认的中央仓库无法满足 ...

  7. singleTask, singleInstance使用心得

    1. singleTask, singleInstance 共同点: 1)  一旦入栈,都为于栈底. 2) 全栈有且只有一个activity实例对象. 2. singleTask, singleIns ...

  8. Scrum 项目——1

    广商检索页面 1) N (Need 需求) 这个页面会按一定的规律来集合广商的一些资源,包括微信公众号.教务系统登录处.宿舍报修等,是为了方便我们整个广商的学生和老师来运用.因为现在虽然有很多微信公众 ...

  9. 种类并查集(POJ 1703)

    1703 -- Find them, Catch them http://poj.org/problem?id=1703 题目大意:有2个敌对帮派,输入D a b表示a,b在不同帮派,输入A a b表 ...

  10. linux(debian)下邮件发送

    关键字: exim4  mutt  smtp 主要的事情就是配置exim4,按照网上的流程来.在这里总结一下: 需要修改的文件有三个:/etc/exim4/update-exim4.conf.conf ...