JS的实用案例

JS的实用案例

简单案例:
①算出一个4位数,每一位数之和的结果。
var num3 = 3597
var q = parseInt(num3 / 1000)
var b = parseInt(num3 % 1000 / 100)
var s = parseInt(num3 % 100 / 10)
var g = num3 % 10
var s6 = q + b + s + g
console.log(num3+“中,每一位数之和是:”+s6);
②//输入成绩,如果成绩大于80分,奖励mp4,否则罚抄代码50遍
var score = parseInt(prompt(‘请输入成绩:’))
if(score>80){
console.log(‘奖励mp4’);
}else{
console.log(‘罚抄代码50遍’);
}
③//百米跑步,跑进12秒的进入决赛,进决赛后再根据性别分组
var score = parseFloat(prompt(‘请输入百米成绩:’))
if(score<12){
console.log(‘进入决赛’);
var gender = prompt(‘请输入性别:’)
//嵌套if选择结构:就是满足一个if后,继续满足里面的if
if(gender===‘男’){
console.log(‘进入男子组’);
}else{
console.log(‘进入女子组’);
}
}else{
console.log(‘直接淘汰’);
}
④//输入学生的成绩,输出学生的等级
//90分以上:优秀
//80分以上:良好
//70分以上:中等
//60分以上:合格
//60分以下:差
var score = parseInt(prompt(‘请输入成绩:’))
if(score>=90){
console.log(‘优秀’);
}else if(score>=80){
console.log(‘良好’);
}else if(score>=70){
console.log(‘中等’);
}else if(score>=60){
console.log(‘合格’);
}else{
console.log(‘差’);
}
⑤//输入年份和月份,输出该月份有多少天
var year = parseInt(prompt(‘请输入年份:’))
var month = parseInt(prompt(‘请输入月份:’))
var days = 0 //定义一个变量,用于保存天数
//判断哪些月份是31天
if(month=1 || month=3 || month=5 || month=7 || month=8
|| month
=10 || month=12){
days = 31
//判断哪些月份是30天
}else if(month
=4 || month=6 || month=9 || month=11){
days = 30
//判断二月份是28天还是29天
}else{
if(year%4
=0 && year%100!0 || year%400=0){
days = 29
}else{
days = 28
}
}
console.log(year+‘年’+month+‘月 有’+days+‘天’);
⑥ //输入是否是会员(y / n)
//输入消费金额
//会员消费打8折,消费满100元打7折
//非会员消费满200元打9折,否则不打折
//输出用户本次的消费金额
var isvip = prompt(‘是会员吗(y/n):’)
var money = parseFloat(prompt(‘请输入消费金额:’))
//01.判断是否是会员
if(isvip === ‘y’){
console.log(‘会员用户您好!’);
//是会员
//再判断消费金额是否满100元
if(money>=100){
money = money * 0.7
}else{
money = money * 0.8
}
}else{
console.log(‘用户您好!’);
//不是会员
//再判断消费金额是否满200元
if(money>=200){
money = money * 0.9
}
}
console.log(‘您本次消费金额是:’+money+‘元’);
⑦//输入考试名次,第1名奖励电脑,第2名奖励手机,第3名奖励mp4,第4名奖励mp3,否则没有奖励
var mc = parseInt(prompt(‘请输入名次:’))
第Ⅰ种写法:
if(mc=1){
console.log(‘奖励电脑’);
}else if(mc
=2){
console.log(‘奖励手机’);
}else if(mc=3){
console.log(‘奖励MP4’);
}else if(mc
=4){
console.log(‘奖励MP3’);
}else{
console.log(‘没有奖励’);
}
第Ⅱ种写法:
switch(mc){
case 1:
console.log(‘奖励电脑’);
break;
case 2:
console.log(‘奖励手机’);
break;
case 3:
console.log(‘奖励MP4’);
break;
case 4:
console.log(‘奖励MP3’);
break;
default:
console.log(‘没有奖励’);
break;
}
⑧ //输入今天的周几 1 3 5 超市面包打8折,2 4 6 超市薯片买一送一,7 全场商品打5折。
var weekday = parseInt(prompt(‘今天是周几:’))
第Ⅰ种写法:
if(weekday=1 || weekday=3 || weekday=5){
console.log(‘超市面包打8折’);
}else if(weekday
=2 || weekday=4 || weekday=6){
console.log(‘超市薯片买一送一’);
}else{
console.log(‘全场商品打5折’);
}
第Ⅱ种写法:
switch(weekday){
case 1:
case 3:
case 5:
console.log(‘超市面包打8折’);
break;
case 2:
case 4:
case 6:
console.log(‘超市薯片买一送一’);
break;
default:
console.log(‘全场商品打5折’);
break; //default语句,如果写在最下面,break可以省略。
}
⑨ // 累加100以内所有的偶数之和 并打印输出
let sum = 0 //用于累加所有偶数
let i = 1
while(i<=100){
if(i%2=0){
sum+=i
}
i++ //注意:i++一定要先写
}
console.log(‘100以内的偶数之和是:’+sum);
⑩//找出从2000年到2020年之间的所有闰年,并输出
let year = 2000 //定义一个循环变量,从2000开始
//设置循环条件,year<=2020
while(year<=2020){
if(year%4
=0 && year%100!0 || year%400=0){
console.log(year);
}
year++; //年份每次要加1
}
11.// 比如:做一个菜单应用,程序运行的时候,菜单必须要先出来。然后再根据输入的值确定循环是否继续
let no = 0 //循环变量
do {
//输入一个值,重新对no赋值
no = parseInt(prompt(’-----学生管理系统-----\n 请输入:’ +
‘1.添加学生 2.查询学生 3.修改学生 4.删除学生 0.退出系统’))
switch (no) {
case 1:
console.log(‘执行添加学生’);
break;
case 2:
console.log(‘执行查询学生’);
break;
case 3:
console.log(‘执行修改学生’);
break;
case 4:
console.log(‘执行删除学生’);
break;
case 0:
console.log(‘欢迎下次光临!’);
break;
}
} while (no !== 0)
12. //输入年 月 日,利用for循环 + (if/switch)选择结构 算出当前日期是全年的第多少天
let year = parseInt(prompt(‘请输入年:’) )
let month = parseInt(prompt(‘请输入月:’))
let day = parseInt(prompt(‘请输入日:’))
let sum = 0 //用于保存当前日期是全年的第多少天
for(let i=1;i<month;i++){
if(i=1 || i=3 || i=5 || i=7 || i=8 || i=10 || i=12) {
sum += 31
}else if(i
=4 || i=6 || i=9 || i=11){
sum += 30
}else{
if(year%4
=0&&year%100!0||year%400=0){
sum += 29
}else{
sum += 28
}
}
}
sum += day
console.log(‘全年第’+sum+‘天’);
13.小型ATM机系统
let no = ‘123456’ //卡号
let pwd = ‘123456’ //密码
let money = 10000 //存款金额
let islogin = false //该变量,用于确定用户是否登录成功
let count = 2 //限制登录次数
//利用do-while循环实现登录功能
do{
//登录系统时,要输入卡号和密码
let no1 = prompt(‘请输入卡号:’)
let pwd1 = prompt(‘请输入密码:’)
//判断用户输入的卡号和密码是否正确
if(no=no1 && pwd=pwd1){
islogin = true
alert(‘登录成功!’)
break; //跳出整个循环
}else{
alert(‘登录失败!登录名或者密码错误!\n您今天还有’+count+‘次登录机会!’)
}
count-- //登录机会,每次减1
}while(count>=0);

    //判断用户是否登录成功
    if(islogin){
        //利用do-while循环实现菜单功能
        let no = 0
        do{
            no = parseInt(prompt('建设银行管理系统\n'+
            '1.存款 2.取款 3.查看余额 0.退出系统'))
            if(no===1){
                let price = parseInt(prompt('请输入存款金额:'))
                money += price
                console.log(`成功存款${price}元,当前余额${money}元`);
            }else if(no===2){
                let price = parseInt(prompt('请输入取款金额:'))
                //判断取款金额不能超过存款余额
                if(price<=money){
                    money-=price  //余额减去取款金额
                    console.log(`成功取款${price}元,当前余额${money}元`);
                }else{
                    console.log('取款失败!当前余额不足!');
                }
            }else if(no===3){
                console.log(`当前余额${money}元`);
            }else{
                console.log('欢迎下次光临!');
                islogin = false
            }
        }while(no!==0)
    }

14.3位数里面的所有水仙花数
//百位数的3次方+十位数的3次方+个位数的3次方=这个数(3位数的范围:100~999)
//第一步:确定循环的范围
for(let i=100;i<=999;i++){
//第二步:判断每次的i,是不是水仙花数
let b = parseInt(i / 100) //获取i的百位数
let s = parseInt(i % 100 / 10) //获取i的十位数
let g = i % 10 //获取i的个位数
//百位数的3次方+十位数的3次方+个位数的3次方
=这个数
if(bbb+sss+ggg=i){
console.log(i);
}
}
15.计算你活了多少天
//获取当前日期的年,月,日 2020-11-16
let year1 = parseInt(prompt(‘请输入当前年份:’))
let month1 = parseInt(prompt(‘请输入当前月份:’))
let day1 = parseInt(prompt(‘请输入当前日期:’))
//获取生日的年,月,日 1995-5-5
let year2 = parseInt(prompt(‘请输入生日年份:’))
let month2 = parseInt(prompt(‘请输入生日月份:’))
let day2 = parseInt(prompt(‘请输入生日日期:’))
let sum = 0 //用于保存总天数
//出生那年剩下的天数+中间有多少个整年天数+今年已经过去的天数
=你活的天数
//01.算出出生那年剩下的天数=全年天数-过去的天数
let sum1 = 0 //用于保存出生那天是全年的第多少天
//循环月份,目的是累加整月天数
for(let i=1;i<month2;i++){
if(i
=1 || i=3 || i=5 || i=7 || i=8 || i=10){
sum1 += 31
}else if(i
=4 || i=6 || i=9 || i=11){
sum1 += 30
}else{
if(year2%4
=0&&year2%100!0 || year2%400=0){
sum1 += 29
}else{
sum1 += 28
}
}
}
sum1 += day2
//判断出生那年是否是闰年
if(year2%4=0&&year2%100!0 || year2%400=0){
sum = 366 - sum1
}else{
sum = 365 - sum1
}
//02.算出中间有多少个整年
for(let i=year2+1;i<year1;i++){
//判断每一年是否是闰年
if(i%4
=0&&i%100!0 || i%400=0){
sum += 366
}else{
sum += 365
}
}
//03.算出今年已经过去的天数
for(let i=1;i<month1;i++){
if(i=1 || i=3 || i=5 || i=7 || i=8 || i=10){
sum += 31
}else if(i=4 || i=6 || i=9 || i=11){
sum += 30
}else{
if(year1%4=0&&year1%100!0 || year1%400=0){
sum += 29
}else{
sum += 28
}
}
}
sum += day1
console.log(‘你已经活了’+sum+‘天’);
16.算出指定日期是星期几
//提示:1900-1-1 是星期一
//1900-1-8 是星期一 1900-1-8 到 1900-1-1 有8天 8%7
=1
//1900-1-17 是星期三 1900-1-17 到 1900-1-1 有17天 17%7=3
//1900-1-20 是星期六 1900-1-20 到 1900-1-1 有20天 20%7
=6
//根据上面的规律:指定日期距离1900-1-1的总天数 % 7 结果是几就是星期几
let year = parseInt(prompt(‘请输入年份:’)) //1995
let month = parseInt(prompt(‘请输入月份:’)) //7
let day = parseInt(prompt(‘请输入日期:’)) //5
let sum = 0 //用于累加总天数
//01.累加整年天数
for (let i = 1900; i < year; i++) {
if (i % 4 === 0 && i % 100 !== 0 || i % 400 === 0) {
sum += 366
} else {
sum += 365
}
}
//02.累加指定日期在当年已经过去的天数
for (let i = 1; i < month; i++) {
if (i === 1 || i === 3 || i === 5 || i === 7 || i === 8 || i === 10) {
sum += 31
} else if (i === 4 || i === 6 || i === 9 || i === 11) {
sum += 30
} else {
if (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) {
sum += 29
} else {
sum += 28
}
}
}
sum += day
//得到总天数后,用总天数除以7取余数,余数是几就是星期几,余数是0就是星期天
let week = sum % 7
switch (week) {
case 1:
console.log(‘星期一’);
break;
case 2:
console.log(‘星期二’);
break;
case 3:
console.log(‘星期三’);
break;
case 4:
console.log(‘星期四’);
break;
case 5:
console.log(‘星期五’);
break;
case 6:
console.log(‘星期六’);
break;
default:
console.log(‘星期天’);
break;
}
17.ATM机输入密码
let name = ‘jack’
let pwd = ‘123456’
//循环3次,表示有3次登录机会
for(let i=2;i>=0;i–){
let name1 = prompt(‘请输入登录名:’)
if(name1!==name){
alert(‘登录名错误!请重新输入…’)
alert(‘您今天还有’+i+‘次登录机会…’)
continue //跳过本次循环
}
let pwd1 =prompt(‘请输入密码:’)
if(pwd1!==pwd){
alert(‘密码错误!请重新输入…’)
alert(‘您今天还有’+i+‘次登录机会…’)
continue //跳过本次循环
}
//如果上面的两个if都没有执行,就表示登录成功
alert(name+’!欢迎登录!’)
break; //跳出整个循环
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值