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.hqwc.cn/news/615634.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【目标检测数据集】VOC2012 数据集与 SBD dataset 介绍

一、介绍 VOC 数据是 PASCAL VOC Challenge 用到的数据集&#xff0c;官网&#xff1a;http://host.robots.ox.ac.uk/pascal/VOC/ 备注&#xff1a;VOC数据集常用的均值为&#xff1a;mean_RGB(122.67891434, 116.66876762, 104.00698793) Pytorch 上通用的数据集的归一化指…

紫光展锐T610平台_4G安卓核心板方案定制开发

紫光展锐T610核心板配备Android 11操作系统&#xff0c;采用12nm制程工艺。该处理器CPU由2颗基于Cortex-A75架构的大核心和6颗基于Cortex-A55架构的小核心组成&#xff0c;最高主频为1.8GHz。GPU采用的是614.4MHz的Mali G52&#xff0c;可以流畅播放2400*1080分辨率视频&#x…

信号完整性的常见术语概念(面试常用)

目录 术语 概念一览 1&#xff0e;信号完整性&#xff08;Signal Integrity&#xff09; 2&#xff0e;传输线&#xff08;Transmission Line&#xff09; 3&#xff0e;特性阻抗&#xff08;Characteristic Impedance&#xff09; 4&#xff0e;反射&#xff08;Reflecti…

Linux中磁盘的分区,格式化,挂载和文件系统的修复

一.分区工具 1.分区工具介绍 fdisk 2t及以下分区 推荐 (分完区不保存不生效&#xff0c;有反悔的可能) gdisk 全支持 推荐 parted 全支持 不推荐 ( 即时生效&#xff0c;分完立即生效) 2.fdisk 分区,查看磁盘 格式:fdisk -l [磁盘设备] fdisk -l 查看…

【R语言】绘制标准地图(指北针,比例尺,图例)

在绘制地图时&#xff0c;我们一般都是利用“ArcGIS”"MapGIS"等专业软件进行手动操作。这样制作的地图自定义的效果强&#xff0c;我们可以随意调换地图的各种元素&#xff0c;但是今天本文要将的是如何使用R语言绘制具备地图三要素的精美地图&#xff0c;当然代码绘…

易舟云凭证保存查看的3种方式

文章目录 1、保存为图片2、导出为Excel3、跨期批量导出 1、保存为图片 点击记账凭证详情&#xff0c;点击“下载-保存为图片”&#xff0c;即可下载图片&#xff01; 2、导出为Excel 导出为Excel可以对单张凭证导出&#xff0c;也可以对指定月份的记账凭证进行批量导出。 1…

JavaEE初阶——多线程(二)

T04BF &#x1f44b;专栏: 算法|JAVA|MySQL|C语言 &#x1faf5; 小比特 大梦想 此篇文章延续上一篇文章,与大家分享Thread常见的方法以及线程的状态相关知识 其他内容我们下一篇再见! 如果有错误或不足请您指出!!! 目录 3.Thread类及常见方法3.1Thread常见的构造方法3.2Thread…

【matlab非线性规划工具箱安装1 SeDuMi 1.3工具箱】

【matlab非线性规划工具箱安装1 SeDuMi 1.3工具箱】 该博客是非线性手眼标定代码中所依赖的matlab工具箱的安装内容&#xff0c;除了进行手眼标定以外&#xff0c;该工具箱还可以用于其他的非线性规划问题 手眼标定传送门&#xff1a; 【从零开始进行高精度手眼标定 eye in …

C语言 | 内存函数memcpy,memmove,memset,memcmp

目录&#xff1a; 1. memcpy使用和模拟实现 2. memmove使用和模拟实现 3. memset函数的使用 4. memcmp函数的使用 头文件&#xff1a;<string.h> 1. memcpy使用和模拟实现 void * memcpy ( void * destination, const void * source, size_t num ); • 从source的…

刷题之动态规划-回文串

前言 大家好&#xff0c;我是jiantaoyab&#xff0c;开始刷动态规划的回文串类型相关的题目 动态规划5个步骤 状态表示 &#xff1a;dp数组中每一个下标对应值的含义是什么>dp[i]表示什么状态转移方程&#xff1a; dp[i] 等于什么1 和 2 是动态规划的核心步骤&#xff0c;…

两数之和-第12届蓝桥杯选拔赛Python真题精选

[导读]&#xff1a;超平老师的Scratch蓝桥杯真题解读系列在推出之后&#xff0c;受到了广大老师和家长的好评&#xff0c;非常感谢各位的认可和厚爱。作为回馈&#xff0c;超平老师计划推出《Python蓝桥杯真题解析100讲》&#xff0c;这是解读系列的第51讲。 两数之和&#xf…

SqlServer功能性配置选择

功能性配置 下面的是必选的