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

Sign in to follow this  
brunosilva92

Projecto de Linguagens de Programação

Recommended Posts

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.