forked from Dayvd-G/2not-2020-2
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathex03b_select_case.html
83 lines (70 loc) · 2.79 KB
/
ex03b_select_case.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Modelo de documento HTML</title>
<script>
// 'use strict' impede que variáveis sejam declaradas
// sem o uso de let, var ou const
// Inicializar variáveis diretamente é má prática de
// programação
'use strict'
/*
Solicite ao usuário para informar dois números e um operador
matemaático. Você usará três prompt(), um para cada número e
o terceiro para o operador.
Aceite os seguintes operadores:
+ => adição
- => subtração
*, X ou x => multiplicação
/ ou : => divisão
Efetue o cálculo apropriado de acordo com o operador informado
e informe o resultado usando document.write().
*/
//parseFloat() *tenta* converter strings em números de ponto flutuante
let num1 = parseFloat(prompt('Informe o primeiro número:'))
let num2 = parseFloat(prompt('Informe o segundo número: '))
let oper = prompt('Informe a operação desejada (+, -, *, x, X, / ou :):')
//variavel de controle de fluxo
let res, temErro = false
//teste de validação dos números
if(isNaN(num1) || isNaN(num2)){
alert('*ERRO: Pelo menos um dos números informados é inválido!')
temErro = true
}
else {
switch(oper){
case '+':
res = num1 + num2
break //Não esquecer do break
case '-':
res = num1 - num2
break
case 'X': //case vazio
case 'x': //case vazio
case '*': //case vazio
res = num1 * num2
break
case '/': //case vazio
case ':':
res = num1 / num2
break
default: // se não entrar em nenhum case
alert('*ERRO: O operador informado é invalido.')
temErro = true
}
}
//Se NÃO tem erro eu faço a seguinte (variavel chamada de "flag")
if(!temErro) {
//document.write("O resultado da operação: " + num1 + " " + oper + " " +
// num2 + " " + "é igual a: " + res + ".")
//Usando string template (que usa acentos graves - "backtick")
document.write(`O resultado da operação: ${num1} ${oper} ${num2}
é igual a ${res}`)
}
</script>
</head>
<body>
</body>
</html>