C ++数组中的北约字母表
Nato alphabet in c++ array
我必须将大写字符转换为对应的北约拼音字母。使用两个数组。
letters.txt 是一个包含字母 A-Z 的文本文件
words.txt是北约注音字母Alpha-Zulu
的文本文件
(例如:A=Alpha,B=Bravo...)
我遇到的问题是每次转换字母时只打印 Zulu。
我必须向该程序添加或更改什么才能正确转换?
这是代码
#include <iostream>
#include <string>
#include <fstream>
#include <iomanip>
using namespace std;
int main()
{
ifstream inputFile;
inputFile.open("words.txt");
string word;
while (inputFile >> word)
{
}
inputFile.open("letters.txt");
char letter;
while (inputFile >> letter)
{
}
char choice;
char letter2;
char Alpha[26]={letter};
string Words[26]={word};
do
{
cout<<"\nPlease enter a letter"<<endl;
cout<<"Letter: ";
cin>>letter2;
for(int count=0; count < 26; count++)
{
cout<< Words[count];
}
cout<<"\nDo you want to run this program again? <y/n>"<<endl;
cin>>choice;
}
while(choice=='y' || choice=='Y');
return 0;
}
您需要合适的容器来存放您的信件和单词。
现在您正在从文件中读取它们,将每个 word/letter 放入一个变量中(变量名为 word 和 letter ).但是每个 word/letter 都会覆盖前一个(这就是为什么你只看到最后一个词,Zulu)。
要真正阅读并保存它们,您需要 vector
或 array
。
单词示例(字母相同):
std::vector<std::string> words;
words.reserve(26); // you know you need 26 words, reserve memory in advance
string word;
while (inputFile >> word)
{
words.push_back(word);
}
像这样你所有的单词都进入你的容器单词。
然后继续你的算法 ;-)
我必须将大写字符转换为对应的北约拼音字母。使用两个数组。
letters.txt 是一个包含字母 A-Z 的文本文件
words.txt是北约注音字母Alpha-Zulu
的文本文件(例如:A=Alpha,B=Bravo...)
我遇到的问题是每次转换字母时只打印 Zulu。
我必须向该程序添加或更改什么才能正确转换?
这是代码
#include <iostream>
#include <string>
#include <fstream>
#include <iomanip>
using namespace std;
int main()
{
ifstream inputFile;
inputFile.open("words.txt");
string word;
while (inputFile >> word)
{
}
inputFile.open("letters.txt");
char letter;
while (inputFile >> letter)
{
}
char choice;
char letter2;
char Alpha[26]={letter};
string Words[26]={word};
do
{
cout<<"\nPlease enter a letter"<<endl;
cout<<"Letter: ";
cin>>letter2;
for(int count=0; count < 26; count++)
{
cout<< Words[count];
}
cout<<"\nDo you want to run this program again? <y/n>"<<endl;
cin>>choice;
}
while(choice=='y' || choice=='Y');
return 0;
}
您需要合适的容器来存放您的信件和单词。
现在您正在从文件中读取它们,将每个 word/letter 放入一个变量中(变量名为 word 和 letter ).但是每个 word/letter 都会覆盖前一个(这就是为什么你只看到最后一个词,Zulu)。
要真正阅读并保存它们,您需要 vector
或 array
。
单词示例(字母相同):
std::vector<std::string> words;
words.reserve(26); // you know you need 26 words, reserve memory in advance
string word;
while (inputFile >> word)
{
words.push_back(word);
}
像这样你所有的单词都进入你的容器单词。
然后继续你的算法 ;-)