我目前正在自学c++,我目前被这个问题卡住了。
我想创建一个程序,保存文本(字符串)和数字(双倍)循环。
#include <iostream>
#include <iomanip>
#include <cstring>
using namespace std;
int main() {
string words[999],addwords;
double numbers[999],addnumbers;
int totalwords=0,totalnumbers=0;
head:
cout << "Word: "; getline(cin,addwords);
words[totalwords] = addwords;
totalwords+=1;
cout << "Numbers: "; cin >> addnumbers;
numbers[totalnumbers] = addnumbers;
totalnumbers+=1;
goto head;
}EOF
输出必须是:
文字:几封信
数量: 010102
文字:几封信
数量: 010102
{loop}
此代码的输出如下:
文字:几封信
数量: 010102
单词:数字: 202010
谢谢你的帮助。
发布于 2012-12-13 12:14:55
在现代C++中,更好的做法是使用独立的getline方法,如下所示:
std::string s;
std::cout << "Enter some text:";
std::getline(cin, s);如果你打算像上面那样在循环中做这件事,那么我也建议你使用:
std::cin.clear();
std::cin.sync(); 在每次后续读取之前,它看起来如下所示:
std::cout << "Enter some more text:";
std::cin.clear();
std::cin.sync();
std::getline(cin, s);除此之外,你的代码还存在其他问题,其中最重要的就是GOTO的使用。您使用什么资源来学习C++?
https://stackoverflow.com/questions/13852605
复制相似问题