Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <windows.h>
- long int_to_bin(int number);
- main()
- {
- int a=3;
- //int certo=0;
- char nome[50];
- char password[50];
- while(a>0)
- {
- printf("Insira Username:");
- gets(nome);
- if(strcmp(nome,"xpto")==0)
- printf("Username Correto!\n");
- else
- printf("Username Incorreto!\n");
- printf("Insira Password:");
- gets(password);
- if(strcmp(password,"123")==0)
- printf("Password Correta!\n");
- else
- printf("Password Incorreta!\n");
- if(strcmp(nome,"xpto")==0 && strcmp(password,"123")==0)
- {
- printf("Bem vindo\n");
- goto sair;
- }
- else
- a--;
- printf("Restam %d tentativas\n",a);
- }
- if(a==0)
- exit(0);//sair do programa
- printf("Errou");
- sair:
- printf("Entrou no projeto\n");
- //Conversão de números para binário
- do //repetição do programa
- {
- int x;
- char resp;
- printf("\nIntroduza um numero:\n");
- scanf("%d", &x);
- printf("Em Decimal o numero e: %d \n", x);
- long l = int_to_bin(x);
- printf("Em Binario o numero e: %ul \n",l)
- printf("\nGostaria de repetir o programa?\ns/n\n");
- getchar();
- scanf("%c", &resp);
- }while(resp=='s');//ciclo que se o utilizador responder "s",volta a dar o programa e se responder "n" o programa sai
- printf("\n");
- return (0);
- }
- long int_to_bin(int number)
- {
- long bin = 0; //numero para retornar
- int mult = 1; //multiplicador
- for(int i=0;i<16;++i)
- {
- bin += (number & (1<<i) ? 1 : 0) * mult; //0->16 porque um int tem 16 bits
- //vamos fazer um AND com o numero e uma mascara
- //se for 1 vamos adicionar 1 * mult
- //se for 0 vamos adicionar 0 * mult
- //o mult serve para meter o proximo 1 ou 0 no sitio correto
- //6 = 0110
- //00 = 0
- //110 =10
- //1100 = 100
- //01000 = 0
- //se adicionar-mos todos os numeros da = 110 que é 6
- mult *= 10; //incrementar sempre o mult
- }
- return bin;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement