在C ++中定义while循环中的多个变量

时间:2017-10-03 15:57:52

标签: c++ string variables while-loop char

虽然我看到有些人为Python回答这个问题,但我不知道如何在C ++中这样做。请记住,我还在学习。

正如标题告诉你的那样,我试图通过while循环在C ++程序中定义多个变量。具体来说,我试图使它读取字符串的前8个字符,然后将它们分配给它们的专用字符值c1,c2,c3,c4,c5,c6,c7和c8。但是,我无法找到一种简单的方法来实现这一目标。

例如,它应该看到字符串" FAR OUT!"并将以下字符打印到每个c1-8变量:

  
      
  1. ˚F
  2.   
  3. A
  4.   
  5. - [R
  6.   
  7. (空格)
  8.   
  9. 0
  10.   
  11. û
  12.   
  13. Ť
  14.   
  15. <!/ LI>   

最近的尝试似乎相信我指的是一个名为&#34; c&#34;的变量,而不考虑我告诉它采取变量检查值的事实,将1添加到它,然后将该数字添加到c的末尾,然后获取该输出的变量。

#include <iostream>
#include <string>

using namespace std;

int main()
{
    // varaible declaration(s)
    char c1;
    char c2;
    char c3;
    char c4;
    char c5;
    char c6;
    char c7;
    char c8;
    string phonenumber;
    int check = 0;

    // accept user input
    cout << "Phone number in letters: ";
    cin >> phonenumber;

    // convert string to char
    while(check < 8)
    {
        phonenumber[check] = c(check + 1);
        check = check + 1;
    }
    // start while loop

    // program logic and output
    cout << endl << c1 << c2 << c3 << c4 << c5 << c6 << c7 << c8 << endl;
}

2 个答案:

答案 0 :(得分:3)

为什么不使用char array

#include <array>
...

// instead of c1, c2, ...
std::array<char, 8> c;
// later
while (condition) {
    // read or set here, whatever you need
    c[check] = some_value;
    ...
}

答案 1 :(得分:0)

while循环不适用于此。编译代码时确定变量的名称;当程序运行时,你不能动态地创建变量名。

所以不要使用循环。阅读phonenumber后,将值复制到相应的变量中:

c1 = phonenumber[0];
c2 = phonenumber[1];

等等。当然,如果phonenumber中包含少于8个字符,那么您就会遇到问题......