我是靠谱客的博主 威武小蝴蝶,最近开发中收集的这篇文章主要介绍2021-4-15 日记 C++(五),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

昨天因为课程原因没有时间(其实就是懒)写,所以落下了一天。

今天主要学的是把我们写出来的简单计算器程序完善,在写代码之前,我们学点新东西:system(“pause”)和system(“cls”)

system函数是能实现很多DOS命令的函数,而pause和cls就是相对比较简单,也比较实用的两个命令。

system(“pause”)语句的作用是将屏幕冻结,意义相当于在return 0处打断点,也就是说,我们以后可以将main函数的类型改为void,不返回任何数,然后在预期想要观察的地方把system(“pause”)写进去,以起到观察程序执行结果的效果。

而system(“cls”)则是 清屏操作,作用如字面意思,就是把屏幕上的所有输出清除。我们之前写的简单计算器每次计算、操作都会被保留在屏幕上,虽然这看起来是对我们的结果、操作进行了保留记录,但实际上当操作的次数不断增加之后,屏幕上是会显得有些混乱的。所以适当的使用cls命令清屏,可以起到让屏幕的输出看起来更简洁美观的作用。

while (1)
{
cout << "====Simple计算器====" << endl;
cout << "输入1: 进行加法运算" << endl;
cout << "输入2: 进行减法运算" << endl;
cout << "输入3: 进行乘法运算" << endl;
cout << "输入4: 进行除法运算" << endl;
cout << "====================" << endl;
cout << "请输入你的选择:";
cin >> order;
switch (order)
{
case 1:
cout << "请输入参与加法运算的两个数:";
cin >> x >> y;
result = x + y;
cout << x << "+" << y << "=" << result << endl;
break;
case 2:
...
case 3:
...
case 4:
cout << "请输入参与除法运算的两个数:";
cin >> x >> y;
if (y == 0)
{
cout << "被除数不能为0!" << endl;
break;
}
result = x / y;
cout << x << "/" << y << "=" << result << endl;
break;
}
}

我们期望每次运算之后,下次运算前能把上次的结果、选择都清除掉,于是我们就想到了刚学的system(“cls”’)
但是如果直接加上这个清屏的语句,那么就会导致在运算结束后立刻清屏,我们还没看清结果是什么,就直接被清走了。

于是我们又希望能让结果输出后,屏幕先别清,让我看清了结果再进行下一次算法选择。

很自然的我们想到system(“pause”),这个语句加在cls语句之前,这样子就能在清屏之前把屏幕冻结,从而使我们能够看清楚上一次运算的结果如何。

而这两个语句的具体位置在哪里呢?很明显的,他们是每一次循环都需要被执行的语句,所以毋庸置疑的是在while循环里面的。那是在switch语句里面吗?可以,但没必要。因为我们只是需要在结果输出之后执行这两句,这两段语句和switch里面的运算没有半毛钱关系。所以呢,我们把它们加在while和switch的中间,代表这两段语句在每次switch判断结束后,下次循环开始前被执行。

while(1)
{
switch(order)
{
case 1:
...
...
}
system("pause");
system("cls");
}

这样,我们每次运算完整结束后程序都会自动清屏,不会再像之前一样眼乱缭乱啦。

最后我们再加点小东西,那就是让程序能够被退出。我们的while循环是无限进行下去的,因为条件表达式是常数1。如果我们想让循环停下来,就应该把条件表达式改为一个变量,并设置它的初始值为常数以进行循环,在需要的时候把这个常量改为0,以退出循环。

按照上述思路,我们额外定义一个初始值为1的变量n,并把while(1)改为while(n)

int order,x,y,result,n=1;
while(n)
{
...
}

那么我们就想了,在那里加入退出程序的操作呢?那当然是加到switch循环里了,不然我们如何能自主选择程序何时退出呢?

因此,我们加入第五个选择:退出。

switch(order)
{
case 1:
...
...
case 5:
n=0;
break;
}

相应的,我们在switch结构外的输出语句处也要加上对新加入第五种操作的说明。

至此,我们的简单计算器变成了1.1版本!

《Simple计算器》1.1更新说明
1.新加入了自动清屏的功能,现在的界面更简洁美观了。
2.新加入了程序退出的选择,现在不必手动结束调试了。

以下是简单计算器1.1的完整代码:

#include<iostream>
using namespace std;
void main()
{
int order, x, y, result,n=1;
while (n)
{
cout << "====Simple计算器====" << endl;
cout << "输入1: 进行加法运算" << endl;
cout << "输入2: 进行减法运算" << endl;
cout << "输入3: 进行乘法运算" << endl;
cout << "输入4: 进行除法运算" << endl;
cout << "输入5:程序退出" << endl;
cout << "====================" << endl;
cout << "请输入你的选择:";
cin >> order;
switch (order)
{
case 1:
cout << "请输入参与加法运算的两个数:";
cin >> x >> y;
result = x + y;
cout << x << "+" << y << "=" << result << endl;
break;
case 2:
cout << "请输入参与减法运算的两个数:";
cin >> x >> y;
result = x - y;
cout << x << "-" << y << "=" << result << endl;
break;
case 3:
cout << "请输入参与乘法运算的两个数:";
cin >> x >> y;
result = x * y;
cout << x << "*" << y << "=" << result << endl;
break;
case 4:
cout << "请输入参与除法运算的两个数:";
cin >> x >> y;
if (y == 0)
{
cout << "被除数不能为0!" << endl;
break;
}
result = x / y;
cout << x << "/" << y << "=" << result << endl;
break;
case 5:
n = 0;
break;
}
system("pause");
system("cls");
}
}

最后

以上就是威武小蝴蝶为你收集整理的2021-4-15 日记 C++(五)的全部内容,希望文章能够帮你解决2021-4-15 日记 C++(五)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部