下面是是一个比较复杂的类。

定义一个四则运算计算器Caculator的接口和实现。

在main函数中,让用户输入四则运算表达式,比如a+b,a-b。

最后,在控制台输出结果。

用到的语法:接口、类的定义,实例方法,switch-case语句。

/

/
// main.m
// switch-case
//
// Created by fansunion on 15/11/15.
// Copyright (c) 2015年 demo. All rights reserved.
// #import <Foundation/Foundation.h> @interface Caculator : NSObject
-(void)setValue:(double)value;
-(double)getResult; -(void)add:(double)value;
-(void)sub:(double)value;
-(void)multiply:(double)value;
-(void)divide:(double)value; @end @implementation Caculator {
double value;
} -(void)setValue:(double)v{
value=v;
} -(void)add:(double)v{
value+=v;
} -(void)sub:(double)v{
value-=v;
}
-(void)multiply:(double)v{
value*=v;
}
-(void)divide:(double)v{
value/= v;
}
-(double)getResult{
return value;
} @end
int main(int argc, const char * argv[]) {
@autoreleasepool {
double value = 0;
double v=0;
char operator;
Caculator *caculator =[[Caculator alloc]init];
NSLog(@"请输入表达式!");
scanf("%lf %c %lf",&value,&operator,&v);
[caculator setValue:value];
switch(operator){
case '+':
[caculator add:v];
break;
case '-':
[caculator sub:v];
break;
case '*':
[caculator multiply:v];
break;
case '/':
[caculator divide:v];
break;
default:
NSLog(@"未知的操作符");
break;
}
NSLog(@"%.2f",[caculator getResult]);
}
return 0;
}

加法,2015+2014=4029

2015-11-15 17:23:13.722 switch-case[1684:89106] 请输入表达式!

2015+2014

2015-11-15 17:23:21.586 switch-case[1684:89106] 4029.00

Program ended with exit code: 0

减法,2015-2020=-5

2015-11-15 17:23:44.579 switch-case[1688:89497] 请输入表达式!

2015-2020

2015-11-15 17:23:55.500 switch-case[1688:89497] -5.00

Program ended with exit code: 0

乘法,2015*10=20150

2015-11-15 17:24:35.764 switch-case[1692:89985] 请输入表达式!

2015*10

2015-11-15 17:24:45.414 switch-case[1692:89985] 20150.00

Program ended with exit code: 0

除法,2015/10=201.5

2015-11-15 17:24:58.379 switch-case[1696:90264] 请输入表达式!

2015/10

2015-11-15 17:25:10.669 switch-case[1696:90264] 201.50

Program ended with exit code: 0

学习这个例子,感觉瞬间回到了2008年上半学年,大一上学期~

Object-C,四则运算计算器的更多相关文章

  1. 利用ANTLR4实现一个简单的四则运算计算器

    利用ANTLR4实现一个简单的四则运算计算器 ANTLR4介绍 ANTLR能够自动地帮助你完成词法分析和语法分析的工作, 免去了手写去写词法分析器和语法分析器的麻烦 它是基于LL(k)的, 以递归下降 ...

  2. java 24 - 8 GUI之创建四则运算计算器(未校验版)

    这个是用NetBeans软件制作的,因为这个软件制作GUI任务比较方便 通过拖拽控件生成的窗体:(红色的名称是更改后的控件名称) 拉拽好布局后,要进行的步骤: A:更改想要进行操作的控件的名称(右键控 ...

  3. 深入浅出数据结构C语言版(8)——后缀表达式、栈与四则运算计算器

    在深入浅出数据结构(7)的末尾,我们提到了栈可以用于实现计算器,并且我们给出了存储表达式的数据结构(结构体及该结构体组成的数组),如下: //SIZE用于多个场合,如栈的大小.表达式数组的大小 #de ...

  4. php实现一个简单的四则运算计算器

    php实现一个简单的四则运算计算器(还不支持括号的优先级).利用栈这种数据结构来计算表达式很赞. 这里可以使用栈的结构,由于php的数组“天然”就有栈的特性,这里直接就利用了数组.当然可以使用栈结构写 ...

  5. 【实践】js实现简易的四则运算计算器

    最近看了一个大神推荐的某公司面试程序员的js 面试题,题目是用js 做一个计算器于是跟着大神的思想自己做了一下 ps:功能还没有完善好毕竟自己还是一只菜鸟还在不断学习中. 闲话不多说先上css代码 & ...

  6. mfc基于对话框的简单四则运算计算器

    1.①创建mfc对话框窗口,对话框中所有控件都delete. ②绘制界面,按键都button,显示区域edit control,计算器名字用static text. ③所有控件ID改成语义化ID(可不 ...

  7. MIPS汇编程序设计——四则运算计算器

    实验目的 运用简单的MIPS实现一个能够整数加减乘除的计算器,同时使自己更加熟悉这些指令吧 MIPS代码 #sample example 'a small calculater’ # data sec ...

  8. C# 写的正整数四则运算计算器

    实际上没能做出来负数.括号.小数的功能,才写这么个标题 大神直接略过,也欢迎指指点点-.- 输入一个四则运算表达式,计算出结果,想想不难,实现起来也不是很容易的. 流程:1.for循环输入的四则运算字 ...

  9. 使用13行Python代码实现四则运算计算器函数

    原创的刷新行数记录的代码!!! 支持带小括号,支持多个连续+-号,如-7.9/(-1.2-++--99.3/-4.44)*---(2998.654+-+-+-(+1.3-7.654/(-1.36-99 ...

随机推荐

  1. 电信流氓注入JS

    (function () { var cs_url = _pushshowjs_.url, cs_delay = window.cs_delay; var cs_styles = window.sty ...

  2. MyBatis数据持久化(七)多表连接查询

    本节继续以多表连接查询的案例介绍使用resultMap的好处,对于两张以上的表进行关联查询,当我们有选择的从不同表查询所需字段时,使用resultMap是相当方便的.例如我们有两张表,分别为用户表Us ...

  3. Enable .Net 4.5 in IIS on Windows 8.1

    Setting up a new development box for myself I had forgotten all about the necessity to use theaspnet ...

  4. 【原创】如何使用一句SQL计算工作日天数?

    现在有这样一个需求,要求计算两个日期间的工作日天数,要求除去节假日,其中节假日有一张配置表,具体的格式如下: 开始日期 结束日期 节假日类型 节假日名称 2013-08-10 2013-08-12   ...

  5. java 获取config 配置文件

    static ResourceBundle PropertiesUtil = ResourceBundle.getBundle("config"); public static S ...

  6. LINUX 中 python 版本升级

    首先下载源tar包 可利用linux自带下载工具wget下载,如下所示: 1 # wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tg ...

  7. 洛谷 P1169 [ZJOI2007]棋盘制作 (悬线法)

    和玉蟾宫很像,条件改成不相等就行了. 悬线法题目 洛谷 P1169  p4147  p2701  p1387 #include<cstdio> #include<algorithm& ...

  8. 紫书 例题 11-5 UVa 10048 (Floyd求最大权值最小的路径)

    这道题是Floyd的变形 改成d[i][j] = min(d[i][j], max(d[i][k], d[k][j]))就好了. #include<cstdio> #include< ...

  9. Spring 整合Shiro:记住我

    1.登录方法 /** * 执行登录操作 * * @param username * @param password * @param rememberMe * @param model * @retu ...

  10. LaTeX argmin argmax 下标使用方法

    本系列文章由 @YhL_Leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50036001 LaTeX中,使用arg ...