这是自己在学习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. 12. Binary Tree Postorder Traversal && Binary Tree Preorder Traversal

    详见:剑指 Offer 题目汇总索引:第6题 Binary Tree Postorder Traversal            Given a binary tree, return the po ...

  2. Mono addin 学习笔记 4 再论数据扩展点(Data only extension point)

    1. Attribute声明方式 定义扩展属性 [AttributeUsage(AttributeTargets.Assembly, AllowMultiple= true)] public clas ...

  3. (转)MyEclipse自动生成Hibernate实体类, oracle篇

    转自http://blog.csdn.net/hejinwei_1987/article/details/9465529 1.打开 windows -> Open Perspective -&g ...

  4. GLSL语言基础

    from http://www.kankanews.com/ICkengine/archives/120870.shtml 变量 GLSL的变量命名方式与C语言类似.变量的名称可以使用字母,数字以及下 ...

  5. 关于Excel导入导出的用例设计

    目前,为方便操作,很多系统都会增加批量导入导出的功能.文件导入导出一般格式都是excel.由于用户直接在excel在填写内容,无法控制填写的格 式,加上excel解析比较困难,所以一般涉及到excel ...

  6. sed 命令及shell的if语句的运用实例

    if [ -f /etc/syslog.conf ];     #判断文件是否存在thensystest=`sed -n  '/^auth.info/p' /etc/syslog.conf`;    ...

  7. delphi 怎么获取工程版本号

    function GetApplicationVersion:String; // Added 取得程序版本号 var FileName:String; InfoSize,Wnd:DWORD; Ver ...

  8. 百度地图API示例之设置地图最大、最小级别

    代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" cont ...

  9. textContent 与innerText

    转自下面这位大神: http://zhangyaochun.iteye.com/blog/1391370 其实关于这textContent与innerText有很多碎碎的东西,不过个人觉得还是一个不错 ...

  10. javascript的replace+正则 实现ES6的字符串模版

    采用拼接字符串的形式,将 JSON 数据嵌入 HTML 中.开始时代码量较少,暂时还可以接受.但当页面结构复杂起来后,其弱点开始变得无法忍受起来: 书写不连贯.每写一个变量就要断一下,插入一个 + 和 ...