1:在一个循环中读入两个int并打印出来,如果遇到’|’就退出程序。
分析:
从键盘输入中读取两个数,有可能读的是非数值类型,所以第一点,非数值类型需要考虑到;
两个int + 一个字符是题目中需要体现的。那么读取出来后的存储类型就需要提前设计好。因为从键盘输入读出来的数据不能确定是不是数值类型,所以不能放在int 或是char上,正好string倒是可以存放,存放之后可以转成int;
一次读两个数,如果用户输入了一个数值,一个结束字符,或者输入了100个数值,或者只输入一个,那肯定不能只用一个string来存储,需要用到vector。
整个程序的逻辑比较简单,需要注意的只是存放键盘输入的类型。
std::vector<std::string> vec;
std::string str;
while ( std::cin >> str )
{
if ( std::string::npos != str.find('|') )
break;
vec.push_back(str);
if ( vec.size() >= 2 )
{
std::stringstream ss;
int a { -1 };
int b { -1 };
ss << vec.at(0);
ss >> a;
ss.str("");
ss.clear();
ss << vec.at(1);
ss >> b;
if ( -1 != a && -1 != b)
std::cout << "a = " << a << " b = " << b << std::endl;
vec.clear();
std::cout << "please enter two int: " << std::endl;
}
}
这个程序的并没有判断用户输入-1的情况,还需要完善
什么是计算?computation
在c++通过一些输入产生一些输出的过程,称为计算。
eg:通过键盘输入,到最后的屏幕显示一些东西,也可以称为计算的一个例子
表达式操作在进行时,需要注意哪些方面
正确性是第一要保证的。简单性除了保证正确性更多的是表达了可读性(表达式的可读性尤为重要)。高效性是保证正确性的基础上,应尽可能达到的目标。
什么是符号常量,什么是魔法常量?
c++新书上丢出来的两个称呼:
常量 比如说3.14159半径相关的参数,如果在代码中用const或是constexpr来修饰一个常变量(不变的变量,简称 常量),那这个常变量可以称为符号常量。如果代码中全是用3.14来代替π出现的地方,那这个3.14被称为魔法常量。如果有几百个出现3.14的地方,其中有一个写成了3.41,那乐子就大了。可能是应为这样,所以戏称魔法。