如何实现选图形后再询问对应尺寸的面积计算程序?
修正图形面积计算程序的逻辑问题
你的代码核心问题是执行顺序完全错误:先弹出了所有图形的输入框,才让用户选择要计算的图形,导致不管用户选什么,所有输入都会被强制填写。正确的逻辑应该是先让用户选择图形类型,再根据选择收集对应的数据。
修正后的完整代码
// 第一步:先让用户选择要计算的图形(1-矩形,2-三角形) var co_obliczyc = prompt("Co chcesz obliczyc? Wpisz 1 dla prostokata, 2 dla trojkata:"); // 根据选择执行对应逻辑 switch(co_obliczyc) { case "1": // 矩形:仅询问矩形的两个边长 var bok1 = Number(prompt("Ile wynosi pierwszy bok prostokata?")); var bok2 = Number(prompt("Ile wynosi drugi bok prostokata?")); var poleProstokata = bok1 * bok2; alert(`Pole prostokata wynosi: ${poleProstokata}`); break; case "2": // 三角形:仅询问底边长和高 var podstawaTrojkata = Number(prompt("Podaj długość podstawy trojkata:")); var wysokoscTrojkata = Number(prompt("Podaj wysokosc trojkata:")); var poleTrojkata = (podstawaTrojkata * wysokoscTrojkata) / 2; alert(`Pole trojkata wynosi: ${poleTrojkata}`); break; default: // 处理用户输入无效的情况 alert("Nieprawidlowy wybor! Proszę wpisać 1 lub 2."); }
关键修改说明
- 调整执行顺序:先获取用户的图形选择,再按需请求对应的数据,避免不必要的输入操作
- 修正变量名错误:原代码中
podstawa trojkata这类带空格的变量名不符合JavaScript语法规范,改为合法的驼峰式命名podstawaTrojkata - 补全逻辑:添加了面积计算逻辑、结果输出,以及无效输入的处理分支
内容的提问来源于stack exchange,提问作者katarina80
相关产品推荐
相关产品推荐

