Cách 1: dùng printf()
Cách 2: dùng cout với setw( n ) trong đó n là độ rộng cần in.
Bạn xem thêm ví dụ sau:
Code:
#include <stdio.h>
typedef struct {
char ten[30];
int toan;
} sinhvien;
int main () {
sinhvien t[] = {{"Nguyen vu Khoa", 10 },
{ "Le Ngoc", 7 },
{"Nguyen dinh son Tung", 5}};
for( int i = 0; i < 3; i++ ) {
printf("\n%-30s", t[i].ten ); // 30 là độ rộng cho dữ liệu tên
// dấu - để canh lề trái ( mặc định là canh phải )
printf("%3d", t[i].toan ); // 3 là độ rộng để in điểm toán
}
return 0;
}
Code:
#include <iostream.h>
#include<iomanip.h>
typedef struct {
char ten[30];
int toan;
} sinhvien;
int main () {
sinhvien t[] = {{"Nguyen vu Khoa", 10 },
{ "Le Ngoc", 7 },
{"Nguyen dinh son Tung", 5}};
for( int i = 0; i < 3; i++ ) {
cout << endl << setw(30) << setiosflags( ios::left) << t[i].ten;
cout << setw(3) << t[i].toan;
}
return 0;
}
Trước khi in tên, ta cho biết độ rộng của vùng này là 30 (setw(30)) và canh lề trái ( nếu ko có thì sẽ canh lề phải ). Chú ý: muốn in vùng dữ liệu nào ta phải "định dạng" trực tiếp ngay trước khi in; sau khi in xong, định dạng in cho vùng dữ liệu tiếp theo trở về như mặc định.
Thân!