it4life - Portal de Informática

jfrosorio


junkie user
93 posts

Neste tópico podem colocar dúvidas e questões relacionadas com os dossiers de APROG.
A prática vale muito, mas é a vontade de ir mais longe que garante o sucesso.

andre_mendes


1.0 user
6 posts

Exercício 3
Faça um programa que represente sob a forma de gráficos de barras o número de positivas e negativasdos alunos (A) a um conjunto de disciplinas (D). O programa deverá possuir um módulo para imprimira informação de uma disciplina. O output produzido deverá ter o seguinte aspecto:
Disciplina: Português
- Positivas: ****************
- Negativas: ****

Disciplina: Matemática
- Positivas: ***********
- Negativas: *********

Alguem pode dar alguma ideia como se faz?

jfrosorio


junkie user
93 posts

Na classe main, programas para que seja pedido o nome da disciplina, o nr de negativas e o nr de positivas. (Põe tudo dentro de um ciclo que termine quando o utilizador digite um determinado valor).

Depois de intruduzidos os dados, vai ser chamado um método para imprimir as estatísticas. Este método tem de ser capaz de receber 3 args (uma String e dois inteiros). Depois é só fazer os println's.

Sugestão: para imprimir o gráfico, cria um cilo for de 1 até ao nr de posistivas ou negativas e utiliza antes o método print, em vez de println, para imprimir cada barra na mesma linha.
A prática vale muito, mas é a vontade de ir mais longe que garante o sucesso.

ntome


1.0 user
5 posts

Obrigada pela sugestão. Já consegui fazer.

ntome


1.0 user
5 posts

Código: java
package project_pl6;import java.util.Scanner;public class Main_ex2 {        public static void main(String[] args) {            int num;        float soma = 0;        int cont = 0;        Scanner ler = new Scanner (System.in);        do {            System.out.println("Número de funcionarios");            num = ler.nextInt ();        } while (num < 0 || num > 50);        float vec[] = new float[num];        String nome[] = new String[num];        int i=0;        do {            System.out.println("Nome");            nome[i] = ler.next();            System.out.println("Vecimento");            vec[i] = ler.nextFloat();            soma = soma + vec[i];            cont = cont + 1;        } while (nome[i] != "tt");        float media = soma / cont;                System.out.println("Os funcionarios ganham menos da media é :" + vencimentoInf (media , vec, nome));                System.out.println("A percentagem é:" + percentagem (media, vec, cont) + "%");            }    private static String vencimentoInf(float m, float v[], String nm[]) {    int i;        for (i = 0; i < v.length; i++) {            if (v[i] < m) {                System.out.println(nm[i]);            }        }        return nm[i];    }    private static float percentagem (float m, float v[], int c) {        float v_inf = 0, p;        for (int i = 0; i < v.length; i++) {            if (v[i] < m) {                v_inf = v_inf + 1;            }        }        p = (v_inf / c) * 100;        return p;    }}
Não estou a conseguir fazer o ex2 da pl6
Pretende-se uma aplicação modular para determinar algumas estatísticas sobre vencimentos defuncionários duma empresa. O número de funcionários varia ao longo do tempo mas não ésuperior a 50.O programa deve ter as seguintes funcionalidades:
a) Leitura de nomes e vencimentos de funcionários da empresa. A leitura deve terminar coma introdução do nome tt"

jfrosorio


junkie user
93 posts

Boas André!

Olha, o teu programa não está a funcionar, pq tens aí alguns erros...
Para começar, não é o utilizador que indica o nr de funcionários. Se leres o enunciado, reparas que é indicado que "o nr de funcionários pode variar, mas não ultrapassa os 50". Logo, és tu que tens de definir o tamanho dos vectores. Neste caso, será qq coisa como:

Código: java
String[] nomes = new String[50];
Em segundo, na linha 30 do teu programa, estás a comparar Strings, utilizando um operador aritmético, o que está errado. Para fazeres comparações entre Strings, tens de usar um método da Classe String. Podes usar o equalsIgnoreCase ou o compareToIgnoreCase
Vai fazendo estas correcções, e tenta pôr isso a funcionar. Se tiveres mais dificuldades, avisa.

Abraço.
A prática vale muito, mas é a vontade de ir mais longe que garante o sucesso.

Segue-nos nas redes sociais