#include <iostream>
int main(int argc,constchar * argv[]) {
// insert code here...
longlong population_us,population_world;
std::cout <<"Enter the world's population : " ;
std::cin >> population_world;
std::cout <<"Enter the population of the US : " ;
std::cin >> population_us;
std::cout <<"The population of the US is " <<double(population_us) / double(population_world) *100 <<"% of the world population" <<std::endl;
std::cout <<310783781.0/6898758899.0 <<std::endl;
return0;
}
输入的时候:
Enter the world's population : 6898758899
Enter the population of the US : 310783781
The population of the US is 4.50492% of the world population
0.0450492
Program ended with exit code: 0
非正常输入:
Enter the world's population : 6898758899.0
Enter the population of the US : The population of the US is 0% of the world population
0.0450492
Program ended with exit code: 0
侥幸通过输入:
Enter the world's population : 6898758899
Enter the population of the US : 310783781.0
The population of the US is 4.50492% of the world population
0.0450492
Program ended with exit code: 0
问题疑问:
1.cin操作机制
2.如何去操作避免这种误输入
========================华丽的分割线,就是那么英俊========================
补充:
#include <iostream>
int main(int argc,const char * argv[]) {
// insert code here...
usingnamespace std;
constint ArSize = 20;
char name[ArSize];
char dessert[ArSize];
cout <<"Enter your name:\n";
cin.getline(name, ArSize);
cout <<"Enter your favorite dessert:\n";
cin.getline(dessert, ArSize);
cout <<"I have some delicious " << dessert;
cout <<" for you, " << name << ".\n";
return0;
}
正常输入:
Enter your name:
Dirk Hammernose
Enter your favorite dessert:
Radish Torte
I have some delicious Radish Torte for you, Dirk Hammernose.
Program ended with exit code: 0
非正常输入:
当我将ArSize 改成10的时候,name无法容纳那么多字符,出现问题
Enter your name:
Dirk Hammernose
Enter your favorite dessert:
I have some delicious for you, Dirk Hamm.
Program ended with exit code: 0
========================华丽的分割线,就是那么英俊========================
int main(int argc, const char * argv[]) {
// insert code here...
using namespace std;
const int ArSize = 10;
char name[ArSize];
char dessert[ArSize];
cout << "Enter your name:\n";
cin.get(name, ArSize).get();
cout << "Enter your favorite dessert:\n";
cin.get(dessert, ArSize).get();
cout << "I hace some delicious " << dessert;
cout << " for you, " << name << ".\n";
return 0;
}
非正常输入:
Enter your name:
Mai Parfait
Enter your favorite dessert:
I hace some delicious tfor you, Mai Parfa.
Program ended with exit code: 0