{"id":18447042,"url":"https://github.com/zhb2000/mycalculator","last_synced_at":"2025-08-10T20:04:44.012Z","repository":{"id":108880712,"uuid":"184447911","full_name":"zhb2000/MyCalculator","owner":"zhb2000","description":"多功能控制台计算器，实现了大数运算、解线性方程组、矩阵运算、算术表达式求值、命题逻辑、进制和编码转换等功能","archived":false,"fork":false,"pushed_at":"2019-06-07T16:57:13.000Z","size":184,"stargazers_count":7,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-15T09:17:12.566Z","etag":null,"topics":["cpp"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zhb2000.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-05-01T16:41:33.000Z","updated_at":"2024-10-31T00:34:33.000Z","dependencies_parsed_at":"2023-03-30T13:50:10.076Z","dependency_job_id":null,"html_url":"https://github.com/zhb2000/MyCalculator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zhb2000/MyCalculator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhb2000%2FMyCalculator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhb2000%2FMyCalculator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhb2000%2FMyCalculator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhb2000%2FMyCalculator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zhb2000","download_url":"https://codeload.github.com/zhb2000/MyCalculator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhb2000%2FMyCalculator/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269780615,"owners_count":24474682,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp"],"created_at":"2024-11-06T07:11:49.268Z","updated_at":"2025-08-10T20:04:43.924Z","avatar_url":"https://github.com/zhb2000.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 多功能计算器——大一下C++大作业\n一个C++控制台程序，实现了一个多功能的计算器\n\nby 朱华彬、马骁、李政民\n\n\n  * [(一)实现的功能](#jump1)\n    + [1. 大数运算](#jump1-1)\n    + [2. 算术表达式求值](#jump1-2)\n    + [3. 解线性方程组](#jump1-3)\n    + [4. 命题逻辑演算](#jump1-4)\n    + [5. 矩阵运算](#jump1-5)\n    + [6. 进制和编码转换](#jump1-6)\n    + [7. 切换配色](#jump1-7)\n  * [(二)项目文件](#jump2)\n    + [头文件](#jump2-1)\n    + [源文件](#jump2-2)\n    + [其他](#jump2-3)\n  * [(三)分工](#jump3)\n\n## (一)实现的功能\u003cspan id=\"jump1\"\u003e\u003c/span\u003e\n### 1. 大数运算\u003cspan id=\"jump1-1\"\u003e\u003c/span\u003e\n实现了一个高精度实数类，可以做大数的加法、减法、乘法、除法、阶乘、幂运算、开n次方、取模、比较大小等运算，并重载了相关的运算符。\n\n可以用int型、double型、string型、char*型的参数来初始化一个大数对象。\n\n### 2. 算术表达式求值\u003cspan id=\"jump1-2\"\u003e\u003c/span\u003e\n输入一个合法的算术表达式，对该表达式求值，并输出结果。\n\n注意：没有语法检查功能，必须保证输入的数学表达式都是合法的。运算结果可能会溢出。\n\n\n支持以下运算符：\n\n| 含义 | 运算符 |\t\t\n| :---: |:--------: |\n| 相加 | +         |\n| 相减、相反数 | - |\n| 相乘 | * |\n| 相除 | / |\n| 乘方 | ^ |\n| 阶乘 | ! |\n| 括号 | ( ) |\n\n### 3. 解线性方程组\u003cspan id=\"jump1-3\"\u003e\u003c/span\u003e\n输入线性方程组的**增广矩阵**，程序会给出方程组的解。矩阵的元素可以以整数、实数、分数的形式输入，如`14`, `-8.93`, `-1/16`\n\n(1)齐次方程组：若只有零解，则将零解打印出来。若有无穷多解，则打印方程组的一个通解。\n\n(2)非齐次方程组：若无解，则告知用户无解。若有唯一解，则打印唯一解。若有无穷多解，则打印方程组的一个通解。\n\n求解结束后，可以选择输出变换后的行简化阶梯阵。\n\n为了使得矩阵中的元素能够以分数的形式表示，写了一个分数类。\n\n### 4. 命题逻辑演算\u003cspan id=\"jump1-4\"\u003e\u003c/span\u003e\n输入一个命题逻辑表达式，程序会给出表达式的真值表、主合取范式、主析取范式。具备语法检查功能，可以检测表达式是否合法。\n\n请使用以下符号输入表达式：\n\n| 含义 | 离散数学符号 | 应当输入的符号 |\t\t\n| :---: | :--------: | :--------: |\n| 否定 | ¬          | !          |\n| 合取 | ∧          | \u0026          |\n| 析取 | ∨          | \\|         |\n| 蕴含 | →          | \u003e         |\n| 等价 | ↔          | ~        |\n\n命题变元用英文字母表示\n\n### 5. 矩阵运算\u003cspan id=\"jump1-5\"\u003e\u003c/span\u003e\n实现了矩阵的加法、减法、乘法、转置、求逆、求行列式等运算。\n矩阵的元素可以以整数、实数、分数的形式输入，如：`14`, `-8.93`, `-1/16`\n\n\n### 6. 进制和编码转换\u003cspan id=\"jump1-6\"\u003e\u003c/span\u003e\n进制转换：实现了二进制、八进制、十进制、十六进制数字的相互转换\n\n编码转换：实现了十进制数和BCD码（8421BCD、5421BCD、2421BCD、余三码）的相互转换\n\n注意：没有做输入检查，请确保输入的数字都是合法的\n\n### 7. 切换配色\u003cspan id=\"jump1-7\"\u003e\u003c/span\u003e\n可以切换控制台窗口的配色方案，默认配色是白底紫字。\n\n## (二)项目文件\u003cspan id=\"jump2\"\u003e\u003c/span\u003e\n### 头文件\u003cspan id=\"jump2-1\"\u003e\u003c/span\u003e\n```\nBigNumber.h 高精度实数类\nBigNumberCalcu.h 调用大数运算的有关函数\nEquation.h 线性方程组\nFraction.h 分数类\nLogicalExpression.h 命题逻辑\nMatrix.h 矩阵类\nNumberTrans.h 进制和编码转换\nOtherMode.h 模式切换\nTheme.h 配色切换\nMathCalculator.h 算术表达式求值\n```\n### 源文件\u003cspan id=\"jump2-2\"\u003e\u003c/span\u003e\n```\nBigNumber.cpp 高精度实数类\nBigNumberCalcu.cpp 调用大数运算的有关函数\nEquation.cpp 线性方程组\nFraction.cpp 分数类\nLogicalExpression.cpp 命题逻辑\nMatrix.cpp 矩阵运算\nNumberTrans.h 进制和编码转换\nOtherMode.cpp 模式切换\nTheme.cpp 配色切换\nMathCalculator.h 算术表达式求值\nmain.cpp 包含main()函数\n```\n\n### 其他\u003cspan id=\"jump2-3\"\u003e\u003c/span\u003e\n```\n测试样例文件夹里放的是一些测试样例\nexe文件夹里放的是编译出来的可执行文件\n```\n\n## (三)分工\u003cspan id=\"jump3\"\u003e\u003c/span\u003e\n- 朱华彬：大数运算、解线性方程组、命题逻辑演算、配色切换、分数类\n- 李政民：算术表达式求解\n- 马骁：矩阵运算、进制和编码转换","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhb2000%2Fmycalculator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzhb2000%2Fmycalculator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhb2000%2Fmycalculator/lists"}