Mudanças entre as edições de "Projeto de Programação 1 - Programa Controle de Acesso"
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;