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("|----------------------- 计算器 -----------------------|\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 语言可视化计算器的资料请关注我们其它相关文章!

(0)

相关推荐

  • C语言结课设计之计算器功能

    本文实例为大家分享了C语言实现计算器的具体代码,供大家参考,具体内容如下 /*===============================================*\ ** 设计目的:简单计算器,计算形如10*(20.2-30.6)+5.0/2的表达式值 ** 简要原理:中缀式转逆波兰式(后缀式) ** IDE:Dev-Cpp 4.9.9.2 ** 注意事项:括号必须是英文状态的 ** 时间: 2014-6-17 \*==================================

  • C语言数据结构之简易计算器

    本文实例为大家分享了C语言简易计算器的具体代码,供大家参考,具体内容如下 主要解决了处理负数.小数等的基础运算操作,无图形界面 #include <iostream> #include <stack> using namespace std; class Calculator{ private: int Priority(char fuhao); double CalSuffix(string PostfixExp); public: double Calculate(string

  • C语言实现简单的计算器

    本文实例为大家分享了C语言实现简单计算器的具体代码,供大家参考,具体内容如下 描述:简单的实现四则运算 1.switch法 #include<stdio.h> void menu()//菜单函数 { printf("************************************\n"); printf("***** 1.add 2.sub *****\n"); printf("***** 3.mul 4.div *****\n&quo

  • C语言实现简单计算器

    本文实例为大家分享了C语言实现简单计算器的具体代码,供大家参考,具体内容如下 实现效果如图: 实现代码如下: #include<stdio.h> #include<windows.h>//gotoxy #include<conio.h> #define width 80 #define height 30 void gotoxy(int x, int y); void GreateFrame() { int i = 0; for (i = 0 ; i < widt

  • C语言实现简单计算器功能(1)

    本文为大家分享了C语言实现简单计算器功能的具体方法,供大家参考,具体内容如下 这几天一直上控制语句,在学完if.switch和循环语句后,为了巩固所学知识点,想给学生出一道简单的计算器程序.题目如下: 通过所学的知识(选择语句.循环语句)完成一个简单的计算器编程,要求不许抄袭,只能用自己所学的知识点,不可引用网上自己的不懂的程序. 要求的格式如下图: 要求以这样的一种格式进行输出,并能通过选择完成不同的功能. 如:选择1,完成整数相加功能,算完后又能回到该页面. 经过分析,我简单的写了一段代码,

  • C语言实现简单计算器程序

    这两天在看一个C语言写的计算器程序,做了不少的功夫,跟着作者一步步的进行完善,了解了许多细节性的东西,在此自己做个总结,加深自己对程序的印象,也算是梳理. 在该计算器程序,能进行加减乘除.sin.cos.exp等操作,同时能进行数值保存功能.而该计算器使用逆波兰表示法.即所有运算符都跟在操作数的后面,比如下列表达式: (1 - 2) * (4 + 5)采用逆波兰表示法表示为:1 2 - 4 5 + * 逆波兰表达法中不需要圆括号,只要知道每个运算符需要几个操作数就不会引起歧义. 计算器程序实现很

  • C语言实现简单计算器功能(2)

    本文接着上一篇C语言实现简单计算器功能(1)继续学习. 之前用switch语句完成了一个简单计算器的功能,下面我给大家用if语句和while循环语句再实现一个简单计算器的编程. 要求: 实现简单的计算器,具体代码如下: #include <stdio.h> // 头文件 void main() { char a = 0; // 变量声明并初始化 int x, y; // 变量声明 int result = 0; char b = 37; while(1) // whiel循环实现反复在计算器系

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

    引言 在大学期间,C 语言或者数据结构等课程,老师会要求学生编写一个小项目练手,或者期末编写一个小软件等课程设计.今天在电脑看到大一学C语言时,实验课上写的计算器功能,挺有意思.所以在此分享给学C语言的学弟学妹,记得收藏保留! 计算器 简单版本计算器,主要实现的是简单两个数的加法,减法,乘法,除法,求余功能.用户可以在主菜单选择需要计算的功能,然后根据用户输入的数字,进行计算,输出结果. 首先,我们定义五个方法,实现两个数的加法,减法,乘法,除法,求余功能.代码如下: // 加法 float a

  • 200行Java代码编写一个计算器程序

    发现了大学时候写的计算器小程序,还有个图形界面,能够图形化展示表达式语法树,哈哈;) 只有200行Java代码,不但能够计算加减乘除,还能够匹配小括号~ 代码点评: 从朴素的界面配色到简单易懂错误提示,无不体现了"用户体验"至上的设计理念:代码异常处理全面合理.滴水不漏,代码缩进优雅大方,变量命名直观易懂:再结合长度适中简单明了的注释,程序整体给人一种清新脱俗之感.背后不难看出作者对学习的热爱以及对设计的苛求,工匠精神可见一斑,真可谓是大学数据结构学以致用的典范! 实现代码如下所示:

  • 基于C语言编写一个简单的抽卡小游戏

    目录 效果图展示 开始的界面 输入1 输入10 输入0 实现代码 test4.26.c 许愿.c game.h 下载 小奔最近学了C语言不少的东西,但是想用学到的东西来搞一个小游戏. 不过小奔就不做那些猜数字等小游戏了,虽然很经典,但是可以尝试一下其他比较好玩的. 小奔喜欢玩原神,但它抽卡系统的中奖概率太低了,所以就类似做一个它的抽卡系统吧,不过没有保底功能哦(小奔还不想搞,还要学习新的知识,不过以后熟练了就可能会搞一个),是全角色抽卡,只有角色没有武器的,可以十连抽,没有保底功能,抽中的概率只

  • 利用 Go 语言编写一个简单的 WebSocket 推送服务

    本文中代码可以在 github.com/alfred-zhong/wserver获取. 背景 最近拿到需求要在网页上展示报警信息.以往报警信息都是通过短信,微信和 App 推送给用户的,现在要让登录用户在网页端也能实时接收到报警推送. 依稀记得以前工作的时候遇到过类似的需求.因为以前的浏览器标准比较陈旧,并且那时用 Java 较多,所以那时候解决这个问题就用了 Comet4J.具体的原理就是长轮询,长链接.但现在毕竟 html5 流行开来了,IE 都被 Edge 接替了,再用以前这种技术就显得过

  • 基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算

    方法一: 结合lambda表达式.函数调用运算符.标准库函数对象.C++11标准新增的标准库function类型,编写一个简单的计算器,可实现简单的加.减.乘.除.取余二元运算.代码如下: #include "pch.h" #include <iostream> #include <functional> #include <map> #include <string> using namespace std; int add(int i

  • C语言编写一个链表

    本文实例为大家分享了C语言编写一个链表的具体代码,供大家参考,具体内容如下 链表 具备的基本功能: 1.创建头链表 struct Node* Creatlist(){//创建链表头 struct Node *headnode = (struct Node*)malloc(sizeof(struct Node));//创建动态内存链表,指针变量 headnode->next = NULL;//链表初始化 return headnode; } 2.创建节点 struct Node* Creatnod

  • 利用Java和c语言写一个计算器

    目录 一.java计算器 1.类名计算器 2.类名sum 3.示例图 4.代码 4.1计算器类 4.2sum类下 二.C语言下的计算器 2.代码 一.java计算器 步骤: 1.建包 2.导入输入包 3.创建类 4.类名调用 类名调用的方法:类名标识符=new 类名 意思是用类名创建一个标识符,通过new类名即可 通过这种方法就可以是处于本类或者其他类的可以调用 为了更方便阅读,我建了两个类 1.类名计算器 2.类名sum 3.示例图 4.代码 4.1计算器类 package com.haha;

  • 用c语言编写一个通讯录代码详解

    目录 实现通讯录的思路如下: 总结 实现通讯录的思路如下: 1.程序运行起来时用户首先要看到菜单栏选项并且对应菜单栏所给出的选项做出选择,这里我们简单设计一个Menu()函数可以让用户看见可选项目: 2.用户可选的范围应该是1~7,为了避免用户做出超出范围的选择我们可以用switch语句来判断用户的选择若用户输入的数字非法还可以让用户继续选择,而继续选择这个动作需要用到while语句,用户对通讯录的不断操作也需要用到while语句: 3.用户选择不同的选项,程序就要调用对应的函数来实现其功能并且

  • 基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算

    方法一: 结合lambda表达式.函数调用运算符.标准库函数对象.C++11标准新增的标准库function类型,编写一个简单的计算器,可实现简单的加.减.乘.除.取余二元运算.代码如下: #include "pch.h" #include <iostream> #include <functional> #include <map> #include <string> using namespace std; int add(int i

  • Python使用PyQt5/PySide2编写一个极简的音乐播放器功能

    疫情肆虐,憋在家实在无聊,索性写点东西,于是就有了这个极极极极极简的音乐播放器. 这个极极极简的音乐播放器类似于"阅后即焚"的软件,播放器可以随机播放歌曲,获取下一首歌曲,不能重新播放上一首歌曲,不能获取歌曲的名称和演唱者.听过的歌曲,就像过眼云烟,放完即散. 下面来看看如何用Python实现这个音乐播放器软件吧! 一.创建UI界面 首先,我们来创建这个播放器的UI界面.这个播放器一共有6个控件: 左上角的程序关闭按钮: 左侧的播放状态标签: 顶部的slogan; 播放/暂停按钮: 下

随机推荐