用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;
} |
|