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 52: Linha 52:
 
   
 
   
 
==== Cadastrar novo Usuário ====
 
==== Cadastrar novo Usuário ====
 
+
 
  case 2: /*** PARA CADASTRAR NOVO USUÁRIO ***/
 
  case 2: /*** PARA CADASTRAR NOVO USUÁRIO ***/
printf("\nPara cadastrar novo usuário: ");
+
printf("\nPara cadastrar novo usuário: ");
+
/* Loop para encontrar o final da tabela */
+
/* Loop para encontrar o final da tabela */
for(i=0;TabelaUsuarios[i].UserId[0] && i<TAB_USER;i++)
+
for(i=0;TabelaUsuarios[i].UserId[0] && i<TAB_USER;i++)
aux++;
+
aux++;
+
/* Condição para novo cadastro.*/
+
/* Condição para novo cadastro.*/
if (i==TAB_USER)
+
if (i==TAB_USER)
printf("\nLimite de cadastro de usuários atingido.\n");
+
printf("\nLimite de cadastro de usuários atingido.\n");
else {
+
else {
 
+
printf("\nEntre com um novo nome de Usuário:\n");
+
printf("\nEntre com um novo nome de Usuário:\n");
scanf(" %s", userID);
+
scanf(" %s", userID);
+
/* Loop para encontrar o usuário na tabela */
+
/* Loop para encontrar o usuário na tabela */
for (i=0; i<aux && userEncontrado; i++) {
+
for (i=0; i<aux && userEncontrado; i++) {
if( strcmp(userID, TabelaUsuarios[i].UserId)==0)
+
if( strcmp(userID, TabelaUsuarios[i].UserId)==0)
userEncontrado=0;
+
userEncontrado=0;
}
+
}
/* Se o usuário for encontrado já está cadastrado. */
+
/* Se o usuário for encontrado já está cadastrado. */
if (userEncontrado==0)
+
if (userEncontrado==0)
printf("\nUsuário já cadastrado.Tente novamente com outro usuário.\n");
+
printf("\nUsuário já cadastrado.Tente novamente com outro usuário.\n");
else {
+
else {
strcat(TabelaUsuarios[aux].UserId,userID);
+
strcat(TabelaUsuarios[aux].UserId,userID);
+
printf("\nEntre com uma nova senha para o novo usuário %s:\n", userID);
+
printf("\nEntre com uma nova senha para o novo usuário %s:\n", userID);
scanf(" %s", senha);
+
scanf(" %s", senha);
strcat(TabelaUsuarios[aux].Senha,senha);
+
strcat(TabelaUsuarios[aux].Senha,senha);
+
strcat(TabelaUsuarios[aux].MsgUser,"Bom Dia");
+
strcat(TabelaUsuarios[aux].MsgUser,"Bom Dia");
+
/* Condição para verificar o sucesso da operação.*/
+
/* Condição para verificar o sucesso da operação.*/
if(strcmp(userID, TabelaUsuarios[aux].UserId)==0 && strcmp(senha, TabelaUsuarios[aux].Senha)==0)
+
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);
+
printf("\nNovo usuário '%s' cadastrado com sucesso!\n", TabelaUsuarios[aux].UserId);
}
+
}
}
+
}
break;
+
break;

Edição das 20h38min 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;