Advertisement
pdaogu

HW9.1

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