C++ 保留有效位数的方法.
cout.precision(2); //总的有效数字
cout.flags(cout.fixed); // 小数点后面有效数字
cout.unsetf(cout.fixed); //复原
输入数据时,前面输入错误,导致后面无法输入. 解决方法.(过程和原理)
#include <iostream>
#include <Windows.h>
#include <string>
using namespace std;
int main(void) {
int a;
int b;
int c;
//std::cin >> a >> b >> c;
std::cout << "请输入a: ";
std::cin >> a;
if (cin.fail()) { //检查输入时是否发生了错误
cout << "输入错误,应该输入一个整数" << endl;
//清除错误标记,使得后续输入可以正常进行
//但是已经输入的数据还在输入缓冲区
cin.clear();
cin.sync(); //清空输入缓冲区
}
std::cout << "请输入b: ";
std::cin >> b;
if (cin.fail()) {
cout << "输入错误,应该输入一个整数" << endl;
cin.clear(); //清除错误标记,使得后续输入可以正常进行
cin.sync(); //清空输入缓冲区
}
std::cout << "请输入c: ";
std::cin >> c;
if (cin.fail()) {
cout << "输入错误,应该输入一个整数" << endl;
cin.clear(); //清除错误标记,使得后续输入可以正常进行
}
std::cout << "a=" << a << std::endl;
std::cout << "b=" << b << std::endl;
std::cout << "c=" << c << std::endl;
system("pause");
return 0;
}