Từ 1 tới 5 trên tổng số 5 kết quả

Đề tài: đổi Một Số Nhập Từ Bàn Phím Ra Số Của Hệ Nhị Phân ,hệ Bát Phân ,hệ Thập Lục Phân

  1. #1
    Ngày gia nhập
    03 2008
    Nơi ở
    Hồ chí minh
    Bài viết
    134

    Mặc định đổi Một Số Nhập Từ Bàn Phím Ra Số Của Hệ Nhị Phân ,hệ Bát Phân ,hệ Thập Lục Phân

    Mình đã làm bài này nhưng không hiểu lắm,chạy chương trình hình như còn bị sai nữa,các bạn có ai biết bài này thì giúp mình với,và nhớ giải thích rõ giùm mình nữa nha!bài ở dưới là bài mình làm,sai nhiều chỗ lắm.nhưng mình không sửa được.
    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. #include<math.h>
    4. #include<dos.h>
    5. #include<stdlib.h>
    6. #include<limits.h>
    7. void main()
    8. {
    9.     int n,i,j;
    10.     textmode(C80);  //man hinh 80*25
    11.     do{
    12.         clrscr();
    13.         printf("nhan 0:doi sang he nhi phan\n");
    14.         printf("nhan 1:doi sang he bat phan\n");
    15.         printf("nhan 2:doi sang he thap luc phan\n");
    16.         scanf("%d",&j);
    17.         switch(j)
    18.         {       case 0:
    19.             printf("nhap n: ");
    20.             scanf("%d",&n);
    21.                 {int size=sizeof(int)*CHAR_BIT;
    22.                 int c,Mask=1<<(size-1);
    23.                 printf("%d=",n);
    24.                 for(c=1;c<=size;c++)
    25.                 {
    26.                 putchar(n&Mask?'1':'0');
    27.                 n<<=1;
    28.                 if(c%CHAR_BIT==0)
    29.                 putchar(' ');
    30.                 }
    31.                 putchar('\n');
    32.                 printf("hex:%X\n",n);
    33.                 break;
    34.             case 1:printf("nhap n: ");
    35.                         scanf("%d",&n);
    36.                         while(n)
    37.                         {
    38.                             n=n%8;
    39.                             i=n;
    40.                             printf("%d",i);
    41.                         }break;
    42.         case 2:printf("nhap n:");
    43.                         scanf("%d",&i);
    44.                         while(n)
    45.                 {
    46.                     n=n%16;
    47.                     i=n;
    48.                     if(i<=9)
    49.                     printf("%d",i);
    50.                     else
    51.                     {
    52.                 switch(i)
    53.                     {   case 10:printf("A");break;
    54.                     case 11:printf("B");break;
    55.                     case 12:printf("C"); break;
    56.                     case 13 :printf("D"); break;
    57.                     case 14:printf("E"); break;
    58.                     case 15 :printf("F");break;
    59.                                         //viet cac lenh o day
    60.                  }
    61.              }
    62.              }
    63.              }}
    64.  
    65.     gotoxy(1,25);
    66.     printf("nhan phim EXC de thoat....");
    67.     }while(getch()!=27);
    68. }
    Đã được chỉnh sửa lần cuối bởi Forlorn_hope : 18-04-2008 lúc 04:14 PM. Lý do: Xem lại cách đặt code vào tag, bạn để nhầm rồi

  2. #2
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Bỏ code vào thẻ code lại đi cậu, simple trick
    C Code:
    1. #include <cstdio>
    2.  
    3. void convert_to_n_base(int number, int base){
    4.   if(number >= base)
    5.     convert_to_n_base(number / base, base);
    6.   printf("%c", (number % base)["0123456789ABCDEF"]);
    7. }
    8.  
    9. int main()
    10. {
    11.   int number, base;
    12.   printf("Enter number : \n");
    13.   scanf("%d", &number);
    14.   printf("Enter base : \n");
    15.   scanf("%d", &base);
    16.   printf("\n --> ");
    17.   convert_to_n_base(number, base);
    18.   return 0;
    19. }

  3. #3
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Mình đã sửa code của bạn chạy tốt rồi nè.

    Code:
    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    #include<dos.h>
    #include<stdlib.h>
    #include<limits.h>
    
    void main()
    {
    	int arr[100], narr = 0;
    	int n,i,j;
    	textmode(C80);  //man hinh 80*25
    
    	do
    	{
    		clrscr();
    		printf("nhan 0:doi sang he nhi phan\n");
    		printf("nhan 1:doi sang he bat phan\n");
    		printf("nhan 2:doi sang he thap luc phan\n");
    		scanf("%d",&j);
    
    		narr = 0;
    		switch(j)
    		{
    			case 0:
    				printf("nhap n:");
    				scanf("%d",&n);
    
    				while(n)
    				{
    					arr[narr++] = n % 2;
    					n /= 2;
    				}
    
    				for (i=narr-1;i>=0;i--)
    				{
    					printf("%d",arr[i]);
    				}
    
    				break;
    
    			case 1:
    				printf("nhap n:");
    				scanf("%d",&n);
    
    				while(n)
    				{
    					arr[narr++] = n % 8;
    					n /= 8;
    				}
    
    				for (i=narr-1;i>=0;i--)
    				{
    					printf("%d",arr[i]);
    				}
    
    				break;
    
    			case 2:
    				printf("nhap n:");
    				scanf("%d",&n);
    
    				while(n)
    				{
    					arr[narr++] = n % 16;
    					n /= 16;
    				}
    
    				for (i=narr-1;i>=0;i--)
    				{
    					if (arr[i] <= 9)
    						printf("%d",arr[i]);
    					else
    					{
    						printf("%c",arr[i] - 10 + 'A');
    					}
    				}
    		}
    
    		printf("\n");
    		gotoxy(1,25);
    		printf("nhan phim ESC de thoat....");
    	} while(getch()!=27);
    }
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  4. #4
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,006

    Cách của R_R là hay quá mình phải học tập mới được.
    @lethanh : mình cung cấp cho bạn 1 cách đơn giản dễ hiểu nè :
    PHP Code:
    #include <stdio.h>
    #include <conio.h>
    void dec2bin(int n)
        {
            while (
    n)
                {
                    if (
    n&1putch('1');
                        else 
    putch('0');
                    
    n>>=1;
                }
        }
    void main(void)
        {
            
    int n;
            
    clrscr();
            
    printf("Nhap vao so n : ");
            
    scanf("%d",&n);
            
    printf("Chuyen sang binary la : ");
            
    dec2bin(n);
            
    printf("\nChuyen sang octan la : %o",n);
            
    printf("\nChuyen sang hex la : %x",n);
            
    getch();
        } 
    ^_,^

    Tổng hợp các câu chuyện hài hước vui nhộn, sử dụng Speech Synthesis để đọc : https://www.youtube.com/channel/UCLk...Tjrg/playlists


    Bùi Tấn Quang

  5. #5
    Ngày gia nhập
    11 2008
    Nơi ở
    Q.Ngãi
    Bài viết
    8

    Máy anh ơi,,,có code nào đổi ngược lại ko?
    Nhị phân,bát phân,Thập lục phân về lạ Thập phân ko?
    nếu có thì cho em biết với..hjj
    ----------------------------------------------------
    Có 1 chân lý tuyệt đối đó là mọi chân lý đều là tương đối

Các đề tài tương tự

  1. Trả lời: 6
    Bài viết cuối: 01-05-2013, 11:10 AM
  2. Trả lời: 12
    Bài viết cuối: 25-10-2012, 02:48 AM
  3. Bug Thẻ Reset Boss Ðôi 6114 + Kill bos Cập nhật ngày 13/06/2012 ( Phiên ban Mới Nhất)
    Gửi bởi mrkhang trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 13-06-2012, 04:15 AM
  4. Thảo luận về thuật toán tìm đường đi ngắn nhất (có chi phí ít nhất) trên ma trận
    Gửi bởi hunterphu trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 10
    Bài viết cuối: 10-08-2010, 12:05 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn