[英]Retrieving a variable from an array
好的,我遇到的問題是我有一個包含 27 個字符的數組,我需要編寫一個函數來根據用戶輸入顯示特定字符 0 - 25。
該數組是一個常量字符串:
const string ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
這個想法是,用戶輸入一個 1 到 25 之間的值(整數值),然后在數組中顯示共同贊助字母。 我這樣做是通過使用:
cout << ALPHABET[value];
我的問題是這是一種創建數組的適當方法,我是否能夠以這種方式從數組中檢索值。
const string ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int main()
{
int value; //Variable defining user entered value
cout << "Please enter a number between 0-25." << endl;
cin >> value;
if (value > 25) //If statement to display "-1" if number entered is past "Z"
cout << "-1" << endl;
else
cout << ALPHABET[value];
return 0;
}
我的問題是這是一種創建數組的適當方法,我是否能夠以這種方式從數組中檢索值。
雖然它可以使用字符串:
int main()
{
const string ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int num = -1;
while (num < 0 || num > 25) {
cout << "Enter number (0 - 25): ";
cin >> num;
}
cout << ALPHABET[num] << '\n';
}
我喜歡使用std::vector
來包含元素序列:
vector<char> ALPHABET(26);
iota(begin(ALPHABET), end(ALPHABET), 'A');
也許這就是你想要做的。 其中包括創建數組的正確方法。
#include <iostream>
char ALPHABET[] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '\0' };
//the \0 means the end of the array of characters a.k.a. a string
int main()
{
int value; //Variable defining user entered value
std::cout << "Please enter a number between 0-25." << std::endl;
std::cin >> value;
if (value > 25 || value < 0) //If statement to display "-1" if number entered is past "Z"
std::cout << "-1" << std::endl;
else
std::cout << ALPHABET[value];
return 0;
}
(創建數組的方法還有很多)像"char ALPHABET[26] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H' , 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', ' U', 'V', 'W', 'X', 'Y', 'Z', '\\0' };
26 表示該數組中不能超過 26 個字符。
如果你對我不使用“使用命名空間 std;”感到困惑取而代之的是“std::”,如果您有兩個名稱空間帶有“cout”或“endl”,程序將不知道您想使用哪一個。
因此,如果您想確保它來自正確的命名空間,請使用命名空間的名稱和兩個冒號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.