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.75 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, y, z, s, n;
  60.  
  61. printf("\nIntroduza um numero:\n");
  62. scanf("%d", &x);
  63.  
  64. printf("%d Em Binario o numero e:\n", x);
  65.  
  66. for (y = 25; y >= 0; y--)
  67. {
  68. z = x >> y;
  69. if (z & 1)
  70. printf("1");
  71. else
  72. printf("0");
  73. }
  74. getchar();
  75. printf("\nGostaria de repetir o programa?\ns/n\n");
  76. scanf("%c", &resp);
  77.  
  78. }while(resp=='s');//ciclo que se o utilizador responder "s",volta a dar o programa e se responder "n" o programa sai
  79. printf("\n");
  80.  
  81. return (0);
  82. }
  83.  
  84.  
  85.  
  86. long int_to_bin(int number)
  87. {
  88. long bin = 0; //numero para retornar
  89. int mult = 1; //multiplicador
  90. for(int i=0;i<16;++i)
  91. {
  92. bin += (number & (1<<i) ? 1 : 0) * mult; //0->16 porque um int tem 16 bits
  93. //vamos fazer um AND com o numero e uma mascara
  94. //se for 1 vamos adicionar 1 * mult
  95. //se for 0 vamos adicionar 0 * mult
  96. //o mult serve para meter o proximo 1 ou 0 no sitio correto
  97. //6 = 0110
  98. //00 = 0
  99. //110 =10
  100. //1100 = 100
  101. //01000 = 0
  102. //se adicionar-mos todos os numeros da = 110 que é 6
  103. mult *= 10; //incrementar sempre o mult
  104. }
  105. return bin;
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement