虽然我看到有些人为Python回答这个问题,但我不知道如何在C ++中这样做。请记住,我还在学习。
正如标题告诉你的那样,我试图通过while循环在C ++程序中定义多个变量。具体来说,我试图使它读取字符串的前8个字符,然后将它们分配给它们的专用字符值c1,c2,c3,c4,c5,c6,c7和c8。但是,我无法找到一种简单的方法来实现这一目标。
例如,它应该看到字符串" FAR OUT!"并将以下字符打印到每个c1-8变量:
- ˚F
- A
- - [R
- (空格)
- 0
- û
- Ť
- <!/ 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;
}
答案 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个字符,那么您就会遇到问题......