课堂笔记
一、开关语句
//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开头……