Aguem me da um help nesse trabalho

Elabore um programa para gerenciar uma agenda de uma pessoa. O sistema deve efetuar o cadastro de
contatos de uma pessoa. O cadastro de contatos deve ter capacidade para armazenar até 100 contatos e
deve conter as seguintes informações:

 Nome
 Telefone
 Data de Nascimento (dia, mês, ano)
 eMail

O programa deve oferecer para o usuário as seguintes opções:

  1. Cadastrar Contato: Cadastra os dados do contato na agenda. Não deve ser inserido contato cujo
    nome já esta registrado na agenda. O contato deve ser registrado na 1a posição livre da agenda. O
    usuário deve ser informado, caso o contato já esteja cadastrado ou se a agenda estiver cheia
  2. Consultar: Exibe os dados de um contato, identificado pelo nome.
  3. Alterar: Altera os dados de um contato, identificado pelo nome.
  4. Excluir: Exclui os dados de um contato, identificado pelo nome.
  5. Exibir Aniversariantes do mês: Exibe os dados de todos os contatos da agenda nascidos em um
    determinado mês.
  6. Exibir Contatos: Exibe os dados de todos os contatos da agenda.
  7. Fechar Agenda

Em qual tecnologia vc deve fazer o trabalho? Tem que ter interface ou será na linha de comando mesmo? Quais são as suas dúvidas? Vc tentou fazer e está com dificuldade em alguma parte?