o scan() vai aceitar que tu entre dados até o 1o dado vazio (ou seja, até
dois 'enter' seguidos). Sugiro o readline() para isso.

media <- function() {
  soma = 0
  n=0
  cat('Digite uma nota: ')
  nota=as.double(readline())
  while (nota >= 0) {
    soma=soma+nota
    n = n + 1
    cat('Digite uma nota: ')
    nota= as.double(readline(""))
  }
  return (sprintf("%.1f",soma/2))
}
media()



2013/5/8 Sérgio Henrique almeida da silva ju <[email protected]>

> Prezados
>
> Quero criar uma função na qual eu digito um conjunto de notas e no final o
> programa me dê a média dessas notas. O programa é interrompido quando eu
> digito uma nota negativa.
>
> Estou fazendo dessa forma:
>
> media <- function(){
> soma = 0
> n=0
> X1= cat("Digite uma nota: ", sep="\n")
> nota= scan(stdin(),n=n)
> while (nota >= 0){
> soma=soma+nota
> n = n + 1
> X1= cat("Digite uma nota: ", sep="\n")
> nota= scan(stdin(),n=n)}
> return (sprintf("%.1f",soma/2))}
>
> Onde posso estar errando?
>
> Abraços
>
> --
> Sérgio Henrique Almeida da Silva Junior
> Doutorando em Epidemiologia em Saúde Pública
> Escola Nacional de Saúde Pública Sérgio Arouca - ENSP/FIOCRUZ
> http://lattes.cnpq.br/1611345552843383
> Tel: (21) 68463637
> http://www.linkedin.com/profile/view?id=250437145&trk=tab_pro
>
> _______________________________________________
> R-br mailing list
> [email protected]
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>
_______________________________________________
R-br mailing list
[email protected]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código 
mínimo reproduzível.

Responder a