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

 更新时间:2021年06月03日 10:37:08   作者:陈皮的JavaLib  
今天给大家分享一个计算器功能,主要功能有加法减法乘除法求余功能,用户可以在主菜单选择需要计算的功能,接下来根据用户输入的数字进行计算输出结果,喜欢的朋友拿去用吧

引言

在大学期间,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("|----------------------- 计算器 -----------------------|\n");
    printf("|                                                     |\n");
    printf("|                                 By -- 陈皮的JavaLib  |\n");
    printf("|                                                     |\n");
    printf("|---------------------- 1:加法 -----------------------|\n");
    printf("|---------------------- 2:减法 -----------------------|\n");
    printf("|---------------------- 3:乘法 -----------------------|\n");
    printf("|---------------------- 4:除法 -----------------------|\n");
    printf("|---------------------- 5:求余 -----------------------|\n");
    printf("|---------------------- 6:退出 -----------------------|\n");
    printf("|                                                     |\n");
    printf("|----------------------- 计算器 -----------------------|\n");
}

最后,我们在主函数 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("\n|----------------- 欢迎使用计算器!再见!-----------------|\n");
            return 0;
        }

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

        switch (select) {
            case 1:
                printf("%f+%f=%f\n\n", a, b, add(a, b));
                break;
            case 2:
                printf("%f-%f=%f\n\n", a, b, sub(a, b));
                break;
            case 3:
                printf("%f*%f=%f\n\n", a, b, mul(a, b));
                break;
            case 4:
                printf("%f/%f=%f\n\n", a, b, mod(a, b));
                break;
            case 5:
                printf("%f/%f=%d\n\n", a, b, com((int)a, (int)b));
                break;
            case 6:
            default:
                break;
        }
    }
}

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

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

在这里插入图片描述

加法

在这里插入图片描述

除法

在这里插入图片描述

退出

在这里插入图片描述

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

#include <stdio.h>
#include <stdlib.h>

// 加法
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("|----------------------- 计算器 -----------------------|\n");
    printf("|                                                     |\n");
    printf("|                                 By -- 陈皮的JavaLib  |\n");
    printf("|                                                     |\n");
    printf("|---------------------- 1:加法 -----------------------|\n");
    printf("|---------------------- 2:减法 -----------------------|\n");
    printf("|---------------------- 3:乘法 -----------------------|\n");
    printf("|---------------------- 4:除法 -----------------------|\n");
    printf("|---------------------- 5:求余 -----------------------|\n");
    printf("|---------------------- 6:退出 -----------------------|\n");
    printf("|                                                     |\n");
    printf("|----------------------- 计算器 -----------------------|\n");
}

/**
 * 简单版本计算器功能 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("\n|----------------- 欢迎使用计算器!再见!-----------------|\n");
            return 0;
        }

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

        switch (select) {
            case 1:
                printf("%f+%f=%f\n\n", a, b, add(a, b));
                break;
            case 2:
                printf("%f-%f=%f\n\n", a, b, sub(a, b));
                break;
            case 3:
                printf("%f*%f=%f\n\n", a, b, mul(a, b));
                break;
            case 4:
                printf("%f/%f=%f\n\n", a, b, mod(a, b));
                break;
            case 5:
                printf("%f/%f=%d\n\n", a, b, com((int)a, (int)b));
                break;
            case 6:
            default:
                break;
        }
    }
}

总结

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

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

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

相关文章

  • C++实现特殊矩阵的压缩存储算法

    C++实现特殊矩阵的压缩存储算法

    在实际存储时,会发现矩阵中有许多值相同的数据或有许多零数据,且分布呈现出一定的规律,称这类型的矩阵为特殊矩阵。本文将利用C++实现特殊矩阵的压缩存储,感兴趣的可以了解一下
    2022-08-08
  • 详解C++ sizeof(下)

    详解C++ sizeof(下)

    这篇文章主要介绍了C++ sizeof的相关资料,帮助大家更好的理解和学习c++,感兴趣的朋友可以了解下
    2020-08-08
  • opencv实现定时录像功能

    opencv实现定时录像功能

    这篇文章主要为大家详细介绍了opencv实现定时录像功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • linux之sort命令的用法

    linux之sort命令的用法

    sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出
    2013-10-10
  • C++中的友元函数与友元类详情

    C++中的友元函数与友元类详情

    这篇文章主要介绍了C++中的友元函数与友元类详情,对类的封装是C++三大特性中的一个重要特性,封装好的数据在类的外部是访问不到的但是一旦出了问题,想要操作被封装的数据怎么办呢?由此友元函数友元类诞生了,下文我们来详细来接一下具体的有缘类吧
    2022-02-02
  • C语言中字符串库函数的实现及模拟

    C语言中字符串库函数的实现及模拟

    C语言中有很多数据类型,比如int(整数类型)、char(字符类型)、以及浮点型的double(双精度)等。但是有一点就是我们发现这里并没有提到我们常见的有关字符串的类型。本文为大家介绍了C语言中字符串库函数的实现及模拟,需要的可以参考一下
    2022-11-11
  • C语言中双链表的基本操作

    C语言中双链表的基本操作

    这篇文章主要介绍了C语言中双链表的基本操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • C语言内存函数的使用及其模拟实现

    C语言内存函数的使用及其模拟实现

    这篇文章主要介绍了C语言内存函数的使用及其模拟实现,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-10-10
  • 深入解析C++编程中的静态成员函数

    深入解析C++编程中的静态成员函数

    这篇文章主要介绍了深入解析C++编程中的静态成员函数,是C++入门学习中的基础知识,需要的朋友可以参考下
    2015-09-09
  • 详解如何使用C++写一个线程安全的单例模式

    详解如何使用C++写一个线程安全的单例模式

    这篇文章主要为大家详细介绍了如何使用C++写一个线程安全的单例模式,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以了解一下
    2022-10-10

最新评论