作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我的这个程序是一个堆栈程序,可以让企业主输入客户的姓名。我在应该将名称压入堆栈的循环中出错,我觉得这可能与我使用 stoi 的事实有关。有什么想法吗?
#include <iostream>
#include <string>
#include <stack>
using namespace std;
int main()
{
stack<string> name;
cout << "Welcome to Carl's Cab Stand!!" << endl;
cout << endl;
string input;
while (input != "Stop") //Loop to enter names
{
cout << "Enter the names of your clients for today (Enter 'Stop' when finished): " << endl;
cin >> input;
}
int x = stoi(input); //Convert int/string
for (int y = 0; y < x; x++) //Loop to push names onto stack
name.push(y);
while (!name.empty()) //Loop to print names
{
cout << name.top() << endl;
name.pop();
}
cin.get();cin.get();
return 0;
}
最佳答案
我认为您的代码中存在一些错误。
在你的 while 循环中,你总是用最新的输入覆盖变量输入。在您的情况下,它将始终是“停止”。
那么如果你使用 stoi,在值为“Stop”的变量输入上,它应该返回什么?
for循环好像也有问题:(int y = 0; y < x; x++)每次迭代都会增加 x 。因此,如果 x 为正,它将运行直到发生溢出。您将收到的错误可能是由于这一行而发生的:
name.push(y);
堆栈用于字符串。 y 是一个整数。所以我认为这会导致错误。
因此再次检查您的程序并考虑它如何工作。
问候安迪
关于c++ - C++中输入名字和转载的堆栈程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43595653/
尽管这些年来Perl为广大编程爱好者所熟悉,但却对Perl存在一个令人尴尬的误解,以为Perl就是CGI,经常有人问我Perl和CGI,和PHP,和ASP比较如何如何,这是实在是件很遗憾的事情.这里
我是一名优秀的程序员,十分优秀!