program agenda_de_compromissos; uses crt; const NMES=12; NDIA=31; NHORA=24; type compromisso = string[10]; atividade = array [1..NMES,1..NDIA,1..NHORA] of compromisso; procedure insere(var a:atividade); var m,d,h:integer; begin clrscr; writeln('Insere um compromisso'); writeln; write('Entre com o mes, dia e hora: '); readln(m,d,h); if (m<=NMES) and (d<=NDIA) and (h<=NHORA) then begin write('Entre com o compromisso: '); readln(a[m,d,h]); end else writeln('>>> Erro: impossivel agendar o compromisso nesta data'); writeln; writeln('=> Pressione uma tecla para voltar ao menu...'); readkey; end; procedure consulta(a:atividade); var m,d,h:integer; begin clrscr; writeln('Consulta um compromisso'); writeln; write('Entre com o mes, dia e hora: '); readln(m,d,h); if (m<=NMES) and (d<=NDIA) and (h<=NHORA) then begin writeln; writeln('Compromisso agendado: '); writeln(a[m,d,h]) end else writeln('>>> Erro: esta data nao pode ser consultada'); writeln; writeln('=> Pressione uma tecla para voltar ao menu...'); readkey; end; function le_opcao:integer; var opcao:integer; begin clrscr; writeln('Agenda de Compromissos'); writeln; writeln('1. Inserir um novo compromisso'); writeln('2. Consultar um compromisso'); writeln('3. Sair do programa'); writeln; writeln('Entre com a sua opcao: ' ); readln(opcao); le_opcao:=opcao; end; var agenda:atividade; op:integer; sair:boolean; begin sair:=false; repeat op:=le_opcao; if op=1 then insere(agenda); if op=2 then consulta(agenda); if op>=3 then sair:=true; until sair; readln; end.