Você foi contratado para desenvolver um programa que envia mensagens pela rede de computadores de uma empresa. O programa deve ler um arquivo do tipo binário (usuarios.dat, fornecido pelo professor) e carregar esses usuários em um vetor, ou seja, só enviam mensagens pelo programa usuários cadastrados. O vetor de usuários deve ter tamanho 50 (isso que dizer que seu programa só controla no máximo 50 usuários).
Todas as mensagens enviadas pelo programa devem ser gravadas em um arquivo binário (mensagens.dat). As mensagens enviadas devem ser carregadas em um vetor de tamanho 1000 (isso que dizer que seu programa só armazena no máximo 1000 mensagens).
Observação: é interessante que o seu programa tenha duas variáveis para controlar o número de elementos dos vetores, ou seja, o número de usuários e o número de mensagens enviadas.
As estruturas abaixo devem ser usadas pelo seu programa:
struct usuario {
char login[10];
char senha[10];
};
struct mensagem {
char ip[15];
char assunto[50];
char msg[100];
};
Quando o usuário executar o programa, ele deve solicitar o login e a senha de um usuário. O menu só deve ser apresentado para usuários cadastrados, ou seja, que tenha login e senha no arquivo usuários.
O arquivo usuarios.dat fornecido pelo professor possui os seguintes usuários e senhas:
• admin / admin
• teste / teste
• unifg / 1234
• cco / cco123
• gti / gtiabc
Na função main, quando você tentar abrir o arquivo mensagens.dat e ele não existir você deve abri-lo de modo que crie o arquivo.
a) Implemente uma função int menu(), essa função deve imprimir o seguinte menu abaixo e retorna o valor da opção digitada pelo usuário.
PROGRAMA DE MENSAGENS
LOGIN: admin
SENHA: admin
Na função main, quando você tentar abrir o arquivo mensagens.dat e ele não existir você deve abri-lo de modo que crie o arquivo.
a) Implemente uma função int menu(), essa função deve imprimir o seguinte menu abaixo e retorna o valor da opção digitada pelo usuário.
### MENU ###
1. Enviar mensagem
2. Listar mensagens enviadas
3. Apagar arquivo de mensagens enviadas
0. Sair
Escolha uma opção:
b) Implemente uma função void enviar(struct mensagem vetor_msg[], struct mensagem dado, int posicao). Essa função envia mensagens, ou seja, insere a mensagem no vetor de mensagens.
c) Implemente uma função void listar(struct mensagem vetor_msg[], int tamanho). Essa função deve listar todas as mensagens já enviadas pelo programa, as mensagens devem ser mostradas na tela, como mostra o exemplo abaixo:
LISTA DE MENSAGENS ENVIADAS
IP.....: 192.168.250.22
ASSUNTO: APS de Técnicas de Programação
MENSAGEM: A APS foi muito fácil.
IP.....: 192.168.250.13
ASSUNTO: Bom dia, Pessoal!
MENSAGEM: Informo que a nossa prova se aproxima.
d) Implemente uma função void apagar(char *nome_arquivo). Essa função apaga o arquivo mensganes.dat. Observação: para apagar um arquivo use a função remove(nome_arquivo).
EXCLUIR BACKUP DE MENSAGENS
Deseja excluir o arquivo 'mensagens.dat' (1-Sim/0-Não)?
Pressione qualquer tecla para continuar...