1. Trang chủ
  2. » Công Nghệ Thông Tin

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

5 473 1
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Các bộ phận định dạng và các hàm định dạng
Trường học University of Information Technology
Chuyên ngành Computer Science
Thể loại bài báo
Thành phố Ho Chi Minh City
Định dạng
Số trang 5
Dung lượng 13,99 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 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 e

Trang 1

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 // 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>

Trang 2

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 và 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

Trang 3

7.3 Ví dụ: Chương trình dưới đây minh hoạ cách dùng các hàm định dạng và 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

Trang 4

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)

{

Trang 5

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

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

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w