C++Pig拉丁代码,只删除文件信息
C++ Pig latin code, just deletes file info
所以我正在尝试制作一个pig拉丁程序,从指定的文件中读取,然后将其转换为pig拉丁。但由于某种原因,它只是清除了原始文件,我不确定我做错了什么。这是我的代码:
int main()
{
ifstream in;
char filename[200];
cout<< "Enter name of input file: ";
cin.getline(filename,200);
in.open(filename);
string out;
if(!in.is_open())
{
cout<<"ERROR failed to open input file " << filename << " BYEn";
//this.exit();
}
char word[200];
bool result;
while(!in.eof())
{
in>>word;
result=check(word);
if(result==true)
vowel(word);
else
consonant(word);
out += word;
out += " ";
}
cout << out;
}
bool check(char word[200])
{
if(word[0]=='a'|| word[0]=='e'|| word[0]=='i'|| word[0]=='o'|| word[0]=='u'|| word[0]=='A'|| word[0]=='E'|| word[0]=='I'|| word[0]=='O'|| word[0]=='U')
return true;
else
return false;
}
void vowel (char word[])
{
int last(0);
last=strlen(word);
word[last]='w';
word[last+1]='a';
word[last+2]='y';
word[last+3]=' ';
}
void consonant(char word[])
{
int last;
char temp=' ';
last=strlen(word);
word[0]=temp;
for(int i=1;i<last-1;i++)
{
char tem=word[i];
word[i]=word[i+1];
word[i-1]=tem;
}
word[last-1]=temp;
word[last]='a';
word[last+1]='y';
word[last+2]=' ';
}
我包括以下内容:
iostream
fstream
cstring
我为所有的代码道歉,但我真的不知道我的代码哪里错了,所以我把所有的都包括在内。
我正试图在windows8计算机上执行此操作,这可能是部分原因。
我的输出也是空白的,或者只是一个指针。。。
我试过你的代码,原始输入文件仍然可以。
对于输入文件数据:avoid pig
,输出为avoidway ig
,这是你想要的结果吗?
对于某种猪拉丁语,对于辅音,人们会把第一个字符移到末尾,并在单词上加上ay
?如果它是正确的,你可以尝试这个代码:
void consonant(char word[])
{
int last = strlen(word);
char temp = word[0];
for(int i=0; i<last-1; ++i)
{
word[i]=word[i+1];
}
word[last-1]=temp;
word[last]='a';
word[last+1]='y';
word[last+2]=' ';
}
相关文章:
- 如何在输入新内容 c++ 之前删除文件中的所有内容
- 文件模式标志"ios::app"是否用于删除文件(如果文件已存在)?
- 查找并删除文件 C++ 中的整行
- 如何删除文件中的数字,通过 c++ fstream 的
- 以编程方式防止重命名或删除文件,但仍使其可写
- C++ 如何使用_rmdir删除文件?
- 关于从驱动器中删除文件的问题
- Linux 从永远在线的应用程序中创建和删除文件
- 用户使用C++中的删除功能删除文件
- 如何在C++中删除文件中的一部分文本
- 我可以删除 *.o文件(代码:: blocks)
- 为什么std ::删除文件始终返回-1
- C++ 使用数字删除文件 io 行
- 如何使用 c++ 删除文件夹及其内容
- 如何在 C++ 中的文件处理中删除文件
- 用数字删除文件
- Cygwin:打开句柄时删除文件
- 接收文件并删除文件中的重复项
- 删除文件 C++ 中字符串中最后一个出现的字符
- 在循环内删除文件时使提升recursive_directory_iterator无效