一个C++程序,没有错误。运行结束后怎么什么也没有显示?

程序要求读取一个文本,大写字母变小写,小写变大写。然后存入另一个文本。我用C++遍好后,没有错误,但是不会运用。求高手帮忙#include<fstream>#includ... 程序要求读取一个文本,大写字母变小写,小写变大写。然后存入另一个文本。我用C++遍好后,没有错误,但是不会运用。求高手帮忙

#include <fstream>
#include <iostream>

using namespace std;

char ChangULCase(char ch)
{
if (ch>='A' && ch<='Z')
{
ch += 32;
}
else if (ch>='a' && ch<='z')
{
ch -= 32;
}
}

int main(void)
{
ifstream infile;
ofstream outfile;
char ch;

infile.open("./in.txt", ios::in);
outfile.open("./out.txt", ios::out);

while (!infile.eof())
{
ch = infile.get();

ch = ChangeULCase(ch);

outfile.put(ch);
}

infile.close();
outfile.close();

return 0;
}
为什么ChangeULCase是错的,要怎么改阿。还有,读取的那个文本有什么要求?如地址。
展开
 我来答
qyjubriskxp
2010-07-09 · TA获得超过892个赞
知道小有建树答主
回答量:735
采纳率:0%
帮助的人:747万
展开全部
因为你声明的函数是ChangULCase,注意少了一个e,而且并没有返回值,所以有错
还有程序运行有结果,结果在out.txt里面,其中in.txt和out.txt都和程序在同一个文件夹里
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
李子风1997
2010-07-09 · 超过10用户采纳过TA的回答
知道答主
回答量:32
采纳率:0%
帮助的人:0
展开全部
#include <fstream>
#include <iostream>

using namespace std;

char ChangeULCase(char ch)
{
if (ch>='A' && ch<='Z')
{
ch += 32;
}
else if (ch>='a' && ch<='z')
{
ch -= 32;
}
return ch;
}

int main(void)
{
ifstream infile;
ofstream outfile;
char ch;

infile.open("./in.txt", ios::in);
outfile.open("./out.txt", ios::out);

while (!infile.eof())
{
ch = infile.get();

ch = ChangeULCase(ch);

outfile.put(ch);
}

infile.close();
outfile.close();

return 0;
}

函数总得有返回值吧???
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wendellgates
2010-07-09 · 超过22用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:72.7万
展开全部
ChangeULCase函数最后要加return ch;
ch = ChangeULCase(ch);的赋值才有意义。
如果文件跟程序不是一个目录下,就应该用绝对地址
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xjc_cd
2010-07-09 · TA获得超过413个赞
知道小有建树答主
回答量:445
采纳率:0%
帮助的人:438万
展开全部
程序改成如下:

#include <fstream>
#include <iostream>

using namespace std;

char ChangULCase(char ch)
{
char schar;
if (ch>='A' && ch<='Z')
{
ch += 32;
}
else if (ch>='a' && ch<='z')
{
ch -= 32;
}

schar = ch;
return schar; //增加返回值
}

int main(void)
{
ifstream infile;
ofstream outfile;
char ch;

infile.open("in.txt", ios::in); //放置目录
outfile.open("out.txt", ios::out); //放置目录

while (!infile.eof())
{
ch = infile.get();

ch = ChangULCase(ch);

outfile.put(ch);
}

infile.close();
outfile.close();

return 0;
}

注意:程序运行目录下必须要有in.txt文件,程序是不会自动创建文件的。程序找不到该文件,所以程序会一直循环。out.txt程序会自动建立。详情请查看MSDN中ifstream,ofstream的使用说明。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chengfei198810
2010-07-09
知道答主
回答量:10
采纳率:0%
帮助的人:0
展开全部
可能是编译器的问题 去别的电脑上试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式