TIPS:
1.int x,y; 分号不要忘记!
2.int count=WIN 就是把枚举类型的数据WIN隐含转换为整型,作为整型变量count的初值。
3.count<=CANCEL也会把枚举类型数据CANCEL隐含转换为count,再与count进行比较。
4.result=GameResult(count)整型数据到枚举数据的转换则需要采用显式转换的方式
5.result=static_cast<GameResult>(count);也可以用static_cast完成
例2-1 一个简单的C++程序
//2_1.cpp
#include <iostream>
using namespace std;
int main(){
cout<<"Hello!"<<endl;
cout<<"Welcome to C++!"<<endl;
system("pause");
return 0;
}
例2-2 输入一个年份,判断是否是闰年。
//2_2.cpp
#include <iostream>
using namespace std;
int main(){
int year;
bool isLeapYear;
cout<<"Enter the year:";
cin>>year;
isLeapYear=((year%4==0 && year%100!=0) || (year%400==0));
if (isLeapYear)
cout<<year<<"is a leap year"<<endl;
else
cout<<year<<"is not a leap year"<<endl;
system("pause");
return 0;
}
例2-3 比较两个数的大小。
//2_3.cpp
#include <iostream>
using namespace std;
int main(){
int x,y;
cout<<"Enter your x and y:";
cin>>x>>y;
if (x!=y)
if (x>y)
cout<<"x>y"<<endl;
else
cout<<"x<y"<<endl;
else
cout<<"x=y"<<endl;
system("pause");
return 0;
}
例2-4 输入一个0~6的整数,转换成星期输出
//2_4.cpp
#include <iostream>
using namespace std;
int main(){
int day;
cin>>day;
switch (day){
case 0:
cout<<"Sunday"<<endl;
break;
case 1:
cout<<"Monday"<<endl;
break;
case 2:
cout<<"Tuesday"<<endl;
break;
case 3:
cout<<"Wednesday"<<endl;
break;
case 4:
cout<<"Thursday"<<endl;
break;
case 5:
cout<<"Friday"<<endl;
break;
case 6:
cout<<"Saturday"<<endl;
break;
default:
cout<<"Day out of range Sunday...Saturday"<<endl;
break;
}
system("pause");
return 0;
}
例2-5 求自然数1~10之和。
//2_5.cpp
#include <iostream>
using namespace std;
int main(){
int i=1,sum=0;
while (i<=10){
sum += i;
i++;
}
cout<<"sum="<<sum<<endl;
system("pause");
return 0;
}
例2-6 输入一个整数,将各位数字反转后输出。
//2_6.cpp
#include <iostream>
using namespace std;
int main(){
int n,right_digit,newnum=0;
cout<<"Enter the number:";
cin>>n;
cout<<"The number in reverse order is";
do{
right_digit=n%10; //取余
cout<<right_digit;
n/=10; //取整
}while (n!=0);
cout<<endl;
system("pause");
return 0;
}
例2-7 用do…while语句编程,求自然数1~10之和。
//2_7.cpp
#include <iostream>
using namespace std;
int main(){
int i=1,sum=0;
do {
sum+=i;
i++;
}while(i<=10);
cout<<"sum"<<sum<<endl;
system("pause");
return 0;
}
例2-8 输入一个整数,求出它的所有因子。
//2_8.cpp
#include <iostream>
using namespace std;
int main(){
int n;
cout<<"Enter a positive integer:";
cin>>n;
cout<<"Number "<<n<<" Factors ";
for (int k=1;k<=n;k++)
if (n%k==0)
cout<<k<<" ";
cout<<endl;
system("pause");
return 0;
}
2-9 编写程序输出以下图案。
//2_9.cpp
#include <iostream>
using namespace std;
int main(){
const int N=4;
for (int i=1;i<=N;i++){ //输出前4行图案
for (int j=1;j<=30;j++) //在图案左侧空30列
cout<<' ';
for (int j=1;j<=8-2*i;j++)
cout<<' ';
for (int j=1;j<=2*i-1;j++)
cout<<'*';
cout<<endl;
}
for (int i=1;i<=N-1;i++){
for (int j=1;j<=30;j++)
cout<<' ';
for (int j=1;j<=7-2*i;j++)
cout<<'*';
}
system("pause");
return 0;
}
例2-10 读入一系列整数,统计出正整数个数i和负整数个数j,读入0则结束。
//2_10.cpp
#include <iostream>
using namespace std;
int main(){
int i=0,j=0,n;
cout<<"Enter some integers please (enter 0 to quit):"<<endl;
cin>>n;
while (n!=0){
if (n>0) i+=1;
if (n<0) j+=1;
cin>>n;
}
cout<<"Count of positive integers:"<<i<<endl;
cout<<"Count of negative integers:"<<j<<endl;
system("pause");
return 0;
}
例2-11 设某次体育比赛的结果有四种可能:胜(WIN)、负(LOSE)、平局(TIE)、比赛取消(CANCEL),编写程序顺序输出这四种结果。
//2_11.cpp
#include <iostream>
using namespace std;
enum GameResult {WIN,LOSE,TIE,CANCEL};
int main(){
GameResult result; //声明变量时,可以不写关键字enum
enum GameResult omit=CANCEL; //也可以在类型名前面写enum
for (int count=WIN;count<=CANCEL;count++){ //隐含类型转换
/*枚举类型的数据可以隐含转换为整数类型,详见开头*/
result=GameResult(count);//显式类型转换
if (result==omit)
cout<<"The game was cancelled"<<endl;
else{
cout<<"The game is played";
if (result==WIN)
cout<<"and we won!";
if (result==LOSE)
cout<<"and we lost.";
cout<<endl;
}
}
system("pause");
return 0;
}