oii gente, boa tarde
Eu to com uma dificuldade em computar os votos na minha urna eletronica.
Ela funciona certinho so não conta os votos.
Alguem poderia me ajudar?
identificar<-function(identificador){
identificador<-readline(“Informe seu identificador para votar:”)
if(identificador == -1){cat(“votação encerrada”)
{break}}
if(identificador != -1)
votaçao()}
votaçao<-function(){
print(‘Lista de candidatos’)
print((sprintf(‘1 - fulano’)))
print((sprintf(‘2 - ciclano’)))
print((sprintf(‘3 - beltrano’)))
print((“Digite [1,2,3] ou [0] para branco ou [99] para votar”))
votado<-scan(what=integer() , nmax = 1)
tmp<-as.numeric(votado)
if(tmp == 1)print(“Você está votando em fulano”)
if(tmp == 2 )print(“você está votando em ciclano”)
if(tmp == 3)print(“Você está votando em beltrano”)
if(tmp == 0 )print(“você está votando em branco”)
if(tmp == 99)print (“Você está votando nulo”)
Guilherme, o que você quer dizer com computar os votos? Em teoria a urna não termina nunca de executar, então ela não tem onde retornar a soma de votos que cada um recebeu.
Sem relação nenhuma com a sua pergunta, queria dar algumas dicas de programação em R:
Você parece estar com dificuldade de saber onde colocar chaves. No geral colocamos uma chave na mesma linha do if, abrimos uma indentação e fechamos a chave em uma linha à parte. O seu {break}, por exemplo, não precisa de chaves e sim de uma nova linha.
Use o else junto com os seus ifs. Note que na função votaçao(), se a pessoa não digitar “S” nem “N”, não existe retorno algum.
Deixe o seu código um pouco mais arejado. Espaços antes das chaves e linhas indentadas, por exemplo, ajudam com isso.
Nunca, e eu repito, nunca coloque acentos nos nomes de funções e variáveis. Pode ser que isso não tenha dado problema agora, mas com certeza um dia isso vai te pegar desprevenido.
Abaixo deixo a minha versão do seu código. Tentei não mexer na lógica, mas podemos arrumar isso também se você quiser:
identificar <- function() {
identificador <- readline("Informe seu identificador para votar:")
if (identificador == -1) {
stop("votação encerrada")
} else {
votacao()
}
}
votacao <- function() {
print("Lista de candidatos")
print("1 - fulano")
print("2 - ciclano")
print("3 - beltrano")
print("Digite [1,2,3] ou [0] para branco ou [99] para votar")
votado <- scan(what = integer(), nmax = 1)
tmp <- as.numeric(votado)
if (tmp == 1) print("Você está votando em fulano")
if (tmp == 2) print("você está votando em ciclano")
if (tmp == 3) print("Você está votando em beltrano")
if (tmp == 0) print("você está votando em branco")
if (tmp == 99) print("Você está votando nulo")
confirmacao <- readline("confirmar voto nesse candidato (S/N)?:")
if (confirmacao == "S") {
cat("Voto confirmado")
return(identificar())
} else {
cat("Refaça sua votação")
return(votacao())
}
}
candidatos <- list(fulano = 1, ciclano = 2, beltrano = 3, branco = 0, nulo = 99)
identificar()