我目前正在自学c ++,目前我仍然坚持这个问题。
我想创建一个保存Text(字符串)和Number(double)循环的程序。
#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
{环}
此代码的输出:
单词:一些字母
编号:010102
字数:数字:202010
感谢您的帮助。
答案 0 :(得分:0)
在现代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 ++?