C++ 北约字母c++;大堆
我必须将大写字符转换为对应的北约拼音字母。使用两个数组 letters.txt是一个包含字母a-Z的文本文件 words.txt是一个带有北约拼音字母Alpha Zulu的文本文件 (例如:A=Alpha,B=Bravo…) 我的问题是,每次转换一封信时,只打印祖鲁语 我必须向该程序添加或更改什么才能正确转换? 这是密码C++ 北约字母c++;大堆,c++,arrays,string,for-loop,alphabet,C++,Arrays,String,For Loop,Alphabet,我必须将大写字符转换为对应的北约拼音字母。使用两个数组 letters.txt是一个包含字母a-Z的文本文件 words.txt是一个带有北约拼音字母Alpha Zulu的文本文件 (例如:A=Alpha,B=Bravo…) 我的问题是,每次转换一封信时,只打印祖鲁语 我必须向该程序添加或更改什么才能正确转换? 这是密码 #include <iostream> #include <string> #include <fstream> #include
#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;
}
#包括
#包括
#包括
#包括
使用名称空间std;
int main()
{
ifstream输入文件;
open(“words.txt”);
字符串字;
while(输入文件>>word)
{
}
inputFile.open(“letters.txt”);
字符字母;
while(输入文件>>字母)
{
}
字符选择;
字符字符2;
char Alpha[26]={letter};
字符串字[26]={word};
做
{
你需要合适的容器来装你的字母和单词吗
现在,您正在从文件中读取它们,将每个单词/字母放入一个变量(变量名为word和letter),但每个单词/字母都会覆盖上一个(这就是为什么您只看到最后一个单词Zulu)
要真正读取并保存它们,您需要一个向量
或数组
单词示例(对字母执行相同操作):
std::向量词;
保留(26);//你知道你需要26个单词,提前保留记忆
字符串字;
while(输入文件>>word)
{
单词。推回(单词);
}
像这样,你所有的单词都被放入你的容器单词
然后继续您的算法;-),而(inputFile>>word){}
只会在每次迭代中替换上一个单词。您只存储一个单词,即最后一次读取。字符串字[26]={word}
定义了一个由26个字符串组成的数组,第一个单词是存储在word
中的任何字符串,其余是空字符串。直接读入单词和字母。
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);
}