Advertisement
pdaogu

HW9.1ex

Nov 6th, 2018
28
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.97 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. void printBinary (int n, int bit) {
  5.     int i;
  6.     printf("\n%d o dang nhi phan: ", n);
  7.     for (i = bit - 1; i >= 0; --i) {
  8.         printf("%d", (n >> i) & 1);
  9.  
  10.     }
  11.     putchar('\n');
  12.     return;
  13. }
  14.  
  15. void printBinary (double n) {
  16.     long long k;
  17.     memcpy(&k, &n, sizeof(n));
  18.     int bit = sizeof(n) * 8, i;
  19.     printf("\n%lf o dang nhi phan: ", n);
  20.     for (i = bit - 1; i >= 0; --i) {
  21.         printf("%d", (k >> i) & 1);
  22.  
  23.     }
  24.     putchar('\n');
  25.     return;
  26. }
  27.  
  28. void printOctal (int n) {
  29.     printf("\n%d o dang bat phan: ", n);
  30.     printf("%o\n", n);
  31.     return;
  32. }
  33.  
  34. void printHexa (int n) {
  35.     printf("\n%d o dang thap luc phan: ", n);
  36.     printf("%X\n", n);
  37.     return;
  38. }
  39.  
  40. void Input (int &n) {
  41.     int tmp;
  42.     do {
  43.         printf("Nhap so n: ");
  44.         tmp = scanf("%d", &n);
  45.         while (getchar() != '\n');
  46.         if (tmp != 1) {
  47.             printf("!!! Vui long nhap so nguyen n !!!\n");
  48.         }
  49.     } while (tmp != 1);
  50.     return;
  51. }
  52.  
  53. int main () {
  54.     int n;
  55.     int isInput = 0, isOut = 0, choice;
  56.     // isInput = 0 : no input
  57.     // isOut = 0 : have not out yet
  58.     do {
  59.         printf("--------------------------------\n");
  60.         printf("Tac gia: %s\n\n", "Nguyen Duc Hung");
  61.         printf("1. Nhap so (he 10)\n");
  62.         printf("2. So o he nhi phan\n");
  63.         printf("3. So o he thap luc phan\n");
  64.         printf("4. So o he bat phan\n");
  65.         printf("5. Thoat\n");
  66.         printf("--------------------------------\nLua chon: ");
  67.         scanf("%d", &choice);
  68.         while (getchar() != '\n');
  69.         switch (choice) {
  70.             case 1:
  71.                 Input(n);
  72.                 isInput = 1;
  73.                 break;
  74.             case 2:
  75.                 if (isInput)
  76.                     printBinary(5.6);
  77.                 else
  78.                     printf("!!! Ban chua nhap so n !!!\n");
  79.                 break;
  80.             case 3:
  81.                 if (isInput)
  82.                     printHexa(n);
  83.                 else
  84.                     printf("!!! Ban chua nhap so n !!!\n");
  85.                 break;
  86.             case 4:
  87.                 if (isInput)
  88.                     printOctal(n);
  89.                 else
  90.                     printf("!!! Ban chua nhap so n !!!\n");
  91.                 break;
  92.             case 5:
  93.                 isOut = 1;
  94.                 break;
  95.             default:
  96.                 printf("!!! Lua chon khong hop le !!!\n");
  97.         }
  98.     } while (!isOut);
  99.     return 0;
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement