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