Gostava que me dessem uma explicação sobre o que me falta no programa e se o meu Programa está bem... Precisava disto antes das 19h.... Obrigado pela vossa atenção
Program Pzim ;
Type
restaurante= array [1..100] of string;
totais_medios = array [1..100] of real;
Var
opcao, i, ad_rest:integer;
Soma,Media,max, min:real;
tipo_comida,numero_estrelas,nome_restaurante,localidade_restaurante:restaurante;
preco_medio_refeicao:totais_medios;
//Menu Principal//
Procedure menu (var x:integer);
Begin
//Vectores//
Writeln('**** Menu Principal****');
Writeln('1.Introduçao de dados');
writeln('2.Restaurante mais barato e mais caro');
writeln('3.Preço medio das refeiçoes');
writeln('4.Listagem de restaurantes');
Writeln('5.Listagem por tipo de comida');
writeln('6.Listagem por localidade');
writeln('7.Listagem por estrelas');
writeln('8.Listagem por preço');
writeln('9.Desvio em relaçao a media');
//Matrizes//
writeln('10.Introduçao de dados');
writeln('11.Listagem ');
writeln('12.Soma de Matrizes');
writeln('0.Sair');
readln(x);
clrscr;
End;
//Apresenta os dados referentes ao Restaurante (localidade, tipo de comida,preço média e número de estrelas)//
Procedure int_dados;
Begin
Writeln ('Quantos Restaurantes pretende adicionar?');
Readln (ad_rest);
If ad_rest < 100 then
Begin
For I:=1 to ad_rest do
begin
writeln('Introduza o nome do Restaurante', I, '.');
readln(nome_restaurante[I]);
writeln;
writeln('Introduza a Localidade do Restaurante', I ,'.');
readln(localidade_restaurante[I]);
writeln;
writeln('Introduza o preço medio da refeição', I ,'.');
readln(preco_medio_refeicao[I]);
writeln;
writeln('Tipo de comida', I ,'.');
readln(tipo_comida[I]);
writeln;
writeln('Número de estrelas', I ,'.');
readln(numero_estrelas[I]);
clrscr;
end;
End;
End;
//Apresenta os cálculos do Restaurante mais barato e mais caro//
Function preco_barato_caro;
Begin
max:=0;
For I:= 1 to ad_rest do
Begin
If preco_medio_refeicao[I] > max then
Begin
preco_barato_caro:= preco_medio_refeicao [I]
end
Else
If preco_medio_refeicao[I] < min then
Begin
min:= preco_medio_refeicao[I];
End;
End;
End;
// Apresenta as médias das refeições preteridas//
Procedure media_refeicoes(var a,c:real);
Begin
For I:=1 to ad_rest do
Soma:=preco_medio_refeicao[i]+ Soma;
Media:= Soma / ad_rest;
writeln('A media é de : ',Media);
End;
//Apresenta uma lista dos Restaurantes//
Procedure listar_restaurantes ;
Begin
For I:=1 to ad_rest do
Begin
Writeln('Restaurante',I,' : ',nome_restaurante[I]);
Repeat Until Keypressed;
End;
End;
// Apresenta uma lista do tipo de comidas//
Procedure Listagem_tipo_de_comida;
Begin
For I := 1 to ad_rest do
Begin
Writeln('Listagem do tipo de comida : ',I,' : ',tipo_comida[I]);
End;
Repeat Until Keypressed;
End;
//Apresenta a lista dos Restaurantes por Localidades//
Procedure listar_por_localidade;
Begin
For I:= 1 to ad_rest do
Begin
Writeln('Localidade', I,' :', localidade_restaurante[I]);
Repeat Until Keypressed;
End;
End;
// Apresenta a lista do Restaurantes pelas suas Estrelas//
Procedure listar_estrelas(a,c:real);
Begin
For I:= 1 to ad_rest do
Begin
Writeln('Estrelas', I,' :',numero_estrelas[I]);
Repeat Until Keypressed;
End;
End;
//Listagem por preço (ordem crescente)//
Procedure Listagem_Preco;
Var
K:Integer;
maior:Real;
Begin
For I := 1 to ad_rest do
Begin
For K:= I to ad_rest do
Begin
If (preco_medio_refeicao[K] < preco_medio_refeicao[I]) then
Begin
maior:= preco_medio_refeicao[K];
preco_medio_refeicao[I] := preco_medio_refeicao[I];
preco_medio_refeicao[I] := maior;
End;
End;
Writeln('Listagem : ');
For I := 1 to ad_rest do
Begin
Writeln('',preco_medio_refeicao[I],'; ');
End;
Repeat Until Keypressed;
End;
End;
//Desvio em relação à média //
Procedure relacao_media;
var
desvio:real;
Begin
For I := 1 to ad_rest do
Begin
desvio := preco_medio_refeicao[I] - Media;
Writeln('O Desvio da media : ',I,'é de: ',desvio);
Repeat Until Keypressed;
End;
End;
Begin
Repeat
menu(opcao);
case opcao of
1:int_dados;
2:writeln ('O preço médio das refeições',preco_barato_caro;
3:media_refeicoes;
4:listar_restaurantes;
5:Listagem_tipo_de_comida;
6:listar_por_localidade;
7:listar_estrelas;
8:Listagem_Preco;
9:relacao_media;
end;
Until opcao = 0 ;
End.