Ir ao conteúdo
  • Cadastre-se

joao.victork991

Membros Juniores
  • Total de itens

    18
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. alguém pode me ajudar a montar essa interface do exercício, já fiz a fachada e tudo mais, mas gostaria de saber como fazer essa interface do item 4, estou com dificuldades principalmente na implementação dos botões Controle Acadêmico: 1. O sistema irá controlar as entregas de exercícios e notas dos alunos de diversas disciplinas. Será considerado apenas o semestre atual, portando não será necessário compor um histórico de turmas / alunos que um professor teve. Um professor pode lecionar várias turmas dentro de um semestre. Cada disciplina, pode ter várias turmas num determinado semestre (ou até mesmo nenhuma). Cada turma é cursada por vários alunos, onde cada aluno desta turma apresentará um rendimento escolar. 2. O sistema deverá ser implementado utilizando desenvolvimento em camadas, e utilizando os padrões de projeto Singleton e Façade. Uma camada só pode acessar funcionalidades da camada imediatamente inferior e apenas através de métodos especificados em uma interface. 3. As classes básicas de negócio do controle acadêmico são: professor, disciplina, turma, aluno e rendimento escolar. A classe professor possui os atributos: id (int), nome (String), cargo (String), data de nascimento (java.util.Date), nome de usuário (String) e senha (String). A classe disciplina possui os atributos: id (int), nome (String) e ementa (String). A classe turma possui os atributos id (int), disciplina (Disciplina), professor (Professor) e capacidade da turma. A classe aluno possui os atributos: id (int), nome (String), data de nascimento (java.util.Date), período (int), nome de usuário (String) e senha (String). A classe rendimento escolar possui os atributos turma (Turma), aluno (Aluno), nota 1a prova (int), nota 2a prova (int), trabalhos (array de String com 4 posições) e notas dos trabalhos (array de int com 4 posições). 4. O sistema possuirá três interfaces gráficas: uma para professores, uma para alunos e uma para o administrador: a. A interface para os professores deverá disponibilizar as seguintes opções: a. Logar no sistema (caso já esteja cadastrado) e cadastrar novo usuário (caso ainda não esteja cadastrado); b. Assim que entrar no sistema exibir as suas turmas do semestre; c. Exibir detalhes da turma que o usuário selecionar, nesta tela o professor poderá visualizar os trabalhos entregues pelos alunos e dar uma nota de 0 a 10 (com uma casa decimal de precisão). Também será possível digitar as notas do 1o e 2o GQ dos alunos daquela turma; d. Exibir uma listagem da turma com as médias de todos os alunos, destacando quem já foi reprovado (em vermelho), quem precisa ir pra final e a nota necessária (em laranja) e os aprovados (em verde). Para isto a média é calculada da seguinte maneira: 10% da média aritmética das notas dos primeiros dois trabalhos será o ponto extra a ser adicionado a nota do 1o GQ e da mesma maneira os outros dois trabalhos irão contar para o 2o GQ (lembre-se que 10 é a nota máxima). Depois disto, é calculada a média ponderada com 40% de peso para o 1o GQ e 60% de peso para o 2o GQ. No final da listagem deve aparecer um resumo com as quantidades e percentuais das seguintes informações: alunos aprovados, alunos na final e alunos reprovados; e. Exibir listagem de todas as turmas disponíveis (que o professor ainda não esteja associado) e o professor poder indicar que ele é o professor daquela turma; b. A interface para os alunos deverá disponibilizar as seguintes opções: a. Logar no sistema (caso já esteja cadastrado) e cadastrar novo usuário (caso ainda não esteja cadastrado); b. Assim que entrar no sistema exibir as suas turmas do semestre; c. Exibir detalhes da turma que o usuário selecionar, nesta tela o aluno poderá visualizar os trabalhos entregues, e as notas atribuídas pelo professor, além da possibilidade de entregar os trabalhos; d. Exibir listagem de todas as turmas disponíveis (que o aluno ainda não está matriculado) e o aluno poder se matricular nas turmas; c. A interface para administração deverá disponibilizar as seguintes opções: a. Cadastrar / Remover / Consultar / Listar disciplinas; b. Cadastrar / Remover / Consultar / Listar turmas; c. Cadastrar / Remover / Consultar / Listar aluno; d. Remover / Consultar / Listar professores; e. Remover / Consultar / Listar rendimento Escolar; 5. Todas as exceções deverão ser capturadas na interface gráfica. Para cada exceção em particular deverá ser criada um classe que herda de Exception. Então, ao tentar se matricular numa turma já lotada deverá ser gerada uma exceção, ao tentar logar com um nome de usuário não cadastrado ou senha inválida será gerada uma exceção, etc. Todos os erros deverão ser cobertos com exceções. 6. Deverá ser utilizado arquivos ou arrays (Não deve utilizar Arraylist, linked list....) para armazenar os dados (facilmente intercambiáveis) e você deverá ter pelo menos os seguintes dados já cadastrados: 3 disciplinas; 7 turmas; 2 professores com 3 turmas cada 2 alunos com 3 turmas cada os 4 trabalhos de 1 dos alunos já enviados e com notas dos trabalhos e dos GQs
  2. galera eu to travado nesse problema, nas precisamente na parte dos grupos de 100, se conseguir fazer essa parte eu termino o problema. alguém poderia me ajudar? Uma empresa de construção civil precisa adquirir equipamentos de segurança novos para os seus funcionários. Os equipamentos necessários são classificados em equipamentos para proteção individual (EPI) e para proteção coletiva (EPC). Sabe-se que o gasto com EPI será de R$ 17,45 por funcionário e o gasto com EPC será de R$ 2.250,00 para cada grupo de 100 funcionários. Faça um programa em Java que determine o custo total dos equipamentos baseado na quantidade de funcionários.
  3. @giu_d cara irei praticar, seguirei o seu conselho e deixarei o typedef de lado por hora. muito obrigado pela ajuda e pelo suporte, de verdade mesmo. tirou muitas duvidas minhas, sou um novo homem depois desse post
  4. @giu_d realmente o typedef me confundiu, seguirei o seu conselho em relação a struct. mas só por curiosidade eu acertei no exemplo do fwrite com o typedef?
  5. então o fwrite seria fwrite(&CLIENTE, sizeof(c),1,arq); ?
  6. muito bom você citar isso. então no seu exemplo de CLIENTE c seria CLIENTE.nome, Cliente.idade ... certo?
  7. entendi. então no caso que exemplifiquei, com utilização do typedef typedef struct cadastro{ char nome[30]; char cpf[15]; int idade;} CLIENTE; ficaria CLIENTE cadastro certo?
  8. no caso do meu exemplo ficaria CLIENTE cadastro certo?
  9. entendo, e teria alguma ordem nisso por exemplo eu apelidei minha struct cadastro de CLIENTE, poderia ser CLIENTE cadastro ou teria que ser cadastro CLIENTE? ou essa ordem não importa para o funcionamento do código?
  10. @giu_d muito obrigado por explicar. a única coisa que me confunde é esse Pessoa pessoa, qual a diferença entre os dois?
  11. @giu_d agora entendi, e se eu quisesse adicionar algo nessa struct, eu teria que criar outra variável? ou poderia armazenar nessa variável pessoa? acredito que na escrita não se usaria o while, ou estou errado? desculpe te importunar, é que não achei nada que me explicasse de forma que pudesse entender na intenet. desde já te agradeço por sanar minhas duvidas aqui no fórum
  12. @giu_d a principio eu dei uma moscada na parte do ciclo While mas depois de prestar mais atenção, entendi que o laço continuará sendo executado enquanto tiver conteúdo pra ser exibido (enquanto for diferente de end of file). sua explicação me esclareceu muita coisa, mas ainda não consegui pegar o porque de ter um Fread fora do do e um Fread dentro do do. outra pergunta que tenho é, o printf vem sempre antes do Fread ou tanto faz? muito obrigado pela resposta
  13. estou com duvidas nesse tipo de código até então foi o que fiz, não sei se está certo typedef struct pessoa { char nome [30]; char cpf [15]; int idade; } pessoa; void ler pessoa(){ file *p; p = fopen("arquivo.bin", "rb"); if(p==NULL){ printf("erro ao abrir o arquivo.\n"); exit(1);} struct pessoa; fread(pessoa, sizeof(pessoa), 1, p); printf("%s\n %s\n %d\n", pessoa.nome, pessoa.cpf, pessoa.idade): fclose(p); } é isso? se não for, podem me ajudar no que errei ou algo que posso melhorar?
  14. valeu. e obrigado por me mostrar mais um caminho de resolução
  15. Escreva um programa para manter um cadastro de notas dos alunos de uma turma. As informações que devem fazer parte desse cadastro, para cada aluno, são: • número USP • nome • três notas relativas ao semestre Você deve criar funções específicas que façam: • inserção de um novo aluno • remoção de um aluno do cadastro • alteração de alguma informação de algum aluno do cadastro O seu programa principal deve apresentar um “menu” da seguinte forma

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×