*初学者* C ++基本计算器

时间:2018-12-06 03:59:49

标签: c++ calculator

我对编程还比较陌生,但是真的很喜欢它。我参加了几节课,但大部分都是为了娱乐(现在)。我决定制作一个实现一些基本功能,switch语句和用户输入的程序。请留下任何有关如何使该程序更好的反馈。谢谢!

#include <iostream>
using namespace std;

int add (int x, int y){
return x+y;
};

int divide (int x, int y){
return x/y;
}

int multiply (int x, int y){
return x*y;
}

int subtract (int x, int y){
return x-y;
}


int main(){

int n1;
int n2;
int user14 = 0;

SomeLine:
cout << "Enter your 2 numbers: "<< endl;
cin >> n1;
cin >> n2;


cout << "Ok, now what do you want to do with those numbers? "<< endl;

cout << "1) Add: " << endl;
cout << "2) Divide: "<<endl;
cout << "3) Multiply: "<< endl;
cout << "4) Subtration: "<< endl;

cin >> user14;

switch (user14)
{
    case 1:
    cout << n1+n2 << endl;
        break;
    case 2:
    cout << n1/n2 << endl;
        break;
    case 3:
    cout << n1*n2<< endl;
        break;
    case 4:
    cout << n1-n2 << endl;
        break;

}

char userchoice;
cout << "Would you like to perform any other operations? y/n "<< endl;

cin >> userchoice;

if (userchoice=='y'){
    goto SomeLine;
}
else if(userchoice=='n'){
    goto Exit;
}

Exit:
return 0;

};

1 个答案:

答案 0 :(得分:0)

我要回答,因为我是新来的,有几件事可以帮助您。我不确定是应该鼓励还是不回答这类文章,但我想我还是想帮忙...

我注意到的第一件事是,您为所有操作制作了大量函数,但从未使用过它们,而是选择了switch语句。

可以在代码中利用函数的几种方式:

//use in the switch statement
switch(input) {
case 1:
  cout << add(a,b) << endl;
  break;
case 2:
  cout << divide(a,b) << endl;
  break;

我选择在该代码段中包含除法,因为我想告诉您有关截断的信息。在C ++和许多其他支持类型的编程语言中,从double类型转换为int类型时,会遇到截断的情况。

这发生在除法中。如果将5除以2(5/2),则将得到2.5。但是,因为您是将其分配给一个int,所以它仅存储为2(小数会被切掉),因为int无法处理小数。

对于计算器,我完全建议将您使用的所有int值都转换为double值,以解决截断错误。如果您出于某种原因而不是 2147483647 进行较大的计算,则需要使用double值,因为它们可以存储约15位数字read more here

此外,不要在函数括号后面放分号(仅在您的add函数上)。

否则,它在格式方面看起来非常不错,并且您使用的是一些我不常用的很酷的概念(goto和switch语句)。

保持它!