Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Daiane Barbosa

Calculo de 3 notas em ASP (VB SCRIPT)

Recommended Posts

Pessoal,

 

 

Estou tentando criar um programa que calcule a média de 3 notas que serão inseridas pelo proprio usuário, e no final irá responder se o aluno foi ou não aprovado, mas só dá erro, segue abaixo o código :

 

 

 



<html><head><title>Formulário</title></head>
<body>
<form method="get" action="return.asp">
<div>Entre com a Primeira Nota: </div><input type="text" name="nome">
<div>Entre com a Segunda Nota: </div><input type="text" name="endereco">
<input type="submit" value="enviar">

 

<%
a= ()
b=()
c= ()
nota= ((a + b + c )/3)
%>


<%

if nota > 5 then 'comparação entre dois valores
response.write (“A nota foi & nota &: aluno reprovado!”) <br>”
msgbox (nota)
else
if nota < 5 then 'comparação entre dois valores
response.write (“A nota foi & nota &: aluno reprovado!”) “<br>”
end if
end if
%>

</body>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos lá .... 1° onde estão os campos das notas? Só vai o nome e o endereço... 2° na sua condicional da nota vc esta reprovando se a nota estiver maior que 5 no caso esta invertido... 3° não precisa colocar um if dentro do else pois se a nota não é maior que 5 ... senão= (else) será acionado...



Tira o msgbox pois ele só funciona no cliente e só funciona no internet explore



No response.write vc précis quebrar a mensagem e concatenar a nota...

 

Não muitos detalhes ... mas parece que já programa só que em php... estou certo!?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual o erro gerado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigada, gente!

 

Então, o erro é que não chega nem a rodar o programa.


Agora eu mudei o código, deu esse erro:

Eu não estou sabendo como declarar variável do tipo vazia :/

O pior que procurei no google e em vários lugares e só acho variável com valores pré-definidos...

 

Microsoft VBScript compilation error '800a03ea'

Syntax error

/nota.asp, line 10

a= ()
----^

 

 

Código

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<html><head><title>Formulário</title></head>
<body>
<form method="get" action="return.asp">
<div>Entre com a Primeira Nota: </div><input type="text" name="a">
<div>Entre com a Segunda Nota: </div><input type="text" name="b">
<div>Entre com a Terceira Nota: </div><input type="text" name="c">
<input type="submit" value="enviar">
<%
a= ()
b= ()
c= ()
nota= ((a + b + c )/3)
%>


<%

if nota > 5 then 'comparação entre dois valores
response.write (“A nota foi </br>& nota &: </br>aluno aprovado!”) <br>”

else
if nota < 5 then 'comparação entre dois valores
response.write (“A nota foi & nota &: aluno reprovado!”) “<br>”
end if
end if
%>

</body>

Compartilhar este post


Link para o post
Compartilhar em outros sites

onde vc colocou

 

a=()

 

isso é para atribuir a = 0 ou vazio

se for zero coloque

a=0

 

para vazio coloque

 

a=""

' duas aspas

Compartilhar este post


Link para o post
Compartilhar em outros sites

como quer uma variável numérica faça assim:

a=0


para as variáveis numéricas é atribuído o valor zero(0)
para as strings é atribuído o tamanho zero ("")
para uma variável declarada como Boolean é atribuído o valor False
para uma variável declarada como Date é atribuído o valor 00:00:00
para uma variável declarada como Variant é atribuído o valor Empty
para uma variável declarada como Object é atribuído o valor Nothing



1- Empty
Quando você declara um variável do tipo Variant mas não atribui valor ela , seu valor será Empty , que quer dizer vazia. Empty NÃO é igual a uma string de tamanho zero , ou seja , não é igual a "" . Para saber se uma variável foi inicializada use a função IsEmpty(variavel).

A sintaxe é : IsEmpty(variavel)

Retorno :
False - Indica que a variável não foi inicializada. Ex: Dim var As Variant
True - indica que a variável foi inicializada. Ex: var = 1
Ao atribuir um valor para a variável ela deixa de ser Empty. Você pode também iniciar uma variável como Empty , assim : var = Empty

2- Null
Null (nulo) pode causar um pouco de confusão. O valor Null é diferente do valor Empty e é diferente de uma string de tamanho zero "". O valor Null é usado em aplicativos para banco de dados e indica que um campo(coluna) NÃO CONTÉM DADOS (DADO INVÁLIDO). Então , variáveis não inicializadas que se referem a banco de dados recebem o valor Null(nulo).

A sintaxe é : IsNull(variavel)

Retorno :
False - Indica que a variável não possui um valor Null
True - indica que a variável possui um valor Null.
Você pode atribuir a uma variável o valor Null. Ex: var = Null

Para saber se uma variável objeto possui o valor Null usamos a função : IsNull(variável)

Cuidado : Tome cuidado com expressões de avaliação usando Null
If Var = Null - retorna SEMPRE False
If Var <> Null - também retorna SEMPRE False
Sabe por que ? Porque qualquer expressão contendo um valor Null é Null e portanto será False.

3- Nothing
O valor Nothing indica que uma variável objeto não foi inicializada. Geralmente usamos Nothing para desassociar uma variável objeto de um objeto através da instrução Set.

Ex: Set VariavelObjeto = Nothing

Tome cuidado , pois você pode ter mais de uma variável objeto referenciando o objeto atual , e , ao atribuir Nothing para a variável objeto , esta variável não se referirá mais ao objeto atual. Mas os recursos do sistema e da memória associados com o objeto somente serão liberados somente quando TODOS as variáveis forem definidas como Nothing ou quando elas saírem do escopo.

Para verificar se uma variável possui o valor Nothing usamos o operador Is Nothing

Sintaxe : resultado = object1 Is Nothing

4- Error
O valor Error é um valor especial que você pode usar quando escrever funções que retornam erros . Se ocorrer um erro durante a execução da função você pode retornar um valor Error e trata o erro não na função mas no programa que fez a chamada a função.

Para converter um valor em um objeto Erro usamos a função - CVerr()

Sintaxe : CVErr(numero do erro)

Compartilhar este post


Link para o post
Compartilhar em outros sites

No ASP tudo é variante

 

Csng(a) assim a ficou single que menor double

Cdbl(a) assim é double

Cint(a) assim é inteiro

Cstr(a) assim ficou texto

Cdate(a) assim ficou data

 

Exemplo

 

a = cint(a)

Se você não usar a variável na função ela sempre será variante

 

O exemplo acima não irá transformar a em inteiro ... vai deixar no fornato mas o tipo da variável não... se antes era

 

Se a antes da atruição a era = 1,432 depois ele ficará =1 mas o tipo da variável será varinte


Escrever na tablet é horrível desculpem os erros...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O tipo Variant assume o tipo de variável dependendo da atribuição feita a ele. Você pode definir direto explicitamente na variável, tipo:

 

a=1 ' numérico

a="teste" 'string

 

etc etc...

 

se caso não tiver obtendo o resultado esperado, o correto é sempre fazer as conversões. Abaixo um artigo legal sobre isso.

 

O VBScript contém apenas um tipo de variável, denominado Variant. O tipo variant pode armazenar qualquer tipo de dado, e de acordo com o tipo de dados que é armazenado, é possível classifica-lo de acordo com os subtipos de dados, abaixo relacionados:

Subtipo

Descrição

Empty

Variável que contém 0 para valores numéricos e "" (string vazia) para strings.

Null

Variável que não contém dado algum.

Boolean

Contém True ou False

Byte

Números inteiros entre 0 e 255

Integer

Números inteiros no intervalo de -32,768 a 32,767.

Long

Números inteiros no intervalo de -2,147,483,648 a 2,147,483,647.

Single

Números com ponto flutuante de precisão simples na faixa de -3.402823E38 a -1.401298E-45 para números negativos e 1.401298E-45 a 3.402823E38 para números positivos.

Double

Números com ponto flutuante de dupla precisão na faixa de -1.79769313486232E308 a -4.94065645841247E-324 para números negativos e 4.94065645841247E-324 a 1.79769313486232E308 para números positivos.

Date (Time)

Dados no formato de Data (data e tempo) na faixa de 1 de janeiro de 100 a 31 de dezembro de 999. (January 1, 100 a December 31, 9999).

String

Contém dados no formato de string, que podem ter até aproximadamente 2 bilhões de caracteres de tamanho.

PS: é possível a conversão de dados de um tipo para outro, mas para isso, os dados devem ser compatíveis com o subtipo desejado, ou seja, a String "23/5/99" pode ser convertida para o subtipo Date, e vice-versa. Mas a String "TESTE" não pode.

É importante a conversão de tipos de dados uma vez que o modo como os dados serão manipulados dependem do seu subtipo.

Convertendo Dados

Verificando e Convertendo Tipos de Dados A linguagem VBScript contém algumas funções de verificação e conversão de tipos de dados importantes para a melhor manipulação dos dados.As funções de verificação são importantes na hora de detectar se os dados contidos numa variável são compatíveis com o subtipo para o qual se deseja converter estes dados.As funções de conversão fazem a conversão de dados de um subtipo para outro, mas para isso, é necessário que esses dados sejam compatíveis com o subtipo que se deseja obter.

Funções de Verificação

IsArray - IsDate - IsEmpty - IsNull - IsNumeric

Funções de Conversão

CBool - CByte - CDate - CDbl - CInt - CLng - CStr - CSng

IsArray - retorna True caso a variável seja um array, caso contrário, retorna False.

sintaxe: IsArray(nomedavariavel)

<%Dim testeDim Arraybrasil(5)response.write IsArray(teste) 'retorna falseresponse.write IsArray(Arraybrasil) 'retorna true%>

IsDate - retorna True caso o valor da variável possa ser convertido em data, caso contrário, retorna False.

sintaxe: IsDate(nomedavariavel)

<%teste = "23/5/99"teste2 = "TESTE"response.write IsDate(teste) 'retorna trueresponse.write IsDate(teste2) 'retorna false%>

IsEmpty - retorna True caso a variável contenha o valor 0 ou "", caso contrário, retorna

False.

sintaxe: IsEmpty(nomedavariavel)

<%teste = ""teste2 = 0teste3 = "TESTE"response.write IsEmpty(teste) 'retorna trueresponse.write IsEmpty(teste2) 'retorna trueresponse.write IsEmpty(teste3) 'retorna false%>

IsNull - retorna True caso a variável não contenha dados válidos.

sintaxe: IsNull(nomedavariavel)

<%teste = "23/5/99" response.write IsNull(teste) 'retorna false%>

IsNumeric - retorna True caso o valor da variável possa ser convertido para algum tipo de dados numéricos.

* A conversão de tipo de dados numéricos entre si, ou seja, de um número Double para o formato Sng pode acarretar a perda de dados, ou mesmo, podem ser imcompatíveis, uma vez que existem faixas de atuação para cada tipo de dado.

sintaxe: IsNumeric(nomedavariavel)

<%teste = "23"teste2 = 56 response.write IsNumeric(teste) 'retorna trueresponse.write IsNumeric(teste2) 'retorna true%>

CBool - retorna True ou False (0 ou 1), de acordo com a expressão analisada ou com o valor da variável.

sintaxe: CBool(nomedavariavel ou expressão)

<%teste = 5teste2 = 5teste3 = 0response.write CBool(teste = teste2) 'retorna trueresponse.write CBoll(teste3) 'retorna false%>

CByte - converte a expressão dada em um dado do subtipo Byte.

sintaxe: CByte(nomedavariavel ou expressão)

<%teste = "23"teste2 = 34.67response.write IsArray(teste) 'retorna 23response.write IsArray(teste2) 'retorna 35, pois há um arredondamento%>

CDate - converte a expressão dada em um dado do subtipo Date.

sintaxe: CDate(nomedavariavel)

<%teste = "23/5/99"response.write CDate(teste) 'convertendo strings de data e tempo para o subtipo Date, é possível fazer operações matemáticas com essas datas, somando dias, meses, segundos, anos...%>

CDbl - converte a expressão dada em um dado do subtipo Double.

sintaxe: CDbl(nomedavariavel ou expressão)

<%teste2 = 34.6767786543E56response.write CDbl(teste2) %>

CInt - converte a expressão dada em um dado do subtipo Integer. A diferença para o subtipo Byte é a faixa de abrangência.

sintaxe: CInt(nomedavariavel ou expressão)

<%teste = "23"teste2 = 34.67response.write CIntteste) 'retorna 23response.write CInt(teste2) 'retorna 35, pois há um arredondamento%>

CLng - converte a expressão dada em um dado do subtipo Long. A diferença para o subtipo byte é a faixa de abrangência.

sintaxe: CByte(nomedavariavel ou expressão)

<%teste = "23"teste2 = 34.67response.write CLng(teste) 'retorna 23response.write CLng(teste2) 'retorna 35, pois há um arredondamento %>

CSng - converte a expressão dada em um dado do subtipo Single.

sintaxe: CInt(nomedavariavel ou expressão)

<%teste2 = 88734.67999988734.679999response.write CInt(teste2) %>

CStr- converte a expressão dada em um dado do subtipo String. Qualquer outro tipo de dado, dos listados acima, pode ser convertido em String.

sintaxe: CStr(nomedavariavel ou expressão)

<%teste2 = 34.67response.write CStr(teste2) 'retorna "23"%>

 

You'll need Skype CreditFree via Skype

Compartilhar este post


Link para o post
Compartilhar em outros sites

1794795_699550180088781_1582469624_n.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

Daiana, não invista no VB script no lado do cliente deixe ele somente no lado do servidor (ASP) no lado cliente trabalhe com javascript é o mais compatível dos navegadores VC pode pesquisar no google ou aguarde que podem postar a teoria completa do javascript que veio do livescript...

Compartilhar este post


Link para o post
Compartilhar em outros sites

javascript e jquery

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.