热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C语言编写一个计算器界面(可视化界面和多功能)

今天给大家分享一个计算器功能,主要功能有加法减法乘除法求余功能,用户可以在主菜单选择需要计算的功能,接下来根据用户输入的数字进行计算输出结果

引言

在大学期间,C 语言或者数据结构等课程,老师会要求学生编写一个小项目练手,或者期末编写一个小软件等课程设计。今天在电脑看到大一学C语言时,实验课上写的计算器功能,挺有意思。所以在此分享给学C语言的学弟学妹,记得收藏保留!

计算器

简单版本计算器,主要实现的是简单两个数的加法减法乘法除法求余功能。用户可以在主菜单选择需要计算的功能,然后根据用户输入的数字,进行计算,输出结果。

首先,我们定义五个方法,实现两个数的加法减法乘法除法求余功能。代码如下:

// 加法
float add(float a, float b) {
    return a + b;
}

// 减法
float sub(float a, float b) {
    return a - b;
}

// 乘法
float mul(float a, float b) {
    return a * b;
}

// 除法
float mod(float a, float b) {
    return a / b;
}

// 求余
int com(int a, int b) {
    return a % b;
}

然后定义一个打印主菜单界面的函数,使用简介美观的菜单界面,供用户选择要计算的功能,代码如下:

// 打印主功能菜单
void printMenu() {
    // 清屏
    // system("cls");

    printf("|----------------------- 计算器 -----------------------|
");
    printf("|                                                     |
");
    printf("|                                 By -- 陈皮的JavaLib  |
");
    printf("|                                                     |
");
    printf("|---------------------- 1:加法 -----------------------|
");
    printf("|---------------------- 2:减法 -----------------------|
");
    printf("|---------------------- 3:乘法 -----------------------|
");
    printf("|---------------------- 4:除法 -----------------------|
");
    printf("|---------------------- 5:求余 -----------------------|
");
    printf("|---------------------- 6:退出 -----------------------|
");
    printf("|                                                     |
");
    printf("|----------------------- 计算器 -----------------------|
");
}

最后,我们在主函数 main 中,定义一个 while 循环代码块,不断读取用户输入的内容,进行数字计算,代码如下:

int main() {

    // 选择的功能
    int select = 0;

    // 定义算术的两个数
    float a, b;

    while (select != 6){

        select = 0;

        // 打印主菜单
        printMenu();

        // 只允许选择菜单栏内的数字,不是则重新选择
        while (select <1 || select > 6) {
            printf("请输入菜单功能(1-6):");
            scanf("%d", &select);
        }

        if (6 == select) {
            printf("
|----------------- 欢迎使用计算器!再见!-----------------|
");
            return 0;
        }

        printf("
请输入两个数(用空格隔开两个数):");
        scanf("%f %f", &a, &b);

        switch (select) {
            case 1:
                printf("%f+%f=%f

", a, b, add(a, b));
                break;
            case 2:
                printf("%f-%f=%f

", a, b, sub(a, b));
                break;
            case 3:
                printf("%f*%f=%f

", a, b, mul(a, b));
                break;
            case 4:
                printf("%f/%f=%f

", a, b, mod(a, b));
                break;
            case 5:
                printf("%f/%f=%d

", a, b, com((int)a, (int)b));
                break;
            case 6:
            default:
                break;
        }
    }
}

下面我们演示几个例子,能更加直观体验计算器的功能:

菜单功能选择错误,会提示重新选择

在这里插入图片描述

加法

在这里插入图片描述

除法

在这里插入图片描述

退出

在这里插入图片描述

简单版本计算器,完整代码如下:

#include 
#include 

// 加法
float add(float a, float b) {
    return a + b;
}

// 减法
float sub(float a, float b) {
    return a - b;
}

// 乘法
float mul(float a, float b) {
    return a * b;
}

// 除法
float mod(float a, float b) {
    return a / b;
}

// 求余
int com(int a, int b) {
    return a % b;
}

// 打印主功能菜单
void printMenu() {
    // 清屏
    // system("cls");

    printf("|----------------------- 计算器 -----------------------|
");
    printf("|                                                     |
");
    printf("|                                 By -- 陈皮的JavaLib  |
");
    printf("|                                                     |
");
    printf("|---------------------- 1:加法 -----------------------|
");
    printf("|---------------------- 2:减法 -----------------------|
");
    printf("|---------------------- 3:乘法 -----------------------|
");
    printf("|---------------------- 4:除法 -----------------------|
");
    printf("|---------------------- 5:求余 -----------------------|
");
    printf("|---------------------- 6:退出 -----------------------|
");
    printf("|                                                     |
");
    printf("|----------------------- 计算器 -----------------------|
");
}

/**
 * 简单版本计算器功能 By -- 陈皮的JavaLib
 * @return 
 */
int main() {

    // 选择的功能
    int select = 0;

    // 定义算术的两个数
    float a, b;

    while (select != 6){

        select = 0;

        // 打印主菜单
        printMenu();

        // 只允许选择菜单栏内的数字,不是则重新选择
        while (select <1 || select > 6) {
            printf("请输入菜单功能(1-6):");
            scanf("%d", &select);
        }

        if (6 == select) {
            printf("
|----------------- 欢迎使用计算器!再见!-----------------|
");
            return 0;
        }

        printf("
请输入两个数(用空格隔开两个数):");
        scanf("%f %f", &a, &b);

        switch (select) {
            case 1:
                printf("%f+%f=%f

", a, b, add(a, b));
                break;
            case 2:
                printf("%f-%f=%f

", a, b, sub(a, b));
                break;
            case 3:
                printf("%f*%f=%f

", a, b, mul(a, b));
                break;
            case 4:
                printf("%f/%f=%f

", a, b, mod(a, b));
                break;
            case 5:
                printf("%f/%f=%d

", a, b, com((int)a, (int)b));
                break;
            case 6:
            default:
                break;
        }
    }
}

总结

在大学期间,如果是计算机类的专业,一般都会学习 C 语言,作为编程入门语言,大家一定要学习好此门语言,而且如果学好了,其实学习其他编程语言就很容器上手的,不同语言其实大同小异,只要你编程思维提升了,基础语法掌握了,才能学习更加深入的知识。其中一个路径是要多敲代码,从基础代码到经典题型,不断锻炼编程思维和敲代码能力。

以上是演示简单版本计算器,实现了加法减法乘法除法求余功能之外,用户可以在主菜单选择需要计算的功能,然后根据用户输入的数字,进行计算,输出结果。感兴趣的同学,可以实现更加高级的玩法,例如支持括号,多项式加减乘除等。

以上就是C 语言编写一个计算器界面(可视化界面和多功能)的详细内容,更多关于C 语言可视化计算器的资料请关注编程笔记其它相关文章!


推荐阅读
  • 开发笔记:实验7的文件读写操作
    本文介绍了使用C++的ofstream和ifstream类进行文件读写操作的方法,包括创建文件、写入文件和读取文件的过程。同时还介绍了如何判断文件是否成功打开和关闭文件的方法。通过本文的学习,读者可以了解如何在C++中进行文件读写操作。 ... [详细]
  • 本文介绍了一个Java猜拳小游戏的代码,通过使用Scanner类获取用户输入的拳的数字,并随机生成计算机的拳,然后判断胜负。该游戏可以选择剪刀、石头、布三种拳,通过比较两者的拳来决定胜负。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • c语言\n不换行,c语言printf不换行
    本文目录一览:1、C语言不换行输入2、c语言的 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文介绍了在Windows系统上使用C语言命令行参数启动程序并传递参数的方法,包括接收参数程序的代码和bat文件的编写方法,同时给出了程序运行的结果。 ... [详细]
  • C语言判断正整数能否被整除的程序
    本文介绍了使用C语言编写的判断正整数能否被整除的程序,包括输入一个三位正整数,判断是否能被3整除且至少包含数字3的方法。同时还介绍了使用qsort函数进行快速排序的算法。 ... [详细]
  • Java SE从入门到放弃(三)的逻辑运算符详解
    本文详细介绍了Java SE中的逻辑运算符,包括逻辑运算符的操作和运算结果,以及与运算符的不同之处。通过代码演示,展示了逻辑运算符的使用方法和注意事项。文章以Java SE从入门到放弃(三)为背景,对逻辑运算符进行了深入的解析。 ... [详细]
  • C++语言入门:数组的基本知识和应用领域
    本文介绍了C++语言的基本知识和应用领域,包括C++语言与Python语言的区别、C++语言的结构化特点、关键字和控制语句的使用、运算符的种类和表达式的灵活性、各种数据类型的运算以及指针概念的引入。同时,还探讨了C++语言在代码效率方面的优势和与汇编语言的比较。对于想要学习C++语言的初学者来说,本文提供了一个简洁而全面的入门指南。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
author-avatar
手机用户2602914917
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有