C语言第八讲

课堂笔记

一、开关语句

    //switch  case default  break

    /*int op;

    cout<<"1.menu1"<<endl;

    cout<<"2.menu2"<<endl;

    cout<<"3.menu3"<<endl;

    cout<<"4.menu4"<<endl;

   

    cin>>op;

   

    switch (op)//op应该是整型的表达式或者变量

    {

           case 1:

                    cout<<"menu1"<<endl;

                    break;

           case 2:

                    cout<<"menu2"<<endl;

                    break;

           case 3:

                    cout<<"menu3"<<endl;

                    break;

           case 4:

                    cout<<"menu4"<<endl;

                    break;

           default://默认的

                    cout<<"error"<<endl;

                   

} */

二、四则运算器

   

    /*int a,b;

    int answer;

    char op;

    srand(time(NULL));

    a=rand()%10;

    b=rand()%10;

   

    switch (rand()%4)

    {

           case 0: op='+';break;

           case 1: op='-';break;

           case 2: op='*';break;

           case 3: op='/';break;

    }

    //cin>>a>>op>>b;

   

    //2.3 + 3.5

    cout<<a<<op<<b<<"=";

    cin>>answer;

   

    switch (op)

    {

           case '+':

               

                    if(answer==a+b) cout<<"right"<<endl;

                    else cout<<"error"<<endl;                  

                    break;

           case '-':

                    if(answer==a-b) cout<<"right"<<endl;

                    else cout<<"error"<<endl;                  

                    break;

           case '*':

                    if(answer==a*b) cout<<"right"<<endl;

                    else cout<<"error"<<endl;                  

                    break;

           case '/':

                    if(answer==a/b) cout<<"right"<<endl;

                    else cout<<"error"<<endl;                  

                    break;

    }

*/

三、百分制成绩转换成五级制

    //0-59,  60-69,70-79,80-89,90-100

    //  65 

    int s;

    srand(time(NULL));

    s=rand()%101;

    cout<<s<<endl;

   

    switch(s/10)

    {

           case 6:

                    cout<<"D"<<endl; break;

           case 7:

                    cout<<"C"<<endl; break;

           case 8:

                    cout<<"B"<<endl; break;

           case 9:

           case 10:

                    cout<<"A"<<endl; break;

           default:

                    cout<<"E"<<endl; break;

    }

   

   

    return 0;

}

代码编写

#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {
	//1.开关语句 switch的使用 
//	int op;
//	cout<<"想要来个啥套餐啊:"; 
//	cin>>op;
//	switch(op) 
//	{
//		case 1:
//			cout<<"椒盐酥鸡+西葫芦炒肉+鸡蛋西红柿+青椒土豆丝+米饭(10RMB)"<<endl;
//			break; 
//		case 2:
//			cout<<"酱烧鸡柳+青椒培根+三色豆腐+木耳圆白菜+米饭(12RMB)"<<endl;
//			break;
//		case 3:
//			cout<<"焦溜丸子+黄焖鸡+凉瓜鸡蛋+清炒白菜+米饭(15RMB)"<<endl;
//			break;
//		case 4:
//			cout<<"土豆烧排骨+肉末豆腐+干煸豆角+清炒圆白菜+米饭/馒头(10RMB)"<<endl;
//			break;
//		default://默认的,表示输入的数不在范围内 
//			cout<<"没有这个套餐哟小朋友!"<<endl;	
//	}
	
	//2.四则运算器 
	int a,b;
	int answer;
	char op;//op表示一个运算符 
	srand(time(NULL));
	a=rand()%10;
	b=rand()%10;
	switch(rand()%4)
	{
		case 0:op='+';
		 break;//表示跳出switch 
		case 1:op='-';
		 break;
		case 2:op='*';
		 break;
		case 3:op='/';
		 break;
		 //当除数不可以为零:case ‘/’:
		 //if(fabs(b)<1e-10)
		 //cout<<"invalid data"<<endl; 
	}
	cout<<a<<op<<b<<"=";
	cin>>answer;
	
	switch(op)//检验环节 
	{
		case '+':
			if(answer==a+b)
			{
				cout<<"√"<<endl; 
			 } 
			else
			{
				cout<<"×"<<endl;	
			}
			break;
			
		case '-':
			if(answer==a/b)
			{
				cout<<"√"<<endl; 
			 } 
			else
			{
				cout<<"×"<<endl;	
			}
			break;
		case '*':
			if(answer==a*b)
			{
				cout<<"√"<<endl; 
			 } 
			else
			{
				cout<<"×"<<endl;	
			}
			break;
		case '/':
			if(answer==a/b)
			{
				cout<<"√"<<endl; 
			 } 
			else
			{
				cout<<"×"<<endl;	
			}
			break;
			
	}
	//3.百分制成绩转换等级(switch方法) 
	   int s;
    srand(time(NULL));
    s=rand()%101;
    cout<<s<<endl;
    
    switch(s/10)
    {
    	case 6:
    		cout<<"D"<<endl; break;
    	case 7:
    		cout<<"C"<<endl; break;
    	case 8:
    		cout<<"B"<<endl; break;
    	case 9:
    	case 10://连在一起写,归结为一种情况,
		//类比:某两种或多种情况归结为同一种情况处理 
    		cout<<"A"<<endl; break;
    	default:
    		cout<<"E"<<endl; break;
    }

	return 0;
}

学习总结

1.case后要加空格再加常量,末尾跟的是:不是;,:后可以有多条语句;

2.四则运算除法运算记得除数不可以为0,在c语言中=0表示为<1e-x(次方)

3.if与switch的不同,在于if表示的是区间,switch只能取有限个离散值

4.百分制转换等级利用switch语句,普通写法有101种取值情况,但可以换种思路转化为识别十位数字,如及格是6开头,中等是7开头……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值