zoukankan      html  css  js  c++  java
  • 用c语言写的简单计算器

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

    最初版本的计算器:

      1 #include<stdio.h>
      2 
      3 int checkPassword();
      4 
      5 int add(int x,int y);
      6 
      7 int sub(int x,int y);
      8 
      9 int multi(int x,int y);
     10 
     11 float quo(float x1,float y1);
     12 
     13 int com(int x,int y);
     14 
     15 int x,y;
     16 
     17 int result;
     18 
     19 int select;
     20 
     21 float result1;
     22 
     23 float x1,y1;
     24 
     25 int success,psw;
     26 
     27 int a;
     28 
     29 int i;
     30 
     31 int t;
     32 
     33  
     34 
     35  
     36 
     37 void main()
     38 
     39 {
     40 
     41          printf("请输入密码:
    ");
     42 
     43          i=0;
     44 
     45          do{
     46 
     47         
     48 
     49                    scanf("%d",&a);
     50 
     51  
     52 
     53                    if( a!=1234  && i<2)
     54 
     55                             printf("请重新输入密码:
    ");
     56 
     57                    else
     58 
     59                             i=3;
     60 
     61                    i++;
     62 
     63 }while( i<=2);
     64 
     65          if(a==1234)
     66 
     67          {
     68 
     69                             for(t=1;t!=6;t=select)
     70 
     71          {
     72 
     73         
     74 
     75         
     76 
     77  
     78 
     79          printf("+=============================+
    ");
     80 
     81          printf("+======计=算=器=主=菜=单======+
    ");
     82 
     83          printf("+=============================+
    ");
     84 
     85          printf("+==========1、  加法==========+
    ");
     86 
     87          printf("+==========2、  减法==========+
    ");
     88 
     89          printf("+==========3、  乘法==========+
    ");
     90 
     91          printf("+==========4、  除法==========+
    ");
     92 
     93          printf("+==========5、  求余==========+
    ");
     94 
     95          printf("+==========6、  退出==========+
    ");
     96 
     97          printf("+=============================+
    ");
     98 
     99  
    100 
    101  
    102 
    103          printf("请输入你的选择:
    ");
    104 
    105          scanf("%d",&select);
    106 
    107  
    108 
    109          switch(select)
    110 
    111          {
    112 
    113         
    114 
    115          case 1:
    116 
    117                    printf("请输入两个数:
    ");
    118 
    119                    scanf("%d%d",&x,&y);
    120 
    121                    result=add(x,y);
    122 
    123                    printf("%d+%d=%d
    ",x,y,result);
    124 
    125                    break;
    126 
    127          case 2:
    128 
    129                    printf("请输入两个数:
    ");
    130 
    131                    scanf("%d%d",&x,&y);
    132 
    133                    result=sub(x,y);
    134 
    135                    printf("%d-%d=%d
    ",x,y,result);
    136 
    137                    break;
    138 
    139          case 3:
    140 
    141                    printf("请输入两个数:
    ");
    142 
    143                    scanf("%d%d",&x,&y);
    144 
    145                    result=multi(x,y);
    146 
    147                    printf("%d*%d=%d
    ",x,y,result);
    148 
    149                    break;
    150 
    151          case 4:
    152 
    153                    printf("请输入两个数:
    ");
    154 
    155                    scanf("%f%f",&x1,&y1);
    156 
    157                    result1=quo(x1,y1);
    158 
    159                    printf("%f/%f=%f
    ",x1,y1,result1);
    160 
    161                    break;
    162 
    163          case 5:
    164 
    165                    printf("请输入两个数:
    ");
    166 
    167                    scanf("%d%d",&x,&y);
    168 
    169                    result=com(x,y);
    170 
    171                    printf("%d/%d=%d
    ",x,y,result);
    172 
    173                    break;
    174 
    175          case 6:
    176 
    177                    break;
    178 
    179          default:
    180 
    181                    printf("请输入1~5之间的数
    ");
    182 
    183                    break;
    184 
    185  
    186 
    187  
    188 
    189          }
    190 
    191          }
    192 
    193          }
    194 
    195 }
    196 
    197 int add(int x,int y)
    198 
    199 {
    200 
    201          int sum;
    202 
    203          sum=x+y;
    204 
    205          return sum;
    206 
    207 }
    208 
    209 int sub(int x,int y)
    210 
    211 {
    212 
    213          int sub;
    214 
    215          sub=x-y;
    216 
    217          return sub;
    218 
    219 }
    220 
    221 int multi(int x,int y)
    222 
    223 {
    224 
    225          int multi;
    226 
    227          multi=x*y;
    228 
    229          return multi;
    230 
    231 }
    232 
    233 float quo(float x,float y)
    234 
    235 {
    236 
    237          float quo;
    238 
    239          quo=x/y;
    240 
    241          return quo;
    242 
    243 }
    244 
    245 int com(int x,int y)
    246 
    247 {
    248 
    249          int com;
    250 
    251          com=x%y;
    252 
    253          return com;
    254 
    255 }
    256 
    257 int checkPassword( int psw)
    258 
    259 {
    260 
    261          if(psw==1234)
    262 
    263                    success=1;
    264 
    265          else
    266 
    267                    success=-1;
    268 
    269          return success;
    270 
    271 }

    改版后的计算器:

      1 #include<stdio.h>
      2 
      3 int yanzheng(int );
      4 
      5 void caidan();
      6 
      7 void jiafa(int,int);
      8 
      9 void jianfa(int,int);
     10 
     11 void chengfa(float,float);
     12 
     13 void chufa(float,float);
     14 
     15 void mo(int,int);
     16 
     17  
     18 
     19 void main(){
     20 
     21          int x,m;
     22 
     23          int y;
     24 
     25          float a,b;
     26 
     27          printf("请输入密码:
    ");
     28 
     29          scanf("%d",&x);
     30 
     31          m=yanzheng(x);
     32 
     33          if(m==1){
     34 
     35                    caidan();
     36 
     37                    //int y;
     38 
     39                    //float a,b;
     40 
     41                    for(;y!=6;){
     42 
     43                    printf("请输入选项:
    ");
     44 
     45                    scanf("%d",&y);
     46 
     47                    if(y>=1 && y<6){
     48 
     49                    printf("请输入要运算的两个数:
    ");
     50 
     51                    scanf("%f%f",&a,&b);
     52 
     53                    }
     54 
     55  
     56 
     57                    switch(y){
     58 
     59                    case 1 :jiafa(a,b);break;
     60 
     61                    case 2 :jianfa(a,b);break;
     62 
     63                    case 3 :chengfa(a,b);break;
     64 
     65                    case 4 :chufa(a,b);break;
     66 
     67                    case 5 :mo(a,b);break;
     68 
     69                    case 6 :break;
     70 
     71                    default : printf("选项输入错误!请重试
    ");break;
     72 
     73                    }
     74 
     75                    }
     76 
     77          }
     78 
     79 }
     80 
     81  
     82 
     83  
     84 
     85 int yanzheng(int x){
     86 
     87          int i,m;
     88 
     89          for(i=1,m=0;i<3;i++){
     90 
     91                    if(x==1234){
     92 
     93                             m=1;
     94 
     95                             break;
     96 
     97                    }
     98 
     99                    printf("请重新出入密码:");
    100 
    101                    scanf("%d",&x);
    102 
    103                   
    104 
    105          }
    106 
    107          return m;
    108 
    109 }
    110 
    111  
    112 
    113 void caidan(){
    114 
    115          printf("+=============================+
    ");
    116 
    117          printf("+======计=算=器=主=菜=单======+
    ");
    118 
    119          printf("+=============================+
    ");
    120 
    121          printf("+==========1、  加法==========+
    ");
    122 
    123          printf("+==========2、  减法==========+
    ");
    124 
    125          printf("+==========3、  乘法==========+
    ");
    126 
    127          printf("+==========4、  除法==========+
    ");
    128 
    129          printf("+==========5、  求余==========+
    ");
    130 
    131          printf("+==========6、  退出==========+
    ");
    132 
    133          printf("+=============================+
    ");
    134 
    135 }
    136 
    137  
    138 
    139 void jiafa(int x,int y){
    140 
    141          int sum;
    142 
    143          sum=x+y;
    144 
    145          printf("%d
    ", sum);
    146 
    147 }
    148 
    149  
    150 
    151 void jianfa(int x,int y){
    152 
    153          int cha;
    154 
    155          cha=x-y;
    156 
    157          printf("%d
    ", cha);
    158 
    159 }
    160 
    161  
    162 
    163 void chengfa(float x,float y){
    164 
    165          float ji;
    166 
    167          ji=x*y;
    168 
    169          printf("%f
    ", ji);
    170 
    171 }
    172 
    173  
    174 
    175 void chufa(float x,float y){
    176 
    177          float shang;
    178 
    179          shang=x/y;
    180 
    181          printf("%f
    ", shang);
    182 
    183 }
    184 
    185  
    186 
    187 void mo(int x,int y){
    188 
    189          int mo;
    190 
    191          mo=x%y;
    192 
    193          printf("%d
    ", mo);
    194 
    195 }
  • 相关阅读:
    hdu1257
    P6198 [EER1]单调栈 题解(分治+构造)
    P3193 [HNOI2008]GT考试 题解(kmp+矩阵快速幂)
    Product of GCDs 题解(欧拉降幂+贡献)
    P2501 [HAOI2006]数字序列 题解(dp+构造)
    欧拉降幂
    I love max and multiply 题解(二进制dp)
    永不言弃 题解(线段树维护hash+二分)
    Problem D. Ice Cream Tower 题解(二分+贪心)
    E. Kefa and Watch 题解(线段树维护hash+循环节结论)
  • 原文地址:https://www.cnblogs.com/yjh123/p/5535971.html
Copyright © 2011-2022 走看看