C++语言程序设计(第四版)郑莉 第2章案例

C++语言程序设计(第四版)郑莉 书上案例

目前在学习这本书,后面会保持更新。

#include <iostream>
using namespace std;

void test2_1(){
	cout<<"Hello!"<<endl;
	cout<<"Welcome to C++!"<<endl;
}

//输入一个年份判断是否是闰年 
void test2_2(){
	int year;
	bool isLeapYear;
	
	cout<<"请输入年份:"<<endl;
	cin>>year;
	isLeapYear=((year%4==0 && year%100!=0)||(year%400==0));
	
	if(isLeapYear){
		cout<<year<<"是闰年!"<<endl; 
	}else{
		cout<<year<<"不是闰年!"<<endl; 
	}
} 

//比较两个数的大小 
void test2_3(){
	int x,y;
	cout<<"请输入x和y:"<<endl;
	cin>>x>>y;
	if(x!=y)
		if(x>y)
			cout<<"x>y"<<endl;
		else
			cout<<"x<y"<<endl;
	else
		cout<<"x=y"<<endl;
	
}
//输入一个0到6的整数,转换成星期输出 
void test2_4(){
	int day;
	cout<<"请输入0~6之间的整数:"<<endl;
	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<<"输入的整数不在0-6之间!"<<endl;
		//	break; 
	} 
} 
//求自然数1到10之和 
void test2_5(){
	int i=1,sum=0;
	cout<<sum;
	while(i<=10){
		sum+=i;
		i++;
	} 
	cout<<"sum="<<sum<<endl;
} 
void test2_5_1(){
	int i,sum=0;
	do{
		sum+=i;
		i++;
	}while(i<=10);
	cout<<"sum="<<sum<<endl;
} 

//输入一个整数,将各位数字反转后输出 
void test2_6(){
	int n,right_digit,newnum=0;
	cout<<"请输入一个整数:"<<endl;
	cin>>n;
	cout<<"将各位数字反转后为";
	do{
		right_digit=n%10;
		cout<<right_digit;
		n/=10;
	}while(n!=0);
	cout<<endl;
}  

//求自然数1~10之和 
void test2_7(){
	int i=1,sum=0;
	do{
		sum+=i;
		i++; 
	}while(i<=10);
	cout<<"sum="<<sum<<endl;
} 

//输入一个整数,求出它的所有因子
void test2_8(){
	int n;
	cout<<"请输入一个整数:"<<endl;
	cin>>n;
	cout<<"整数"<<n<<"的因子有";
	
	for(int k=1;k<=n;k++){
		if(n%k==0){
			cout<<k<<" ";
		}
	} 
	cout<<endl;
} 

//输出图案 
void test2_9(){
	const int N=4;
	for(int i=1;i<=N;i++){//输出前四行 
		for(int j=1;j<=30;j++){//左侧空30列 
			cout<<" ";
		} 
		for(int m=1;m<=8-2*i;m++){//每行空格 
			cout<<" ";
		} 
		for(int n=1;n<=2*i-1;n++){//每行图案 
			cout<<"*";
		} 
		cout<<endl; 
	} 
	for(int i=1;i<=N-1;i++){//输出后三行 
		for(int j=1;j<=30;j++){//左侧空30列 
			cout<<" ";
		} 
		for(int n=1;n<=7-2*i;n++){//每行图案 
			cout<<"*";
		} 
		cout<<endl;
	} 
}

//读入一系列整数,统计出正整数个数i和负整数个数j,读入0则结束 
void test2_10(){
	int i=0,j=0,n;
	cout<<"请输入一些整数(输入0结束):"<<endl;
	cin>>n;
	while(n!=0){
		if(n>0){
			i+=1;
		}else{
			j+=1;
		}
		cin>>n;
	} 
	cout<<"正整数个数:"<<i<<endl;
	cout<<"负整数个数:"<<j; 
}

//设某次体育比赛的结果有四种可能:胜(WIN)、负(LOSE)、平局(TIE)、比赛取消(CANCEL),编写程序顺序输出这四种情况 
enum GameResult{
	WIN,LOSE,TIE,CANCEL 
}; 
void test2_11(){
	GameResult result;
	enum GameResult omit=CANCEL;
	
	for(int count=WIN;count<=CANCEL;count++){
		result=GameResult(count);
		if(result==omit)
			cout<<"这个比赛取消了!"<<endl;
		else{
			cout<<"这个比赛";
			if(result==WIN)
				cout<<"我们赢啦!"<<endl;
			if(result==LOSE)
				cout<<"我们输啦!"<<endl;
			if(result==TIE){
				cout<<"平局啦!"<<endl;
			}
			cout<<endl; 
		} 
	}
}
int main(){
	test2_11();
	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值