Vào ra trong C++

4 646 2
Vào ra trong C++

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

Thông tin tài liệu

Vào ra trong C++ 5.1. Các toán tử và phương thức xuất nhập Để in dữ liệu ra màn hỡnh và nhập dữ liệu từ bàn phớm , trong C++ vẫn cú thể dựng cỏc hàm printf và scanf (như chỉ ra trong các chương trỡnh C++ ở cỏc mục trờn). Ngoài ra trong C++ cũn dựng toỏn tử xuất: cout << biểu thức << . << biểu thức ; để đưa giá trị các biểu thức ra màn hỡnh, dựng toỏn tử nhập: cin >> biến >> . >> biến để nhập các giá trị số (nguyên thực) từ bàn phím và gán cho các biến. Để nhập một dẫy không quá n ký tự và chứa vào mảng h (kiểu char) có thể dùng phương thức cin.get như sau: cin.get(h,n); Chỳ ý 1: Toán tử nhập cin >> sẽ để lại ký tự chuyển dũng ‘\n’ trong bộ đệm, ký tự này có thể làm trôi phương thức cin.get. Để khắc phục tỡnh trạng trờn cần dựng phương thức cin.ignore để bỏ qua một ký tự chuyển dũng như sau: cin.ignore(1); Chỳ ý 2: Để sử dụng các toán tử và phương thức nói trên cần khai báo tệp tiêu đề: #include <iostream.h> Chương trỡnh sau minh hoạ việc sử dụng cỏc cụng cụ vào ra mới của C++ để nhập một danh sách n thí sinh. Dữ liệu mỗi thí sinh gồm họ tên, các điểm toán, lý, hoá. Sau đó in danh sách thí sinh theo thứ tự giảm của tổng điểm. #include <iostream.h> #include <conio.h> void main() { struct { char ht[25]; float t,l,h,td; } ts[50],tg; int n,i,j; clrscr(); cout << " So thi sinh: " ; cin >> n ; for (i=1;i<=n;++i) { cout << "\n Thi sinh " << i ; cout << "\n Ho ten: " ; 20 cin.ignore(1); cin.get(ts[i].ht,25) ; cout << "Cac diem toan, ly, hoa: "; cin >> ts[i].t >> ts[i].l >> ts[i].h ; ts[i].td = ts[i].t + ts[i].l + ts[i].h ; } for (i=1;i<=n-1;++i) for (j=i+1;j<=n;++j) if (ts[i].td < ts[j].td ) { tg=ts[i]; ts[i]=ts[j]; ts[j]=tg; } cout << "\nDanh sach thi sinh sau khi sap xep " ; for (i=1;i<=n;++i) { cout << "\n Ho ten: " << ts[i].ht; cout << " Tong diem: " << ts[i].td; } getch(); } 5.2. Định dạng khi in ra màn hỡnh + Để quy định số thực (float, double) được in ra có đúng p chữ số sau dấu chấm thập phân, ta sử dụng đồng thời các hàm sau: setiosflags(ios::showpoint); // Bật cờ hiệu showpoint setprecision(p); Các hàm này cần đặt trong toán tử xuất như sau: cout << setiosflags(ios::showpoint) << setprecision(p) ; Câu lệnh trên sẽ có hiệu lực đối với tất cả các toán tử xuất tiếp theo cho đến khi gặp một câu lệnh định dạng mới. + Để quy định độ rộng tối thiểu là w vị trí cho giá trị (nguyên, thực, chuỗi) được in trong các toán tử xuất, ta dùng hàm setw(w) Hàm này cần đặt trong toán tử xuất và nó chỉ có hiệu lực cho một giá trị được in gần nhất. Các giá trị in ra tiếp theo sẽ có độ rộng tối thiểu mặc định là 0. Như vậy câu lệnh: cout << setw(3) << “AB” << “CD” Sẽ in ra 5 ký tự là: một dấu cỏch và 4 chữ cỏi A, B, C và D. Chỳ ý: Muốn sử dụng các hàm trên cần đưa vào câu lệnh #include sau: #include <iomanip.h> 22 Trở lại chương trỡnh trờn ta thấy danh sỏch thớ sinh in ra sẽ khụng thẳng cột. Để khắc phục điều này cần viết lại đoạn chương trỡnh in như sau: cout << "\nDanh sach thi sinh sau khi sap xep " ; cout << setiosflags(ios::showpoint) << setprecision(1) ; for(i=1;i<=n;++i) { cout << "\n Ho ten: " << setw(25) << ts[i].ht; cout << " Tong diem: " << setw(5)<< ts[i].td; } getch(); Chương trỡnh dưới đây là một minh hoạ khác về việc sử dụng các toán tử nhập xuất và cách định dạng trong C++ . Chương trỡnh nhập một ma trận thực cấp mxn. Sau đó in ma trận dưới dạng bảng và tỡm một phần tử lớn nhất. #include <iostream.h> #include <iomanip.h> #include <conio.h> void main() { float a[20][20], smax; int m,n,i,j, imax, jmax; clrscr(); cout << " Cho biet so hang va so cot cua ma tran: " ; cin >> m >> n ; for (i=1;i<=m;++i) for (j=1;j<=n;++j) { cout << "a[" << i << "," << j << "]= " ; cin >> a[i][j] ; } smax = a[1][1]; imax=1; jmax=1; for (i=1;i<=m;++i) for (j=1;j<=n;++j) if (smax<a[i][j]) { smax = a[i][j]; imax=i ; jmax = j; } cout << "\n\n Ma tran" ; cout << setiosflags(ios::showpoint) << setprecision(1) ; for (i=1;i<=m;++i) for (j=1;j<=n;++j) { if (j==1) cout << '\n' ; cout << setw(6) << a[i][j]; } cout << "\n\n" << "Phan tu max:" << '\n' ; cout << "co gia tri = " << setw(6) << smax; cout << "\nTai hang " << imax << " cot " << jmax ; getch(); } . Vào ra trong C++ 5.1. Các toán tử và phương thức xuất nhập Để in dữ liệu ra màn hỡnh và nhập dữ liệu từ bàn phớm , trong C++ vẫn cú thể. cú thể dựng cỏc hàm printf và scanf (như chỉ ra trong các chương trỡnh C++ ở cỏc mục trờn). Ngoài ra trong C++ cũn dựng toỏn tử xuất: cout << biểu

Ngày đăng: 25/10/2013, 02: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