关于C++ 文件流 fstream 的写入问题

源代码如下:#include<iostream>#include<fstream>#include"animal.h"usingnamespacestd;voidYZXQ... 源代码如下:
#include <iostream>
#include <fstream>
#include "animal.h"
using namespace std;

void YZXQ_Animal::SetName()
{
cout<<"请为您的宠物命名:"<<endl;
cin>>Name;
ofstream f1("Animal Farm.txt",ios::app);
if(!f1)
{
cout<<" 命名失败! "<<endl;
}
else
cout<<" 命名成功! "<<endl;
f1<<Name<<" ";
f1.close();
}
//------------------------------------------------------------------------------------------

void YZXQ_Animal::SetSex()
{
if(cin>>"1")
{
ofstream f1("Animal Farm.txt",ios::app);
if(!f1)
{
cout<<" 性别设置失败! "<<endl;
}
else
f1<<"Boy"<<" ";
f1.close();
cout<<" 性别设置成功! "<<endl;
}
else if(cin>>"2")
{
ofstream f1("Animal Farm.txt",ios::app);
if(!f1)
{
cout<<" 性别设置失败! "<<endl;
}
else
f1<<"Girl"<<" ";
f1.close();
cout<<" 性别设置成功! "<<endl;
}
else if(cin>>"3")
{
exit(0);
}
else
cout<<" 请按正确格式输入! "<<endl;

}
//------------------------------------------------------------------------------------------

SetName那里跑起来还是可以的,但到了性别那里,总是说Animal Farm.exe 已停止工作。
展开
 我来答
鎏金阁
2013-06-02 · TA获得超过580个赞
知道小有建树答主
回答量:483
采纳率:80%
帮助的人:362万
展开全部
if语句的括号内,表达式不是逻辑表达式。
按源程序书写来猜测,原意图是根据不同的输入1、2、或3,来决定执行不同的程序段。
应该先cin>>某个变量x,再用if(x==1),x是int类型变量;或用if(x==‘1‘),x是char类型变量;来判断。
百度网友10c6f4b
2013-06-02 · TA获得超过613个赞
知道小有建树答主
回答量:1083
采纳率:100%
帮助的人:202万
展开全部
cin>>"1"
是什么意思?
改为:int i;
cin>>i;
然后判断i
if( i==1){...}else if(i==2){...}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式