[Ajuda] Programa Java

Zone^55 Live!

Power Member
Boas, tenho um trabalho de programação o qual consiste em:

Criar um programa que permita não só a gestão das inscrições dos alunos nos turnos das disciplinas, mas também que possam "construir" o seu horário.

A informação deverá ser armazenada em estruturas de dados dinâmicas e para cada aluno a informação deverá conter:

- aluno
- disciplina
- turno
- inscrição

Para facilitar a escrita do código, foi-nos dada a seguinte estrutura a seguir:

Menu 1 Menu Principal

Opção 1.1 Horário de Aluno - Chama menu 2 permitindo criar/alterar o horário de um aluno.
Opção 1.2 Gerir Disciplinas - Chama menu 3 que permite criar/alterar disciplinas, turnos e efectuar listagens dos alunos por disciplina/turno.
Opção 1.3 Sair do Programa - Deve pedir confirmação ao utilizador e em caso afirmativo deve terminar a aplicação.


Menu 2 Horário Aluno

Opção 2.1 Mostra Horário Actual - Mostra as disciplinas e os turnos a que o aluno está inscrito.
Opção 2.2 Inscrição a uma Disciplina - Permite que o aluno se inscreva a uma disciplina, passando os turnos desta a estarem disponíveis para a escolha do aluno.
Opção 2.3 Eliminar Inscrição numa Disciplina - Permite que o aluno anule a inscrição a uma disciplina. Caso o aluno ja tenha feito a inscrição a algum turno dessa disciplina, o programa deve pedir confirmação para eliminar a inscrição tanto à disciplina como aos turnos dessa disciplina.
Opção 2.4 Inscrição a um Turno - Permite que o aluno se inscreva a um turno. O programa só deve permitir que o aluno se inscreva a turnos de disciplinas a que está inscrito.
Opção 2.5 Eliminar Inscrição num Turno - Permite que o aluno anule a inscrição a um turno, mantendo no entanto a inscrição à respectiva disciplina.
Opção 2.6 Eliminar Horário/Aluno - Permite eliminar todos os dados referentes às inscrições do aluno em disciplinas e turnos.


Menu 3 Gerir Disciplinas

Opção 3.1 Inserir Nova Disciplina
Opção 3.2 Alterar Disciplina
Opção 3.3 Eliminar Disciplina
Opção 3.4 Nº de Alunos por Disciplina
Opção 3.5 Nº de Alunos por Turno


Menu 4 Alterar Disciplina Deve Pedir ao utilizador o código da disciplina a alterar e depois apresentar as seguintes opções:

Opção 4.1 Alterar Dados da Disciplina
Opção 4.2 Inserir Turno
Opção 4.3 Alterar Turno
Opção 4.4 Eliminar Turno
Opção 4.5 Voltar ao Menu Anterior


Menu 5 Listagens de Dados

Opção 5.1 Listagem de Alunos numa disciplina
Opção 5.2 Listagem de alunos num turno
Opção 5.3 Voltar ao menu anterior - voltar ao menu 3.


Código que tenho até agora:
Código:
variaveis - 01; 02; M1; M2; 03
 
ESCREVER ("M1");
LER(01)
CASO(01)
  1: ESCREVER ("HORARIO DO ALUNO");
      LER(H1);
      CASO(H1)
       ESCREVER ("INSIRA O Nº ALUNO:");
       LER(N);
       SE N<=X ENTÃO
       <MOSTRAR DISCIPLINAS DO ALUNO>
       SENÃO
                1: MOSTRAR HORÁRIO ACTUAL
                2: INSCRIÇÃO NA DISCIPLINA
                3: ELIMINAR INSCRIÇÃO NA DISCIPLINA
                4: INSCRIÇÃO NA TURMA
                5: ELIMINAR INSCRIÇÃO NA TURMA 
                6: ELIMINAR HORARIO/ALUNO
    [SENÃO: ESCREVER ("INSIRA Nº DE 1 A 6:")

Isto é o Pseudo Código.
Toda a ajuda é bem vinda :D
 
Terás que ser mais concreto... Queres ajuda em que parte ou para o quê?? O pedido de trabalho é bastante simples até, talvez em 3 horas (sem muitos conhecimentos) serias capaz de fazer.

Estou disposto a ajudar no que quiseres, mas como deves imaginar não te vou fornecer o código todo do teu problema.

Que tal começares por fazer um menu (nem sei se é gráfico ou consola), com uns CASES, implementar alguns métodos, uma classe aluno e disciplinas talvez... Existem N maneiras ;) Duvidas expõem que tentarei ajudar, mas pedir para fazermos isso nem te aconselho porque há imensos professores a frequentar este forum e a "caçar" os alunos como casos que ja tenho visto :)

De resto, duvidas podes expor a vontade!
 
Parece-me o primeiro projecto de programação para pessoal de direito ou humanidades.
Em concursos de programação tens 30 minutos para resolveres uns 5 problemas mais dificeis que esse :P
 
Mas queres que te façam o trabalho?? O objectivo é ajudar.. não fazer por ti.

Diz as tuas duvidas ou os problemas que estas a ter com o codigo para que te ajudem :)
 
Última edição:
Que desenterranço xD Qwerty, aqui é mais facil dizeres qual é a tua duvida em concreto, que erro te está a dar ou que parte do código não estás a conseguir fazer. Pedir um exercicio todo ou resolverem te um trabalho inteiro aqui não te devem fazer :)
 
Back
Topo