raizoku 
		 
		(usa Ubuntu)
		 
		Enviado em 16/01/2017 - 11:02h 
		SarusKant escreveu:
Bom dia,
Esta aqui seu problema.
 
if(strcmp(vusuario,db[i].usuario)==0 && strcmp(vsenha,db[i].senha)==0) 
 
Seu campo senha é do tipo inteiro, função strcmp é somente para caracteres, faça assim.
 
if(strcmp(vusuario,db[i].usuario)==0 && atoi(vsenha)==db[i].senha) 
 
Também realize este tratamento, retire o breakline.
     
int i=0; 
while(vsenha[i]) { 
	if(vsenha[i]==(char)13) 
		vsenha[i] = '\0'; 
	i++; 
} 
i=0; 
while(vusuario[i]) { 
	if(vusuario[i]==(char)13) 
		vusuario[i] = '\0'; 
	i++; 
} 
 
Provável que isso resolva, seu problema.
--
Bruno Thomaz 
 
Fiz os testes primeiramente assim, só alterando o strcmp como você citou encima, o código nao apresentou erros, porem parece nao ter entrado no if, compilei e executei para testar e não deu nenhuma resposta.
    else if(opcao == 2) { 
 
			char vusuario[50]; 
			char vemail[50]; 
			int vsenha; 
			 
			printf("Digite o Usuario: "); 
			fflush(stdin); 
			gets(vusuario); 
					 
			printf("Digite a Senha: "); 
			scanf("%i", &vsenha); 
			 
			fp = fopen("atv.bin","rb");	 
				 
		 do { 
		 	vusuario; 
		 	vsenha; 
		 	for (i=0; i<(sizeof(db)/sizeof(menu)); i++ ) { 
		 		if(strcmp(vusuario,db[i].usuario)==0 && atoi(vsenha)==db[i].senha){ 
		 			puts("Usuario e Senha correto"); 
		 			session = db[i]; 
		 			 
				 } 
			 } 
			 if(session.id<1) 
			 puts("Usuario ou senha invalido");  
		 } while (session.id <1); 
		 fclose(fp); 
	}  
Testei o tratamento no lugar do break, deu o seguinte erro "[Warning] passing argument 1 of 'atoi' makes pointer from integer without a cast", testei transformando a senha para um char igual o usuario, funcionou só que tambem não deu nenhum resultando igual o código acima.
     
		else if(opcao == 2) { 
 
			char vusuario[50]; 
			char vemail[50]; 
			int vsenha; 
			 
			printf("Digite o Usuario: "); 
			fflush(stdin); 
			gets(vusuario); 
					 
			printf("Digite a Senha: "); 
			scanf("%i", &vsenha); 
			 
			fp = fopen("atv.bin","rb");	 
				 
		 do { 
		 	vusuario; 
		 	vsenha; 
		 	for (i=0; i<(sizeof(db)/sizeof(menu)); i++ ) { 
		 		if(strcmp(vusuario,db[i].usuario)==0 && atoi(vsenha)==db[i].senha){ 
		 			puts("Usuario e Senha correto"); 
		 			session = db[i]; 
		 			int i=0; 
			while(vsenha[i]) { 
			if(vsenha[i]==(char)13) 
			vsenha[i] = '\0'; 
					i++; 
			} 
			i=0; 
			while(vusuario[i]) { 
			if(vusuario[i]==(char)13) 
				vusuario[i] = '\0'; 
				i++; 
			} 
		 			 
				 } 
			 } 
			 if(session.id<1) 
			 puts("Usuario ou senha invalido");  
		 } while (session.id <1); 
		 fclose(fp); 
	}