C++ 编译出错,提示cin未定义

在VC++2008速成版中,编译程序出错,提示未声明“cin”我加入了库函数iostream啊。之所以是C代码,是因为本来就是C程序,原来使用scanf时不接收数据,加上... 在VC++2008速成版中,编译程序出错,提示未声明“cin”我加入了库函数iostream啊。之所以是C代码,是因为本来就是C程序,原来使用scanf时不接收数据,加上fflush(stdin);都不接收,于是我就试试C++语句替换,结果就编译出错了

源程序如下:
// test.cpp : 定义控制台应用程序的入口点。
#include "stdafx.h"

#include"stdio.h"
#include<iostream>
#include "conio.h"
#include<string>
double a=0.4,b=0.4;//全局变量在大程序中要用

void main()
{ char ch,ch2;
int fl=1;
while(fl==1)
{printf("是否需要修改百分比?当前平时成绩占%.2f%%,考试成绩占%.2f%%。(y/n)\n",a*100,(1-a)*100);
ch=getch();
if(ch=='Y'||ch=='y')
{
printf("请输入平时成绩在总成绩中所占百分比,用小数表示:\n");
printf("平时成绩比例:");
cin>>b;
cout<<"wu"<<endl;
if(a<0||a>1)
{printf("请确认比例范围[0,1]!");
b=a;
}
else a=b;
printf("您的比例设置为:平时成绩占%.2f%%,考试成绩占%.2f%%。是否接受此比例?(y/n)\n",a*100,(1-a)*100);
ch2=getch();

if(ch2=='y'||ch2=='Y') fl=0;
else fl=1;
}
else fl=0;
}
}
展开
 我来答
zjfaok
2013-06-14 · TA获得超过6807个赞
知道大有可为答主
回答量:4146
采纳率:62%
帮助的人:1644万
展开全部
正因为编译器严格遵从标准,所以才把标准库中的名称都放入std命名空间,以防止重名BUG,不像在标准发布之前出现的VC++6.0,还有<iostream.h>这样不标准的头文件名,而且至今还有许多人都按照外国10年前就已经抛弃的使用不标准的头文件的习惯……
匿名用户
2013-06-14
展开全部
cin是定义在iostream头文件的std命名空间里的。所以全称是std::cin,std::cout。你看到某些程序直接用cin、cout,那些程序前面一定有一个using namespace std;也就是把std::cin与cin等同。
所以还不是编译器的问题啦~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangpaishi
推荐于2018-03-23 · TA获得超过570个赞
知道小有建树答主
回答量:932
采纳率:52%
帮助的人:766万
展开全部
试试 std::cin std::cout
追问
嗯,这个可以,看来应该是编译器的问题
追答
就是 using namespace std; 的问题
cin cout 在 std namespace 里面
在标准命名空间里
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bill1996
2013-06-15 · TA获得超过109个赞
知道答主
回答量:148
采纳率:0%
帮助的人:48.7万
展开全部
开头要using namespace std
或者 用 std::cin
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chujiangke001
2013-06-14 · TA获得超过1605个赞
知道小有建树答主
回答量:1352
采纳率:0%
帮助的人:702万
展开全部
加一句using namespace std;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式