Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

brunosilva92

Projecto de Linguagens de Programação

Mensagens Recomendadas

brunosilva92

Boas,

precisava de ajudar para o meu projecto final para a disciplina de linguagens de programação, o projecto consistem em gerir um clube de vídeo.

O programa deverá conter:

- Tipos de dados

- Estruturas (tabelas/registo)

- Procedimentos e Funções

- Se necessário incluir apontadores

- Ficheiros

- Menus com várias opções ( sub menus se necessário )

As entidades são:

- Clientes

- DVD'S

- Alugueres

Já tenho alguma coisita feita mas continua muito incompleto, estou com algumas dificuldades quanto aos procedures e os cases ( quando se escolhe uma opção no menu ).

Aqui vai o código que tenho até agora:

 Program projecto;
Procedure mainmenu;
var opc:integer;
begin
  repeat
    writeln('                       ===== MINIHOLLYWOOD VIDEO CLUBE ====');
    writeln('                       |  1 - CLIENTES                     |');
    writeln('                       |  2 - DVDS                         |');
    writeln('                       |  3 - ALUGUERES                    |');
    writeln('                       ====================================');
    write('Escolha a área em que deseja gerir os dados: ');
    case opc of
        1: begin
        		readln;
                procedure clientes;
                var opc1:integer;
                begin
                  repeat
    				writeln('                       ================== CLIENTES ====================');
    				writeln('                       |  1 - Mostrar Todos Os Clientes    			|');
    				writeln('                       |  2 - Cliente Mais Velho                       |');
    				writeln('                       |  3 - Cliente Mais Novo                    	|');
    				writeln('                       |  4 - Pessoa Com Mais Alugueres Efectuados     |');
    				writeln('                       |  5 - Pessoa Com Menos Alugueres Efectuados    |');
    				writeln('                       |  6 - Media de Idades dos Clientes             |');
    				writeln('                       ================================================');
    			write('Escolha a operação que deseja efectuar na área dos clientes: ');
    			readln(opc1);
    				case opc1 of
    					1: begin
    						readln;
    						begin
    						end;
    					   end;
    					2: begin
				    	procedure cliente_max
				    		begin
				    		end;
				   end;
				3: begin
					procedure cliente_min
						begin
						end;
				   end;
				4: begin
					procedure mais_alugueres
						begin
						end;
				   end;
				5: begin
					procedure menos_alugueres
						begin
						end;
				   end;
				6: begin
					procedure media_idades
						begin
						end;
				   end;
          end;

        2: begin
               procedure dvds;
                var opc2:integer;
                begin
                  repeat
   				clrscr;
    				writeln('                       ================== DVDS ========================');
    				writeln('                       |  1 - Filme Mais Recente    				|');
    				writeln('                       |  2 - Filme Mais Antigo                   	|');
    				writeln('                       |  3 - Numero de Filmes de Cada Genero     	|');
    				writeln('                       |  4 - Filme Mais Longo     				|');
    				writeln('                       |  5 - Filme Mais Curto    					|');
    				writeln('                       |  6 - Nome dos Actores Destaque            	|');
    				writeln('                       |  7 - Visualizar Filmes de Um x Ano            |');    				
    				writeln('                       ================================================');
    		write('Escolha a operação que deseja efectuar na área dos DVDS: ');
    		readln(opc2);
    			case (opc2) of
    			1:begin
    					procedure dvd_recente
    					begin
    					end;
    			 end;
    			2:begin
		    		procedure dvd_antigo
				   begin
				   end;
		 end;
		3:begin
				procedure genero_filmes
					begin
					end;
		  end,
		4:begin
				procedure dvd_curto
					begin
					end;
		  end;
		5:begin
				procedure dvd_longo
					begin
					end;
		  end;
		6:begin
				procedure nome_actoresdestaque
					begin
					end;
		  end;
		7:begin
				procedure dvd_ano
					begin
					end;
		  end; 
        end;
   
        3 : begin
          	                procedure alugueres;
                var opc3:integer;
                begin
                  repeat
   				clrscr;
    				writeln('                       ================== ALUGUERES ===================');
    				writeln('                       |  1 - Aluguer Mais Caro    				|');
    				writeln('                       |  2 - Aluguer Mais Barato                      |');
    				writeln('                       |  3 - Tempo Alugado                    		|');
			writeln('                       ================================================');
    		write('Escolha a operação que deseja efectuar na área dos alugueres: ');
    		readln(opc3);
    			case (opc3) of
    				1: begin
    						procedure aluguer_caro
    							begin
    							end;
    				   end;
    				2: begin
    						procedure aluguer_barato
    							begin
    							end;
    				3: begin
    						procedure tempo_aluguer
    							begin
    							end;
    				   end;
         end;
end;
type clientes=record
cod_cliente:integer;
idade:integer;
nome:string;
localidade:string;
morada:string;
n_alugueres:integer;
end;
dvd=record
cod_dvd:integer;
nome:string;
genero:string;
ano_lancamento:integer;
duracao:integer;
actores:string;
end;   
alugueres=record
cod_aluguer:integer;
data_a:integer;
data_e:integer;
nome_cliente:string;
preco:integer;
end;
var fich:file of registo;
Begin
assign(fich,'gestao.dat');
rewrite(fich);
writeln('Escreva o nome de um Cliente') // Digite 0 para sair quando estiver a ser pedido um nome de cliente //
readln(clientes.nome)
while (clientes.nome<>'0')do
begin
	writeln('Escreva a idade desse Cliente');
	readln(clientes.idade);
	writeln('Escreva o codigo do cliente');
	readln(clientes.codigo);
	writeln('Escreva a morada do cliente');
	readln(clientes.morada);
	writeln('Escreva a localidade do cliente');
	readln(clientes.localidade);
	writeln('Introduza o numero de alugueres efectuados por esse cliente');
	readln(clientes.n_alugueres);
	writeln('Escreva o nome de um novo cliente, digite 0 para sair caso não deseje introduzir mais clientes');
	readln(clientes.nome);
end;
writeln('Escreva o nome de um filme') // Digite q para sair quando estiver a ser pedido um nome de um filme //
readln(dvd.nome);
while (dvd.nome <> 'q') do
begin
	writeln('Escreva o codigo do filme');
	readln(dvd.cod_dvd);
	writeln('Escreva o ano de lancamento do filme');
	readln(dvd.ano_lancamento);
	writeln('Escreva a duração do filme');
	readln(dvd.duracao);
	writeln('Escreva o genero de filme');
	readln(dvd.genero);
	writeln('Escreva um dos actores destaque nesse  filme');
	readln(dvd.actores);
	writeln('Escreva outro actor destaque desse filme');
	readln(dvd.acores);
	writeln('Escreva o nome de outro filme, digite 0 para sair caso não deseje introduzir mais filnes');
	readln(dvd.nome);
end;
writeln('Introduza o código de aluguer'); // Digite a para sair quando esviver a pedir o codigo de aluguer //
readln(alugueres.cod_aluguer);
while (alugueres.cod_aluguer <> 'a') do
begin 
	writeln('Escreva a data de aluguer no seguinte formato, dd-mm-aaaa');
	readln(alugueres.data_a);
	writeln('Escreva a data de entrega no seguinte formato, dd-mm-aaaa');
	readln(alugueres.data_e);
	writeln('Qual o custo desse aluguer');
	readln(alugueres.preco);
	writeln('Qual o nome do cliente que efectuou o aluguer');
	readln(aluguer.nome_cliente);
	writeln('Escreva  um novo codigo de cliente caso queira continuar a introduzir algueres, caso contrario digite a para sair');
	readln(aluguer.cod_aluguer);
end;
end.

Se alguém pode-se dar alguma ajuda ou dica agradecia.

Comprimentos,

Bruno Silva

Partilhar esta mensagem


Ligação 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

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.