Advertisement
Guest User

Untitled

a guest
Jul 5th, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.71 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <windows.h>
  4.  
  5. long int_to_bin(int number);
  6.  
  7. main()
  8. {
  9. int a=3;
  10. //int certo=0;
  11. char nome[50];
  12. char password[50];
  13. while(a>0)
  14. {
  15.  
  16. printf("Insira Username:");
  17.  
  18. gets(nome);
  19.  
  20. if(strcmp(nome,"xpto")==0)
  21. printf("Username Correto!\n");
  22. else
  23. printf("Username Incorreto!\n");
  24.  
  25. printf("Insira Password:");
  26.  
  27. gets(password);
  28.  
  29. if(strcmp(password,"123")==0)
  30. printf("Password Correta!\n");
  31. else
  32. printf("Password Incorreta!\n");
  33.  
  34.  
  35. if(strcmp(nome,"xpto")==0 && strcmp(password,"123")==0)
  36. {
  37. printf("Bem vindo\n");
  38. goto sair;
  39. }
  40. else
  41.  
  42.  
  43. a--;
  44. printf("Restam %d tentativas\n",a);
  45. }
  46. if(a==0)
  47. exit(0);//sair do programa
  48.  
  49. printf("Errou");
  50.  
  51. sair:
  52. printf("Entrou no projeto\n");
  53.  
  54. //Conversão de números para binário
  55.  
  56.  
  57. do //repetição do programa
  58. {
  59. int x;
  60. char resp;
  61.  
  62. printf("\nIntroduza um numero:\n");
  63. scanf("%d", &x);
  64.  
  65. printf("Em Decimal o numero e: %d \n", x);
  66.  
  67. long l = int_to_bin(x);
  68. printf("Em Binario o numero e: %ul \n",l)
  69.  
  70. printf("\nGostaria de repetir o programa?\ns/n\n");
  71. getchar();
  72. scanf("%c", &resp);
  73.  
  74. }while(resp=='s');//ciclo que se o utilizador responder "s",volta a dar o programa e se responder "n" o programa sai
  75. printf("\n");
  76.  
  77. return (0);
  78. }
  79.  
  80.  
  81.  
  82. long int_to_bin(int number)
  83. {
  84. long bin = 0; //numero para retornar
  85. int mult = 1; //multiplicador
  86. for(int i=0;i<16;++i)
  87. {
  88. bin += (number & (1<<i) ? 1 : 0) * mult; //0->16 porque um int tem 16 bits
  89. //vamos fazer um AND com o numero e uma mascara
  90. //se for 1 vamos adicionar 1 * mult
  91. //se for 0 vamos adicionar 0 * mult
  92. //o mult serve para meter o proximo 1 ou 0 no sitio correto
  93. //6 = 0110
  94. //00 = 0
  95. //110 =10
  96. //1100 = 100
  97. //01000 = 0
  98. //se adicionar-mos todos os numeros da = 110 que é 6
  99. mult *= 10; //incrementar sempre o mult
  100. }
  101. return bin;
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement