Làm ơn chỉ em bài toán này:
"Viết chương trình nhập vào 4 số bất kỳ trong khoảng từ 0 -> 9. Sau đó in ra 4 số đó dưới dạng số điện tử(số theo kiểu đồng hồ điện tử)". Viết theo kiểu hướng đối tượng. Cám ơn trước.
Làm ơn chỉ em bài toán này:
"Viết chương trình nhập vào 4 số bất kỳ trong khoảng từ 0 -> 9. Sau đó in ra 4 số đó dưới dạng số điện tử(số theo kiểu đồng hồ điện tử)". Viết theo kiểu hướng đối tượng. Cám ơn trước.
Ở môi trường nào?? DOS hay Windows :-?
Bài này về mặt thuật giải thì chả có gì đặc biệt cả, chỉ cần sử dụng mỗi bitmap cho 1 con số, rồi lần lượt vẽ ra màn hình
Viết cho môi trường Dos, em đã thử viết nhưng còn chưa chạy được. Có thể giúp em không?
Theo Hải Sơn thì bạn sẽ phải đụng tới đồ họa rồi .Muốn vẽ số điện tử thì vẽ các đoạn thẳng ngắn nối lại với nhau .
tất cả các số điện tử đều chỉ cần 7 đoạn thắng là đủ để biểu diễn. vậy là 1 byte là đủ thông tin. dùng 7 bit để đánh dấu sự hiện or ẩn của mỗi đoạn.
đánh dấu như sau
[QUOTE]
0
1 2
3
4 5
6
[QUOTE]
như vậy, số 1 sẽ là có các bit 2 và 5 là hiện, còn lại là ẩn. vậy là biểu diễn bằng số 2^2 + 2^5 = 36. v.v...
Làm môt mảng char a[7] = {giá trị biểu diễn của 9 số};
sau đó nhập số n cần vẽ ra vào, tìm thuộc tính hiển thị = a[n];
sau đó xem a[n] có các bit nào = 1 thì vẽ cái đường thẳng tương ứng, còn không thì không vẽ.
Trong DOS, khởi tạo đồ họa, bạn có thể dùng một mảng kiểu boolean để chứa các trạng thái của chữ số. Cụ thể là mảng a[7] ứng với 7 đường thẳng để tạo nên số 8.
ban đầu:
for(i=0; i<7; i++) a[i]=0;
để xóa các đường thẳng
Khi bạn nhấp một số: n từ 0-> 9
Kiểm tra:
switch(n)
{
case 1:
a[3]=1; a4=1;
draw();//hàm vẽ đoạn thẳng tạo nên số 1
break;
//.....
}
chỉ cần viết hàm vẽ... va gọi chúng liên tục...
Bookmarks