本篇通过仓颉编程语言实现一个简单的计算器应用,支持加法、减法、乘法和除法四种基本运算。用户可通过交互式输入完成运算并实时查看结果。
关键词
- 仓颉编程语言
- 输入与输出
- 条件语句
- 算术运算
一、功能说明
开发目标:
- 用户输入两个数字。
- 用户选择一个运算符(+、-、*、/)。
- 程序根据输入执行运算,并输出结果。
- 支持基本错误处理(如除数为零)。
- 增加运行结果的直接展示,提升用户体验。
二、代码实现
2.1 定义变量与获取用户输入
通过输入函数 readInt
和 readString
读取用户的操作数与运算符。
/* 文件名:54-1.cj */
package cjcDemo
import std.convert.* // 数据转换模块
import std.console.* // 控制台模块
// 读取整数输入
func readInt(): Int64 {
let number: Int64 = Int64.parse(Console.stdIn.readln().getOrThrow())
return number
}
// 读取字符串输入
func readString(): String {
let str1: String = Console.stdIn.readln().getOrThrow()
return str1
}
// 主函数
main(): Int64 {
// 定义变量
var num1: Int64 = 0 // 第一个操作数
var num2: Int64 = 0 // 第二个操作数
var operation: String = "" // 运算符
// 获取用户输入
println("请输入第一个数字:")
num1 = readInt()
println("请输入第二个数字:")
num2 = readInt()
println("请输入操作符 (+, -, *, /):")
operation = readString()
// 调用运算函数并打印结果
calculateAndPrintResult(num1, num2, operation)
return 0
}
2.2 运算逻辑与结果输出
根据运算符和操作数进行计算,并实时输出结果。
/* 继续:54-1.cj */
// 计算并输出结果
func calculateAndPrintResult(num1: Int64, num2: Int64, operation: String) {
if (operation == "+") {
println("结果: ${num1 + num2}")
} else if (operation == "-") {
println("结果: ${num1 - num2}")
} else if (operation == "*") {
println("结果: ${num1 * num2}")
} else if (operation == "/") {
if (num2 != 0) {
println("结果: ${num1 / num2}")
} else {
println("错误:除数不能为零")
}
} else {
println("无效的操作符,请输入 +, -, *, 或 /")
}
}
2.3 程序运行结果
效果示例
输入:
请输入第一个数字: 10 请输入第二个数字: 5 请输入操作符 (+, -, *, /): +
输出:
结果: 15
输入:
请输入第一个数字: 8 请输入第二个数字: 0 请输入操作符 (+, -, *, /): /
输出:
错误:除数不能为零
三、代码解读
- 输入部分:
readInt
和readString
函数分别用于读取整数和字符串输入。 - 条件判断:使用
if-else
实现对运算符的逻辑判断。 - 结果输出:通过
println
实时显示计算结果或错误提示。 - 功能分离:将核心运算逻辑封装至
calculateAndPrintResult
函数,提高代码复用性和可读性。
四、相关知识点
- 仓颉编程语言基本语法:详见 「Mac玩转仓颉内测版3」入门篇3 - Cangjie的基本语法与结构
- 变量与命名规则:详见 「Mac玩转仓颉内测版4」入门篇4 - Cangjie变量命名规则
- 控制结构:详见 「Mac玩转仓颉内测版5」入门篇5 - Cangjie控制结构(上)
小结
本篇教程实现了一个交互式计算器,主要功能包括:
- 用户输入与输出的完整流程。
- 条件语句判断与运算符处理。
- 实时显示运算结果,优化了交互体验。
- 错误检查机制提高了程序健壮性。