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

改版后的计算器:

  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. void main(){
  18.  
  19. int x,m;
  20.  
  21. int y;
  22.  
  23. float a,b;
  24.  
  25. printf("请输入密码:\n");
  26.  
  27. scanf("%d",&x);
  28.  
  29. m=yanzheng(x);
  30.  
  31. if(m==){
  32.  
  33. caidan();
  34.  
  35. //int y;
  36.  
  37. //float a,b;
  38.  
  39. for(;y!=;){
  40.  
  41. printf("请输入选项:\n");
  42.  
  43. scanf("%d",&y);
  44.  
  45. if(y>= && y<){
  46.  
  47. printf("请输入要运算的两个数:\n");
  48.  
  49. scanf("%f%f",&a,&b);
  50.  
  51. }
  52.  
  53. switch(y){
  54.  
  55. case :jiafa(a,b);break;
  56.  
  57. case :jianfa(a,b);break;
  58.  
  59. case :chengfa(a,b);break;
  60.  
  61. case :chufa(a,b);break;
  62.  
  63. case :mo(a,b);break;
  64.  
  65. case :break;
  66.  
  67. default : printf("选项输入错误!请重试\n");break;
  68.  
  69. }
  70.  
  71. }
  72.  
  73. }
  74.  
  75. }
  76.  
  77. int yanzheng(int x){
  78.  
  79. int i,m;
  80.  
  81. for(i=,m=;i<;i++){
  82.  
  83. if(x==){
  84.  
  85. m=;
  86.  
  87. break;
  88.  
  89. }
  90.  
  91. printf("请重新出入密码:");
  92.  
  93. scanf("%d",&x);
  94.  
  95. }
  96.  
  97. return m;
  98.  
  99. }
  100.  
  101. void caidan(){
  102.  
  103. printf("+=============================+\n");
  104.  
  105. printf("+======计=算=器=主=菜=单======+\n");
  106.  
  107. printf("+=============================+\n");
  108.  
  109. printf("+==========1、 加法==========+\n");
  110.  
  111. printf("+==========2、 减法==========+\n");
  112.  
  113. printf("+==========3、 乘法==========+\n");
  114.  
  115. printf("+==========4、 除法==========+\n");
  116.  
  117. printf("+==========5、 求余==========+\n");
  118.  
  119. printf("+==========6、 退出==========+\n");
  120.  
  121. printf("+=============================+\n");
  122.  
  123. }
  124.  
  125. void jiafa(int x,int y){
  126.  
  127. int sum;
  128.  
  129. sum=x+y;
  130.  
  131. printf("%d\n", sum);
  132.  
  133. }
  134.  
  135. void jianfa(int x,int y){
  136.  
  137. int cha;
  138.  
  139. cha=x-y;
  140.  
  141. printf("%d\n", cha);
  142.  
  143. }
  144.  
  145. void chengfa(float x,float y){
  146.  
  147. float ji;
  148.  
  149. ji=x*y;
  150.  
  151. printf("%f\n", ji);
  152.  
  153. }
  154.  
  155. void chufa(float x,float y){
  156.  
  157. float shang;
  158.  
  159. shang=x/y;
  160.  
  161. printf("%f\n", shang);
  162.  
  163. }
  164.  
  165. void mo(int x,int y){
  166.  
  167. int mo;
  168.  
  169. mo=x%y;
  170.  
  171. printf("%d\n", mo);
  172.  
  173. }

用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. PNG图片压缩工具

    https://tinypng.com/ 效果非常不错. 340k的图能压缩到140k左右. 视觉效果差距不大

  2. QQ粘性布局

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  3. 基于综合服务平台浅谈Sass应用

    一.       前言 CSS不是一种编程语言,只是单纯的一行行的描述,没有逻辑没有变量,因此写CSS对于习惯于运用逻辑思维编码的程序员来说是一件很头疼的事.于是勤奋的程序员就开始运转他们敏捷的大脑, ...

  4. Tomcat从内存、并发、缓存方面优化方法

    Tomcat有很多方面,从内存.并发.缓存四个方面介绍优化方法.   一.Tomcat内存优化 Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 cata ...

  5. mssql 动态行转列。

    )) ,'张三' ,'李四' ,'王五' select * from #a a b ----------- ---- 张三 李四 王五 ( 行受影响) --行转列,步骤:''+张三+],[+王五+], ...

  6. 转:Delphi各种Socket组件的模式和模型

    Delphi的大多数书籍里面都没有提到delphi的各种socket通信组件的模式和模型,有的书只讲解了windows的socket模式和模型,并没有归纳各种组件采用的模型,所以我们的程序员并不知道如 ...

  7. C#修改文件夹权限

    using System;using System.Collections.Generic;using System.Linq;using System.Text; using System.Dire ...

  8. 误将文件push到Git,如何删除

    首先在本地删除多余文件夹(文件) 使用git add -u  git add -u,使用-u参数调用了git add命令,会将本地有改动(包括删除和修改)的已经追踪的文件标记到暂存区中.    再co ...

  9. Maven学习总结(二)——Maven项目构建过程练习

    上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项目的过程 一.创建Maven项目 1.1.建立Hello项目 1.首先建立Hello项目,同时建立M ...

  10. 排序算法 2 qsort 库函数,泛型函数

    _____谈谈排序算法 交换排序——>冒泡排序-->快速排序 选择排序——>简单选择排序——>堆排序 插入排序——>直接插入排序——>希尔排序 _____排序算法对 ...