Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 13 kết quả

Đề tài: Cần giúp đỡ bài tập vẽ chữ số điện tử

  1. #1
    Ngày gia nhập
    11 2011
    Bài viết
    0

    Angry Cần giúp đỡ bài tập vẽ chữ số điện tử

    Chẳng là e có 1 bài tập đang bí , các bạn giúp mình nha,mình chỉ mới học C++ nên mong các bạn hướng dẫn cặn kẽ , cám ơn các bạn !!
    Code:
    Xây dựng chương trình có các chức năng sau
    - Cho phép người dùng lựa chọn hai chế độ:
    o Xử lý trên số có một chữ số (MODE 1)
    o Xử lý trên số có nhiều chữ số (MODE 2)
    a. MODE 1: có các chức năng
    - Cho phép người dùng nhập vào một số nguyên a từ 0 đến 9 cùng chiều dài H và
    chiều rộng W. Xuất ra màn hình chữ số điện tử của a với chiều dài H và chiều
    rộng W tương ứng.
    Ví dụ: Nhập a = 5, H = 7, W = 5. Xuất ra màn hình
    *****
    *
    *
    *****
         *
         *
    *****
    b. MODE 2: có các chức năng
    - Cho phép người dùng lựa chọn hai chức năng:
    o Chức năng 2a
    o Chức năng 2b
    - Chức năng 2a : Cho phép người dùng nhập vào một số nguyên không âm N cùng
    chiều dài H và chiều rộng W. Xuất ra màn hình các chữ số của N từ phải sang trái
    dưới dạng chữ số điện tử với chiều dài H và chiều rộng W tương ứng:
    Ví dụ: Nhập N = 54, H = 7, W = 5. Xuất ra màn hình
    *    *
    *    *
    *    *
    *****
         *
         *
         *
    *****
    *
    *
    *****
         *
         *
    *****
    - Chức năng 2b (cộng điểm) : Cho phép người dùng nhập vào một số nguyên không
    âm N cùng chiều dài H và chiều rộng W.
    o Cộng các chữ số của N, ta thu được số M.
    o Cộng các chữ số của M, ta thu được số M mới
    o Tiếp tục cộng các chữ số của M cho đến khi số M chỉ có một chữ số
    Xuất số M cuối cùng ra màn hình dưới dạng chữ số điện tử.
    Ví dụ: Nhập N = 5432, H = 7, W = 5.
    M = 5 + 4 + 3 + 2 = 14
    M = 1 + 4 = 5.
    Xuất ra màn hình.
    *****
    *
    *
    *****
         *
         *
    *****

  2. #2
    Ngày gia nhập
    10 2011
    Bài viết
    552

    Nhập số 5, chiều cao 3, rộng tùy ý thì biểu diễn thế nào ??
    ******
    ***
    ****** ????
    Um Mani Padme Hum...!!

  3. #3
    Ngày gia nhập
    11 2011
    Bài viết
    0

    Trích dẫn Nguyên bản được gửi bởi clchicken Xem bài viết
    Nhập số 5, chiều cao 3, rộng tùy ý thì biểu diễn thế nào ??
    ******
    ***
    ****** ????
    híc chìu cao,rộng tối thiểu là 7,5 đó bạn , mình quên k ghi rõ , cám ơn bạn đã góp ý

  4. #4
    Ngày gia nhập
    10 2011
    Bài viết
    552

    cái này theo ngu ý của mình thì ta phải viết 10 hàm cho 10 số 0->9.
    Đầu vào là w và h .
    Tùy mỗi số ta có cách biểu diễn cho phù hợp.

    Những số có đường gạch ở giữa thì nó sẽ phân hình thành 3 phần: phần gạch kiểm tra biến j==h/2 thì ta in kiểu gạch .
    Phần trên gạch và phần dưới gạch.
    Ngoài ra cần chú ý biểu diễn đỉnh và đáy cho phù hợp với từng số.

    Hix. Mà mấy cái bài này có gì bổ ích đâu nhỉ ?? Ko hiểu sao thầy cô vẫn ra cho học viên làm , ẹc ẹc
    Um Mani Padme Hum...!!

  5. #5
    Ngày gia nhập
    11 2011
    Bài viết
    0

    Trích dẫn Nguyên bản được gửi bởi clchicken Xem bài viết
    cái này theo ngu ý của mình thì ta phải viết 10 hàm cho 10 số 0->9.
    Đầu vào là w và h .
    Tùy mỗi số ta có cách biểu diễn cho phù hợp.

    Những số có đường gạch ở giữa thì nó sẽ phân hình thành 3 phần: phần gạch kiểm tra biến j==h/2 thì ta in kiểu gạch .
    Phần trên gạch và phần dưới gạch.
    Ngoài ra cần chú ý biểu diễn đỉnh và đáy cho phù hợp với từng số.

    Hix. Mà mấy cái bài này có gì bổ ích đâu nhỉ ?? Ko hiểu sao thầy cô vẫn ra cho học viên làm , ẹc ẹc
    híc, bạn thử code cho mình 1 trog 10 số đi, mình còn mù mờ quá :( cám ơn bạn

  6. #6
    Ngày gia nhập
    10 2011
    Bài viết
    552

    Mặc định Cần giúp đỡ bài tập vẽ chữ số điện tử

    Thì mình demo cho số 0 nè Bạn lười quá đấy
    C++ Code:
    1. void SpacePrint(int time){
    2.     for(int i=1;i<=time;i++)
    3.         cout<<" ";
    4. }
    5. void StarPrint(int time){
    6.     for(int i=1;i<=time;i++)
    7.         cout<<"*";
    8. }
    9. void Num0Print(int height,int width){
    10.     StarPrint(width);
    11.     cout<<"\n";
    12.     for(int i=2;i<height;i++){
    13.         StarPrint(1);
    14.         SpacePrint(width-2) ;
    15.         StarPrint(1);
    16.         cout<<"\n";
    17.     }
    18.     StarPrint(width);
    19. }
    20. void main(){
    21.     Num0Print(7,5);
    22.     cout<<"\n";
    23.     system("pause");
    24. }
    Um Mani Padme Hum...!!

  7. #7
    Ngày gia nhập
    11 2011
    Bài viết
    0

    Trích dẫn Nguyên bản được gửi bởi clchicken Xem bài viết
    Thì mình demo cho số 0 nè Bạn lười quá đấy
    C++ Code:
    1. void SpacePrint(int time){
    2.     for(int i=1;i<=time;i++)
    3.         cout<<" ";
    4. }
    5. void StarPrint(int time){
    6.     for(int i=1;i<=time;i++)
    7.         cout<<"*";
    8. }
    9. void Num0Print(int height,int width){
    10.     StarPrint(width);
    11.     cout<<"\n";
    12.     for(int i=2;i<height;i++){
    13.         StarPrint(1);
    14.         SpacePrint(width-2) ;
    15.         StarPrint(1);
    16.         cout<<"\n";
    17.     }
    18.     StarPrint(width);
    19. }
    20. void main(){
    21.     Num0Print(7,5);
    22.     cout<<"\n";
    23.     system("pause");
    24. }
    thanks bạn nhìu nhưng mà mình vẫn chưa học mảng chưa học đệ quy, nên cách của bạn mình vẫn chưa hiểu lắm

  8. #8
    Ngày gia nhập
    10 2011
    Bài viết
    552

    Có MẢNG với chả ĐỆ QUY gì đâu ? . Thấy chữ Print Print có vẻ giống nhau nên tưởng là đệ quy hả , chúng khác nhau đấy . Bạn chả chịu đọc gì cả,
    Chẹp @@ ??
    Um Mani Padme Hum...!!

  9. #9
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Bài này tôi đã chỉ cho giải thuật hai ngày trước đây. Chịu khó đi ngược về trước mà tìm sẽ thấy.

  10. #10
    Ngày gia nhập
    11 2011
    Bài viết
    0

    Trích dẫn Nguyên bản được gửi bởi VoTichSu Xem bài viết
    In số đơn giản như vầy thì gồm có 4 loại dòng:

    Code:
    *****   dòng đặc
    *   *    dòng rỗng ở giữa
    *        dòng chỉ có bên trái
        *    dòng chỉ có bên phải
    Bạn đặt 4 chuỗi. Như trên. Xong dùng dạng của chữ số để in

    C Code:
    1. char *d1 = "*****";
    2. char *d2 = "*   *";
    3. char *d3 = "*    ";
    4. char *d4 = "    *";
    5. int height = 7;
    6.  
    7. // in số 9
    8. for (int i=1; i <=height; i++)
    9.  printf("%s\n", (i==1 || i==height || i==height/2+1)? d1 : (i<=height/2)? d2 : d4)
    cám ơn bạn nhưng mà trường hợp mình muốn hỏi là nếu nhập H với W lớn hơn 5,7 thì mình làm thế nào? bạn thông cảm vì mình cũng mới mày mò học thôi, chưa hiểu lắm

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

  1. Bài tập C Mình cần giúp đỡ về bài tập vẽ sơ đồ khối
    Gửi bởi kenshin_bqt trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 24-02-2012, 01:21 AM
  2. Vẽ đồ thị hàm sin trong C. Giúp mình sửa lỗi?
    Gửi bởi nguyenthanhhai90vp trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 30-09-2010, 10:00 PM
  3. Bị lỗi khi vẽ cây nhị phân trong C. Nhờ các bạn giúp đỡ
    Gửi bởi pctester2020 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 12-09-2010, 10:17 AM
  4. bài tập vẽ hình ôtô chạy. giúp mình làm đi nhé
    Gửi bởi thuy_trang90 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 14-10-2009, 10:54 AM
  5. giúp mình vẽ hình woi!!!!
    Gửi bởi chicken_C++ trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 13
    Bài viết cuối: 15-03-2008, 09:21 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