Các bộ phận định dạng và các hàm định dạng

5 472 1
Các bộ phận định dạng và các hàm định dạng

Đang tải... (xem toàn văn)

Thông tin tài liệu

Các bộ phận định dạng các hàm định dạng 7.1. Các bộ phận định dạng (định nghĩa trong <iostream.h>) Các bộ phận định dạng gồm: dec // như cờ ios::dec oct // như cờ ios::oct hex // như cờ ios::hex endl // xuất ký tự ‘\n’ (chuyển dòng) flush // đẩy dữ liệu ra thiết bị xuất Chúng có tác dụng như cờ định dạng nhưng được viết nối đuôi trong toán tử xuất nên tiện sử dụng hơn. Ví dụ xét chương trình đơn giản sau: //CT7_08.CPP // Bo phan dinh dang #include <iostream.h> #include <conio.h> void main() { clrscr(); cout.setf(ios::showbase) cout << "ABC" << endl << hex << 40 << " " << 41; getch(); } Chương trình sẽ in 2 dòng sau ra màn hình: ABC 0x28 0x29 7.2. Các hàm định dạng (định nghĩa trong <iomanip.h>) Các hàm định dạng gồm: setw(int n) // như cout.width(int n) setpecision(int n) // như cout.pecision(int n) setfill(char ch) // như cout. fill(char ch) setiosflags(long l) // như cout.setf(long f) resetiosflags(long l) // như cout.unsetf(long f) Các hàm định dạng có tác dụng như các phương thức định dạng nhưng được viết nối đuôi trong toán tử xuất nên tiện sử dụng hơn. Chú ý 1: Các hàm định dạng (cũng như các bộ phận định dạng) cần viết trong các toán tử xuất. Một hàm định dạng đứng một mình như một câu lệnh sẽ không có tác dụng định dạng. Chú ý 2: Muốn sử dụng các hàm định dạng cần bổ sung vào đầu chương trình câu lệnh: #include <iomanip.h> Ví dụ có thể thay phương thức cout.setf(ios::showbase) ; trong chương trình của mục 7.1 bằng hàm cout << setiosflags(ios::showbase); (chú ý hàm phải viết trong toán tử xuất) Như vậy chương trình trong 7.1 có thể viết lại theo các phương án sau: Phương án 1: #include <iostream.h> #include <iomanip.h> #include <conio.h> void main() { clrscr(); cout << setiosflags(ios::showbase) ; cout << "ABC" << endl << hex << 40 << " " << 41; getch(); } Phương án 2: #include <iostream.h> #include <iomanip.h> #include <conio.h> void main() { clrscr(); cout << "ABC" << endl << setiosflags(ios::showbase) << hex << 40 << " " << 41; getch(); } Dưới đây là ví dụ khác về việc dùng các hàm bộ phận định dạng. Các câu lệnh: int i = 23; cout << i << endl << setiosflags(ios::showbase) << hex << i << dec << setfill(‘*’) << endl << setw(4) << i << setfill(‘0’) << endl << setw(5) << i ; sẽ in ra màn hình như sau: 23 0x17 **23 00023 386 7.3. Ví dụ: Chương trình dưới đây minh hoạ cách dùng các hàm định dạng phương thức định dạng để in danh sách thí sinh dưới dạng bảng với các yêu cầu sau: Số báo danh in 4 ký tự (chèn thêm số 0 vào trước ví dụ 0003), tổng điểm in với đúng một chữ số phần phân. //CT7_08.CPP // Bo phan dinh dang // Ham dinh dang // Co dinh dang #include <iostream.h> #include <iomanip.h> #include <conio.h> struct TS { int sobd; char ht[25]; float dt,dl,dh,td; }; class TSINH { private: TS *ts; int sots; public: TSINH() { ts=NULL; sots=0; } TSINH(int n) { ts=new TS[n+1]; sots=n; } ~TSINH() { if (sots) { sots=0; ts = NULL; } 388 } void nhap(); void sapxep(); void xuat(); } ; void TSINH::nhap() { if (sots) for (int i=1; i<=sots; ++i) { cout << "\nThi sinh "<< i << ": " ; cout << "\nSo bao danh: " ; cin >> ts[i].sobd; cin.ignore(); cout << "Ho ten: " ; cin.get(ts[i].ht,25); cout << "Diem toan, ly , hoa: " ; cin >> ts[i].dt >> ts[i].dl >> ts[i].dh; ts[i].td = ts[i].dt + ts[i].dl + ts[i].dh; } } void TSINH::sapxep() { int i,j; for (i=1; i< sots; ++i) for (j=i+1; j<= sots; ++j) if (ts[i].td < ts[j].td) { TS tg; tg=ts[i]; ts[i]=ts[j]; ts[j]=tg; } } void TSINH::xuat() { if (sots) { cout << "\nDanh sach thi sinh:" ; cout.precision(1); cout << setiosflags(ios::left); cout << "\n" << setw(20) << "Ho ten" << setw(8) << "So BD" << setw(10) << "Tong diem"; for (int i=1; i<=sots; ++i) cout << "\n" << setw(20)<<setiosflags(ios::left) << ts[i].ht << setw(4) << setfill('0') << setiosflags(ios::right) << ts[i].sobd << " " << setfill(32) << setiosflags(ios::left|ios::showpoint) << setw(10) << ts[i].td; } } void main() { int n; clrscr(); cout << "\nSo thi sinh: "; cin>>n; TSINH *t = new TSINH(n); t->nhap() ; t->sapxep(); t->xuat(); getch(); delete t; } 390 . Các bộ phận định dạng và các hàm định dạng 7.1. Các bộ phận định dạng (định nghĩa trong <iostream.h>) Các bộ phận định dạng gồm: dec. f) Các hàm định dạng có tác dụng như các phương thức định dạng nhưng được viết nối đuôi trong toán tử xuất nên tiện sử dụng hơn. Chú ý 1: Các hàm định dạng

Ngày đăng: 26/10/2013, 00:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan