我是C ++的初学者(我课程已经有4天左右)我创建了一个小程序,它似乎按照我想要的方式工作。
快速摘要:
程序会询问您的姓名。 然后要求两个数字加在一起。 显示答案。 然后询问你是否想要再次计算y / n。
然而,我无法帮助,但感觉它在格式化方面完全是火车残骸。
特别是Again()
功能......
在其中,我通过调用另一个函数if
创建了一个循环,条件为真。像这样:
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;
}
按照我在Again()中的方式创建循环是正确还是不正确? 如果是的话,有没有正确的方法呢?
这是整个计划:
#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;
}
提前谢谢你,知道什么不该做会帮助我在坏习惯之前解决这个坏习惯。
答案 0 :(得分:1)
按照我在Again()中的方式创建循环是正确还是不正确?如果是的话,有没有正确的方法呢?
在不支持尾递归的语言中,您的程序可能会导致堆栈溢出。我建议你不要使用它来编码。
最好使用data: [require("./gifs/2.gif"), require("./gifs/3.gif"), require("./gifs/4.gif")]
循环或while
循环。在循环中,做任何你需要做的事情再次。