program agenda_de_compromissos; uses crt; type reg_compromisso = record mes:integer; dia:integer; hora:integer; compromisso:string; end; agenda = array [1..50] of reg_compromisso; procedure insere(var a:agenda; var ultimo:integer); begin clrscr; writeln('Insere um compromisso'); writeln; ultimo:=ultimo+1; write('Entre com o mes, dia e hora: '); readln(a[ultimo].mes, a[ultimo].dia, a[ultimo].hora); write('Entre com o compromisso: '); readln(a[ultimo].compromisso); writeln; writeln('=> Pressione uma tecla para voltar ao menu...'); readkey; end; procedure consulta(a:agenda; ultimo:integer); var m,d,h:integer; achou:boolean; cont:integer; begin clrscr; writeln('Consulta um compromisso'); writeln; write('Entre com o mes, dia e hora: '); readln(m,d,h); achou:=false; for cont:=1 to ultimo do if (a[cont].mes=m) and (a[cont].dia=d) and (a[cont].hora=h) then begin achou:=true; writeln('Compromisso agendado: '); writeln(a[cont].compromisso); end; if not achou then writeln('>>> Sem compromissos agendados nesta data <<<'); 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 vetor:agenda; quantidade:integer; op:integer; sair:boolean; begin sair:=false; quantidade:=0; repeat op:=le_opcao; if op=1 then insere(vetor,quantidade); if op=2 then consulta(vetor,quantidade); if op>=3 then sair:=true; until sair; readln; end.