Mudanças entre as edições de "Projeto de Programação 1 - Programa Controle de Acesso"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 22: Linha 22:
 
== Ações do Administrador ==
 
== Ações do Administrador ==
 
==== Bloquear Usuário ====
 
==== Bloquear Usuário ====
 +
 +
case 1: /*** PARA BLOQUEAR USUÁRIO ***/
 +
printf("\nPara bloquear usuário:\n");
 +
printf("\nEntre com o nome do usuário a ser bloqueado: ");
 +
scanf(" %s", userID);
 +
 +
/* Loop para encontrar o usuário na tabela */
 +
for (aux=0, userEncontrado=1;aux<TAB_USER && userEncontrado;aux++) {
 +
if( strcmp(userID, TabelaUsuarios[aux].UserId)==0)
 +
userEncontrado=0;
 +
}
 +
 +
/* Se o usuário for encontrado será bloqueado */
 +
if (userEncontrado==0) {
 +
aux--;
 +
if (TabelaUsuarios[aux].ContUser>=3) {
 +
printf("\nUsuário encontrado já bloqueado!\n");
 +
} else{
 +
printf("\nBloqueando usuário...\n");
 +
TabelaUsuarios[aux].ContUser = 3;
 +
 +
/* Condição para verificar o sucesso da operação.*/
 +
if(TabelaUsuarios[aux].ContUser>=3)
 +
printf("\nUsuário bloqueado com sucesso!\n");
 +
}
 +
} else
 +
printf("\nUsuário não cadastrado!\n");
 +
break;
 +
 +
==== Cadastrar novo Usuário ====
 +
 +
case 2: /*** PARA CADASTRAR NOVO USUÁRIO ***/
 +
printf("\nPara cadastrar novo usuário: ");
 +
 +
/* Loop para encontrar o final da tabela */
 +
for(i=0;TabelaUsuarios[i].UserId[0] && i<TAB_USER;i++)
 +
aux++;
 +
 +
/* Condição para novo cadastro.*/
 +
if (i==TAB_USER)
 +
printf("\nLimite de cadastro de usuários atingido.\n");
 +
else {
 +
 +
printf("\nEntre com um novo nome de Usuário:\n");
 +
scanf(" %s", userID);
 +
 +
/* Loop para encontrar o usuário na tabela */
 +
for (i=0; i<aux && userEncontrado; i++) {
 +
if( strcmp(userID, TabelaUsuarios[i].UserId)==0)
 +
userEncontrado=0;
 +
}
 +
/* Se o usuário for encontrado já está cadastrado. */
 +
if (userEncontrado==0)
 +
printf("\nUsuário já cadastrado.Tente novamente com outro usuário.\n");
 +
else {
 +
strcat(TabelaUsuarios[aux].UserId,userID);
 +
 +
printf("\nEntre com uma nova senha para o novo usuário %s:\n", userID);
 +
scanf(" %s", senha);
 +
strcat(TabelaUsuarios[aux].Senha,senha);
 +
 +
strcat(TabelaUsuarios[aux].MsgUser,"Bom Dia");
 +
 +
/* Condição para verificar o sucesso da operação.*/
 +
if(strcmp(userID, TabelaUsuarios[aux].UserId)==0 && strcmp(senha, TabelaUsuarios[aux].Senha)==0)
 +
printf("\nNovo usuário '%s' cadastrado com sucesso!\n", TabelaUsuarios[aux].UserId);
 +
}
 +
}
 +
break;

Edição das 20h36min de 8 de abril de 2013

Proposta de trabalho:

  • Sistema de controle de acesso;
  • Interface GUI para o administrador;
  • Interface usuário GUI simulando o display LCD;
  • Arquivo de log de entrada/saída de usuários com horário e data;
  • Armazenamento da base de dados em arquivo;
  • Prever possibilidade de vários administradores;


Sistema de controle de acesso

Ações do Administrador

Bloquear Usuário

case 1: /*** PARA BLOQUEAR USUÁRIO ***/

printf("\nPara bloquear usuário:\n"); printf("\nEntre com o nome do usuário a ser bloqueado: "); scanf(" %s", userID);

/* Loop para encontrar o usuário na tabela */ for (aux=0, userEncontrado=1;aux<TAB_USER && userEncontrado;aux++) { if( strcmp(userID, TabelaUsuarios[aux].UserId)==0) userEncontrado=0; }

/* Se o usuário for encontrado será bloqueado */ if (userEncontrado==0) { aux--; if (TabelaUsuarios[aux].ContUser>=3) { printf("\nUsuário encontrado já bloqueado!\n"); } else{ printf("\nBloqueando usuário...\n"); TabelaUsuarios[aux].ContUser = 3;

/* Condição para verificar o sucesso da operação.*/ if(TabelaUsuarios[aux].ContUser>=3) printf("\nUsuário bloqueado com sucesso!\n"); } } else printf("\nUsuário não cadastrado!\n"); break;

Cadastrar novo Usuário

case 2: /*** PARA CADASTRAR NOVO USUÁRIO ***/

printf("\nPara cadastrar novo usuário: ");

/* Loop para encontrar o final da tabela */ for(i=0;TabelaUsuarios[i].UserId[0] && i<TAB_USER;i++) aux++;

/* Condição para novo cadastro.*/ if (i==TAB_USER) printf("\nLimite de cadastro de usuários atingido.\n"); else {

printf("\nEntre com um novo nome de Usuário:\n"); scanf(" %s", userID);

/* Loop para encontrar o usuário na tabela */ for (i=0; i<aux && userEncontrado; i++) { if( strcmp(userID, TabelaUsuarios[i].UserId)==0) userEncontrado=0; } /* Se o usuário for encontrado já está cadastrado. */ if (userEncontrado==0) printf("\nUsuário já cadastrado.Tente novamente com outro usuário.\n"); else { strcat(TabelaUsuarios[aux].UserId,userID);

printf("\nEntre com uma nova senha para o novo usuário %s:\n", userID); scanf(" %s", senha); strcat(TabelaUsuarios[aux].Senha,senha);

strcat(TabelaUsuarios[aux].MsgUser,"Bom Dia");

/* Condição para verificar o sucesso da operação.*/ if(strcmp(userID, TabelaUsuarios[aux].UserId)==0 && strcmp(senha, TabelaUsuarios[aux].Senha)==0) printf("\nNovo usuário '%s' cadastrado com sucesso!\n", TabelaUsuarios[aux].UserId); } } break;