next up previous
Next: Requisitos da solução Up: ep4 Previous: ep4

O problema

Você deve implementar o programa ServContas, que gerencia $N$ contas bancárias. As contas são numeradas de 1 a $N$. Para cada conta são guardadas somente duas informações: o saldo atual e o limite mínimo do saldo.

O programa ServContas é um servidor que aceita conexões TCP num port especificado na linha de comando. Conectando-se ao servidor, um cliente pode efetuar as operações saldo, depósito, saque, transferência, info e limite, conforme o exemplo abaixo (esse exemplo supõe que o servidor está aguardando conexões no port 6789 da máquina algum.host):

    $ telnet algum.host 6789
    Trying xxx.xxx.xxx.xxx...
    Connected to algum.host.
    Escape character is '^]'.
    Bem vindo!
    *saldo 1 4 6
    conta 1: 100
    conta 4: 1000
    conta 6: -2000
    *deposito 200 1
    conta 1: 100 -> 300
    *transf 50 4 1
    conta 4: 1000 -> 950
    conta 1: 300 -> 350
    *saque 100 1
    conta 1: 350 -> 250
    *saque 1000 6
    saque ultrapassaria limite
    *info 6
    conta 6: saldo -2000, limite -2500
    *limite -5000 6
    limite da conta 6: -2500 -> -5000
    *saque 2000 6
    conta 6: -2000 -> -3000
    *quit
    Volte sempre!
    $
As três linhas abaixo da chamada telnet foram geradas pelo próprio telnet. O ``*'' é o prompt do servidor de contas. As linhas iniciadas com ``*'' foram digitadas pelo usuário do telnet (exceto pelo primeiro caracter da linha, que foi mandado pelo servidor). Todas as outras linhas foram enviadas pelo servidor. Note que o usuário do telnet pode manipular qualquer conta (pense nele como um funcionário do banco especialmente autorizado para isso).



Francisco Reverbel
2006-06-11