1.1 cout/cin/函数 练习
1. 程序:
/*
*Author: may
*Date: 2017.04.21
*Function: 输入输出(cin,cout)练习,函数练习
*/
#include <iostream>
#include <string>
int main(int argc, char *argv[])
{
using namespace std;
void question(void);
string iStr;
question();
cin>>iStr;
while(iStr != "写程序")
{
cout<<"猜错了,重写:"<<endl;
cin>>iStr;
}
cout<<"猜对了!"<<endl;
getchar();
getchar();
cout<<"没奖励。哈哈~\n";
getchar();
getchar();
return 0;
}
void question(void)
{
using namespace std;
cout<<"猜我在干嘛?三个字。你输入答案:"<<endl;
}
2. 说明:
(1) 源代码开头注释
源代码的开头最好对本程序进行必要说明,方便别人看,也方便自己以后修改。
(2)没有包含string头文件时出错
如果没有 #include <string> 会报错,具体如下:
1. 错误提示:
c:\softs\vs2010\vs2010_exe\vc\include\ostream(487): 或 “std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::basic_streambuf<_Elem,_Traits> *)”
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> 尝试匹配参数列表“(std::basic_ostream<_Elem,_Traits>, std::string)”时
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1>
1>生成失败。
1>
2. 解决方法:
添加头文件: #include <string>
3.分析:
可能没有添加<string>头文件,使得重载符号<<在使用时无法识别inStr变量,导致错误。
将鼠标放到出现错误的地方(cin<<inStr;这句的<<符号处),提示时却只提示【Error:没有与这些操作数匹配的“>>”运算符】
(3)函数声明
引用函数 question() 前要先对它进行声明:
void question(void);
以便编译器在编译时给它分配和标记内存。