当前位置: 首页 > news >正文

c语言多功能计算软件170

定制魏:QTWZPW,获取更多源码等

目录

题目

要求

主要代码片段


题目

设计一个计算器软件,具备如下功能提示界面。

要求

  1. 设计出界面,注意界面名称最后为自己的姓名;(20分)
  2. 能够实现加、减、乘、除功能;(40分)
  3. 能够将十进制转换成相应的二级制、八进制、十六进制数(20分)

      4. 能够求解一元二次方程。(20分)

主要代码片段

#include <stdio.h>       // 包含标准输入输出库
#include <math.h>        // 包含数学函数库
#include <stdlib.h>      // 包含标准库函数long decimalToBinary(long decimalNum);      // 声明十进制转二进制函数
long decimalToOctal(long decimalNum);       // 声明十进制转八进制函数
char* decimalToHex(long decimalNum);        // 声明十进制转十六进制函数int main() {                                // 主函数开始int choice;                             // 定义选项变量double num1, num2, result;              // 定义输入数和结果变量while (1) {                             // 进入无限循环printf("|-------------------------------|\n");   // 打印菜单printf("|请选择你要的计算方法:         |\n");printf("|-------------------------------|\n");printf("|加法请按_1   进制转换_5        |\n");printf("|减法请按_2   求一元二次方程_6  |\n");printf("|乘法请按_3                     |\n");        printf("|除法请按_4     退出_0          |\n");              printf("|-------------------------------|\n");printf("Please write down the number:    \n");   // 提示用户输入选项scanf("%d", &choice);                           // 读取用户选项if (choice == 0) {                              // 如果选择退出printf("感谢使用!\n");                      // 打印退出信息break;                                      // 跳出循环}switch (choice) {                               // 根据选项进行操作case 1:                                     // 加法printf("请输入两个数:\n");              // 提示用户输入两个数scanf("%lf %lf", &num1, &num2);         // 读取两个数result = num1 + num2;                   // 计算结果printf("结果为:%lf\n", result);         // 打印结果break;                                  // 结束本次操作case 2:                                     // 减法printf("请输入两个数:\n");              // 提示用户输入两个数scanf("%lf %lf", &num1, &num2);         // 读取两个数result = num1 - num2;                   // 计算结果printf("结果为:%lf\n", result);         // 打印结果break;                                  // 结束本次操作case 3:                                     // 乘法printf("请输入两个数:\n");              // 提示用户输入两个数scanf("%lf %lf", &num1, &num2);         // 读取两个数result = num1 * num2;                   // 计算结果printf("结果为:%lf\n", result);         // 打印结果break;                                  // 结束本次操作case 4:                                     // 除法printf("请输入两个数:\n");              // 提示用户输入两个数scanf("%lf %lf", &num1, &num2);         // 读取两个数if (num2 != 0) {                        // 检查除数是否为0result = num1 / num2;               // 计算结果printf("结果为:%lf\n", result);     // 打印结果} else {printf("除数不能为0!\n");           // 若除数为0,打印错误信息}break;                                  // 结束本次操作case 5:                                     // 进制转换printf("请输入一个十进制数:\n");        // 提示用户输入十进制数scanf("%lf", &num1);                    // 读取十进制数printf("转换的进制(2/8/16):\n");     // 提示用户选择转换进制scanf("%d", &choice);                   // 读取用户选择switch (choice) {                       // 根据选择进行转换case 2:                             // 二进制printf("结果为:%ld\n", decimalToBinary((long)num1));  // 打印结果break;                                                // 结束本次操作case 8:                             // 八进制printf("结果为:%ld\n", decimalToOctal((long)num1));   // 打印结果break;                                                // 结束本次操作case 16:                            // 十六进制printf("结果为:%s\n", decimalToHex((long)num1));      // 打印结果break;                                                // 结束本次操作default:                            // 其他情况printf("无效的选择!\n");                               // 打印错误信息}break;                                  // 结束本次操作case 6:                                     // 求一元二次方程printf("请输入一元二次方程的三个系数(a, b, c):\n");   // 提示用户输入系数scanf("%lf %lf %lf", &num1, &num2, &result);            // 读取系数if (num1 == 0) {                        // 检查是否为一元二次方程printf("不是一元二次方程!\n");       // 若不是,打印错误信息} else {double delta = num2 * num2 - 4 * num1 * result;      // 计算判别式if (delta > 0) {                    // 判别式大于0double x1 = (-num2 + sqrt(delta)) / (2 * num1);   // 计算第一个根double x2 = (-num2 - sqrt(delta)) / (2 * num1);   // 计算第二个根printf("方程的根为:%lf, %lf\n", x1, x2);          // 打印结果} else if (delta == 0) {            // 判别式等于0double x = -num2 / (2 * num1);   // 计算唯一根printf("方程的根为:%lf\n", x);  // 打印结果} else {printf("方程无实数根!\n");      // 判别式小于0,打印错误信息}}break;                                  // 结束本次操作default:                                    // 无效选项printf("无效的选择!\n");                 // 打印错误信息}}return 0;       // 返回主函数
}

http://www.lryc.cn/news/337866.html

相关文章:

  • python图形化展示数据:保存为图片后查看
  • PostgreSQL入门到实战-第二十四弹
  • Spring Boot 统一功能处理(二)
  • Flutter开发基础之动画专题
  • PHP 图片裁剪类封装
  • Android 14.0 SystemUI修改状态栏电池图标样式为横屏显示
  • FPGA:图像数字细节增强算法(工程+仿真+实物,可用毕设)
  • Android netty的使用
  • 苹果电脑启动磁盘是什么意思 苹果电脑磁盘清理软件 mac找不到启动磁盘 启动磁盘没有足够的空间来进行分区
  • 【Java SE】多态
  • Yarn vs npm的大同小异Yarn是什么?
  • 1.Godot引擎|场景|节点|GDS|介绍
  • springboot3 redis 实现分布式锁
  • 2024年第十四届MathorCup数学应用挑战赛A题思路分享(妈妈杯)
  • 运动听歌哪款耳机靠谱?精选五款热门开放式耳机
  • Kubernetes学习笔记12
  • Qt Designer 控件箱中的控件介绍及布局比列分配
  • 蓝桥集训之三国游戏
  • MySQL知识整理
  • 代码随想录算法训练营第36天| 435. 无重叠区间、 763.划分字母区间*、56. 合并区间
  • SpringBoot整合Nacos
  • vue3 浅学
  • 三小时使用鸿蒙OS模仿羊了个羊,附源码
  • 如何使用 ArcGIS Pro 制作热力图
  • SpringBoot之集成Redis
  • mybatis-plus与mybatis同时使用别名问题
  • MySQL基础知识——MySQL日志
  • uniapp 地图分幅网格生成 小程序基于map组件
  • python项目练习——22、人脸识别软件
  • Linux中账号登陆报错access denied