eliasprog / SpacedRepetitionApp

An app for the Swift NanoChallange.
1 stars 0 forks source link

Adicionar um aviso de entrada invalida #4

Closed nathaliacm closed 4 years ago

nathaliacm commented 4 years ago

Nessa parte do código, não há um tratamento caso o usuário tente entrar com qualquer coisa que não seja um inteiro. Caso houvesse um tratamento o usuário teria uma melhor experiência.

print("0 - Não Aprendi | 1 - Revisar | 2 - Aprendi ")

if let val = readLine() { // Lê a opção do usuário.
     if let valInt = Int(val) { // Converte para inteiro.
          // Chama o algoritimo de classificação por repetição espaçada.
          let days = Alg.classificate(val: valInt, lastDayIncremented: card.lastDaysIncremented)

          if (days[0] != 0) { // veririca se há valores a serem atualizados
                // Atualiza os valores no card.
               card.nextStudyDay = Scripts.incrementDate(data: card.nextStudyDay, val: days[0])
               card.lastDaysIncremented = days[1]
          }

     }
}

Exemplo de solução :

print("0 - Não Aprendi | 1 - Revisar | 2 - Aprendi ")

if let val = readLine(),let valInt = Int(val) { // Lê a opção do usuário.
    //código aqui
} else {
    print("Entrada invalida!")
}

Sugestão feita por Rudigus e Nathália.

eliasprog commented 4 years ago

Feito, Nathalia e Rudigos! Muito Obrigado!