• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

jonasguiomar

duvida em projecto

24 mensagens neste tópico

ola pessoal!

agradecia a vossa ajuda se puderem claro num projecto em que consiste, fazer um projecto para o cálculo de classificação final de uma determinada disciplina.

os critérios de avaliação encontram-se identificados pelos seguintes intens: Projecto individual; projecto de grupo; teste de avaliação e desempenho profissional.

na classificação tenho de utilizar o numericupdown: de 0 a 20

e na ponderação: de 0 % a 100%

agradecia a vossa ajuda para a croncretização do vosso projecto

aguardo uma resposta o mais rapida possivel da vossa parte :D

obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

claro que tenho, varias até....dúvidas no código

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Diz então ao certo quais são as tuas dúvidas. Não me parece que aqui vás conseguir alguém que te desenhe o algoritmo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu no projecto tenhu 4 labels, ao lado dessas labels tenhu 4 numericupdowns, por cima desses numericupdowns tenhu uma label a dizer classificação, ao lado dos 4 numericupdowns tenhu 4 combobox e por cima das combobox tenho uma label a dizer ponderação. depois tenhu  o button calcular e por baixo tenhu tres labels uma a dizer classificação final e ao lado uma label onde aparece a classificação e ao lado tenho outra label onde aparece a classificação por extenso.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

e qual é a dúvida?

Tu mostras-te o que tinhas, não especificaste dúvida nenhuma.

Garanto-te que dúvidas concretas são respondidas num instante ;-)

Já agora.... não sei se o tenhu...é influência do "PortuSMS" do telemóvel, mas de qualquer maneira... e para prevenir... o correcto é tenho...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

a duvida é que n sei o codigo para este projecto :shocking:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas ninguém pode fazer isso por ti! É o teu trabalho, e teremos gosto em ajudar, mas não podes simplesmente pedir o código e estar a andar. Em vez de pensares no problema num todo, divide-o em 3 partes:

1) Adicionar as labels e textboxes para introduzir as classificações: garante que não é possível introduzir menos de 0 e mais de 20 valores (facilitado pelos numeric dropdown).

2) Adiciona os numeric drop down para as percentagens. Tem em atenção que não é válido que a soma de todas as componentes ultrapasse os 100%. Podes alterar os limites do numeric drop down à medida que o utilizador define as percentagens das componentes, ou mais simples, podes mostrar um erro quando se clica em "calcular", por exemplo.

3) Por fim, calcular a nota. É um cálculo simples, basta por cada nota multiplicar pela percentagem e somar tudo, por exemplo:

Participação(10%): 12 valores

Testes(60%): 14 valores

Trabalhos Grupo(30%): 16 valores

A nota final é dada por: 12 * (10/100) + 14 * (60/100) + 16 * (30/100)

Vai desenvolvendo o código, e se tiveres dúvidas, podes colocá-las aqui. :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

como é que se poe os numericupdown de 0 a 20, e as combobox de 0% a 100%?? :hmm:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Os controlos numericupdown têm 2 propriedades chamadas Minimum e Maximum que devem ser auto explicativas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

n sei como ei de por no botao calcular: tipo como faço para somar tudo :hmm:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para somares tudo, vais a cada textbox e numericbox, e obtens os valores respectivos. Depois é só usares a formula que te dei em cima. Por fim, passa o valor arredondado para a label.

A parte que acho mais complicada é de escrever os números por extenso, mas com uma solução, ainda assim, fácil: crias um array de strings com os números por extenso a começar em zero, e a acabar em vinte. Depois, é só acederes ao indice com a nota respectiva, exemplo:

A nota final deu 14. Acedes ao teu array de notas por extenso na posição 14, e assim sucessivamente.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu para calcular a classificação pus:

classificaçãofinal = nud1 * combo1

mas acho que n é assim :hmm:

queria uma ajuda

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

as minhas duvidas sao no código,

C:\Users\TMN\Pictures\Sem título.jpg

sim mais quais? o que é que te dá erro?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu para calcular a classificação pus:

classificaçãofinal = nud1 * combo1

mas acho que n é assim :hmm:

queria uma ajuda

Já te tinha dado a formula no meu primeiro post:

tens de multiplicar cada nota, pela respectiva componente dividida por 100, ou seja:

(nota1 * (comp1 / 100)) + (nota2 * (comp2 / 100)) + ...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu pus isto:

lbfinal.Text = Val(nud1.Text * (Combo1.Text / 100)) + Val(nud2.text * (Combo2.Text / 100)) + Val(nud3.text) * (combo3.Text /100)) + val(nud4.text) * (combo4.text /100))

e ta me a dar erro.

e da me outro erro quando carrego no calcular dix A conversão da cadeia "20%" para o tipo 'Double' não é válida.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O erro é explicito, o VB não consegue converter "20%" num número, por causa do sinal de percentagem. Tens de multiplicar apenas o número, o que significa que não deves ter o sinal de percentagem nos valores da tua combobox (podes por ao lado numa label, por exemplo).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

lbfinal.Text = Val(nud1.Text * (Combo1.Text / 100)) + Val(nud2.text * (Combo2.Text / 100)) + Val(nud3.text) * (combo3.Text /100)) + val(nud4.text) * (combo4.text /100))

a partir do val(nud4.text) * (combo4.text /100)) dá me erro n sei porque :hmm: e como é que eu faço ao somar isto tudo o resultado aparecer na label da classificação final?

e como é que ponho por extenso?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Em vez da função val, experimenta a função CDbl. Ficará:

Dim notaFinal as Single = 0.0
notaFinal = (CDbl(nud1.Text) * (CDbl(Combo1.Text) / 100)) + (CDbl(nud2.text) * (CDbl(Combo2.Text) / 100)) + (CDbl(nud3.text) * (CDbl(combo3.Text) / 100)) + (CDbl(nud4.text) * (CDbl(combo4.text) / 100))
lblfinal.Text = notaFinal & " valores"

A função CDbl converte especificamente para o tipo Double. Basicamente o código armazena o resultado numa variável e depois coloca na tua label, junto com a palavra "valores".

Quanto aos valores por extenso, já te dei a sugestão de usar arrays (vectores).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu quando ponho dim notafinal as single da me erro no as single, e o que é isto as single = 0.0?

e o que é CDbl?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

como é que eu ponho a classificação final arredondada com zeros casas decimais? :hmm:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Devias rever a tua aprendizagem de código, porque estás a perguntar cada passo do programa! Quanto ao código que te dei, posso-me ter enganado, porque não o testei. Tenta com "as Double = 0.0" (sem aspas).

O Single é um tipo de dados, como o Integer, String, ... O CDbl tenta converter o objecto que passas como argumento para um double (outro tipo de dados). Já agora, tenta dar SEMPRE a mensagem de erro associada ao problema, porque dizer deu erro não funciona, pode ser muita coisa.

Quanto ao arredondamento, dá uma vista de olhos à função Math.Round()

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora