我是陈皮,一个在互联网 Coding 的 ITer,微信搜索「陈皮的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
#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("|----------------------- 计算器 -----------------------|\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 语言,作为编程入门语言,大家一定要学习好此门语言,而且如果学好了,其实学习其他编程语言就很容器上手的,不同语言其实大同小异,只要你编程思维提升了,基础语法掌握了,才能学习更加深入的知识。其中一个路径是要多敲代码,从基础代码到经典题型,不断锻炼编程思维和敲代码能力。
以上是演示简单版本计算器,实现了加法
,减法
,乘法
,除法
,求余
功能之外,用户可以在主菜单选择需要计算的功能,然后根据用户输入的数字,进行计算,输出结果。感兴趣的同学,可以实现更加高级的玩法,例如支持括号,多项式加减乘除等。
给大家推荐 CSDN独家出品
的 Java工程师学习成长知识图谱
,涵盖全面知识点,感兴趣地可以入手,推荐,特别是在校大学生如果能把这些知识点学习掌握,斩下BAT大厂Offer不是梦!