在数组c ++中添加字符串

时间:2012-12-13 03:45:24

标签: c++ arrays

我目前正在自学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

感谢您的帮助。

1 个答案:

答案 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 ++?