黑马程序员技术交流社区

标题: 用switch实现计算器功能,直接输入运算符,教学实例优化版 [打印本页]

作者: 李言    时间: 2015-6-18 20:59
标题: 用switch实现计算器功能,直接输入运算符,教学实例优化版
用switch实现计算器功能,因为switch不能判断非整型,所以视频里如意大师为了教学好理解用数字代替运算符,小弟试着用优化一下,不用数字代替,直接输入运算符进行计算
//
//  main.c
//  练习
//
//  Created by 李言 on 15/6/18.
//  Copyright (c) 2015年 ly. All rights reserved.
//
#include <stdio.h>
//要求:用switch写个个简单的计算器程序;输入数字1,输入运算符,再输入数字2,显示结果
//重点是switch不能判断非整型,可以将变量转换成ass码
int main() {
//    定义要输入的数字和运算符
    int num1, num2;
    char yunXuanFu;
    printf("输入计算表达式:\n");
    scanf("%d", &num1);
    scanf("%c", &yunXuanFu);
    scanf("%d", &num2);
//    将运算符转换成整形(ass码)
    int a = (int)yunXuanFu;
//    判断运算符
    switch(a){
        case '+':
            printf("=%d", num1+num2);
            break;
        case '-':
            printf("=%d", num1-num2);
            break;
        case '*':
            printf("=%d", num1*num2);
            break;
        case '/':
            printf("=%.2f", (double)num1/num2);
            break;
        case '%':
            printf("=%d", num1%num2);
            break;
        default :
            printf("计算器暂不支持该运算\n");
    }
    return 0;
}
作者: 弹剑    时间: 2015-6-18 22:28
外面也有位同学优化了这段代码,楼主可以去找找看,两相比较下。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2