C++11 这个简单的程序在语义上正确吗? 我是C++初学者(4天左右),我创建了一个小程序,它看起来像我想的那样工作。
快速总结: 程序询问您的姓名。 然后要求两个数字相加。 显示答案。 然后询问是否要再次计算是/否 然而,我忍不住觉得,就格式而言,这是一场彻底的火车失事 特别是C++11 这个简单的程序在语义上正确吗? 我是C++初学者(4天左右),我创建了一个小程序,它看起来像我想的那样工作。,c++11,semantics,C++11,Semantics,快速总结: 程序询问您的姓名。 然后要求两个数字相加。 显示答案。 然后询问是否要再次计算是/否 然而,我忍不住觉得,就格式而言,这是一场彻底的火车失事 特别是再次()函数。。。 在它内部,我通过调用另一个函数(如果条件为真)创建了一个循环。像这样: bool Again() { std::cout << "Would you like to calculate again y/n?\n"; std::string answer = ""; std::cin >> an
再次()
函数。。。
在它内部,我通过调用另一个函数(如果
条件为真)创建了一个循环。像这样:
bool Again() {
std::cout << "Would you like to calculate again y/n?\n";
std::string answer = "";
std::cin >> answer;
if (answer[0] == 'y') {
std::cout << "Cool lets do it then \n";
PickTwo();
Again();
}
else {
std::cout << "alright, goodbye\n";
}
return 0;
}
bool再次(){
std::cout>答案;
如果(答案[0]=='y'){
标准::cout
以我在中再次()的方式创建循环是正确的还是不正确的?如果是,有正确的方法吗
在一种不支持尾部递归的语言中,您的程序有可能导致堆栈溢出。我不建议您以编写代码的方式使用它
最好使用while
循环或do while
循环。在循环中,再做你需要做的任何事情。有什么问题吗?像我在中再次做的那样创建循环是正确的还是不正确的()?如果是这样的话,有没有正确的方法?在我看来,这是错误的,因为当你说你将返回true或false时,返回0。这是一个就问题提出重点问题的地方,而不是通过询问你是否正确来学习编程。你所做的不是编写循环,而是一个递归程序(调用自身的函数)。您是否已经了解了循环(while/for)?此外,对于代码审阅,您应该在why need return 0上发布代码?或者使用do while
loop@JohnJoe当然
#include <iostream>
#include <string>
void Greetings();
int PickTwo();
bool Again();
int main() {
Greetings();
PickTwo();
Again();
system("pause");
return 0;
}
void Greetings() {
std::cout << "Hi my name is Program, we're going to do something today. \n";
std::cout << "Whats your name?\n";
std::string Name;
std::getline(std::cin, Name);
std::cout << "Hi " << Name << ", we're going to try to do math\n";
return;
}
int PickTwo() {
std::cout << "Please pick the numbers to be added\n";
int firstNumber;
std::cin >> firstNumber;
int secondNumber;
std::cin >> secondNumber;
int Answer = firstNumber + secondNumber;
std::cout << "This are your numbers " << firstNumber << " and " << secondNumber << std::endl;
std::cout << "If we add them you have " << Answer << std::endl;
return Answer;
}
bool Again() {
std::cout << "Would you like to calculate again y/n?\n";
std::string answer = "";
std::cin >> answer;
if (answer[0] == 'y') {
std::cout << "Cool lets do it then \n";
PickTwo();
Again();
}
else {
std::cout << "alright, goodbye\n";
}
return 0;
}