Bài tập về struct C++

Đáp án và lời giải chi tiết nhất cho câu hỏi “Bài tập về struct C++” Cùng với kiến ​​thức tham khảo là tài liệu rất hay và hữu ích giúp các em ôn tập và tích lũy thêm. kiến thức về Tin học.

Bài tập về cấu trúc C++

Bài 1: Viết chương trình C++ cộng hai phân số và hiển thị kết quả. Chương trình của bạn sẽ nhắc người dùng nhập phân số 1 và phân số 2. Tử số và mẫu số được nhập riêng biệt bằng dấu cách, như hình dưới đây:

Phần 1 (tuso mauso): 1 2

Phần 1 (tuso mauso): 2 5

Kết thúc: 9/10

#bao gồm

#bao gồm

sử dụng không gian tên std;

cấu trúc Phanso

{

int tuso;

int mauso;

};

Phanso tổng (Phanso, Phanso);

int chính ()

{

int tuso1, mauso1, tuso2, mauso2;

cout

cin>>tuso1>>mauso1;

cout

cin>>tuso2>>mauso2;

Phanso f1 = {tuso1, mauso1}; /*1/2*/

Phanso f2 = {tuso2, mauso2}; /* 2/5 */

ketqua = sum(f1, f2); // giải thích

cout

trả về 0;

}

Phanso tổng (Phanso f1, Phanso f2)

{

Phanso ketqua = {(f1.tuso * f2.mauso) + (f2.tuso * f1.mauso), f1.mauso * f2.mauso};

trở lại ketqua;

}

Bài 2: Nhận biết dạng cấu tạo phân số gồm tử số và mẫu số. Cài đặt các chức năng sau:

+ Cài đặt phép tính cộng, trừ, nhân, chia 2 phân số.

+ In kết quả của các phép toán trên dưới dạng phân số tối giản.

Trước hết

2

3

4

5

6

7

số 8

9

mười

11

thứ mười hai

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

#bao gồm

#bao gồm

#bao gồm

int ƯCLN (int a, int b)

{

a = abs(a);

b = abs(b);

trong khi (a * b! = 0)

{

nếu (a > b)

a% = b;

khác

b% = a;

}

trả về a + b;

}

int BSCNN (int a, int b)

{

return a*b/ CCLN(a,b);

}

typedef struct PhanSo

{

int tuso, mauso;

} Bản viết tay;

PS rutGon (PS a)

{

Tái bút;

c.tuso = a.tuso/UCLN(a.tuso, a.mauso);

c.mauso = a.mauso/UCLN(a.tuso, a.mauso);

trả lại c;

}

PS cong (PS a, PS b)

{

Tái bút;

c.tuso = a.tuso * b.mauso + a.mauso * b.tuso;

c.mauso = a.mauso * b.mauso;

c = rutGon(c);

trả lại c;

}

PS thật (PS a, PS b)

{

Tái bút;

c.tuso = a.tuso * b.mauso–a.mauso * b.tuso;

c.mauso = a.mauso * b.mauso;

c = rutGon(c);

trả lại c;

}

PS nhanh (PS a, PS b)

{

Tái bút;

c.tuso = a.tuso * b.tuso;

c.mauso = a.mauso * b.mauso;

c = rutGon(c);

trả lại c;

}

PS chia (PS a, PS b)

{

Tái bút;

c.tuso = a.tuso * b.mauso;

c.mauso = a.mauso * b.tuso;

c = rutGon(c);

trả lại c;

}

in vô hiệu (PS a)

{

printf(“%d /%d”, a.tuso, a.mauso);

}

int chính ()

{

PS a, b, c;

printf (“nSo sánh:“);

scanf (“%d %d”, &a.tuso, &a.mauso);

printf (“nSo sánh:“);

scanf (“%d %d”, & b.tuso, & b.mauso);

printf(“\nMất một lúc để nhận:”);

a = rutGon(a);

in (a);

printf(“\nMất một lúc để nhận:”);

b = rutGon(b);

in (b);

printf(“nTong hai phan =“);

c = cong(a,b);

in (c);

printf(“Nhap so luong hai so = “);

c = tru(a, b);

in (c);

printf (“nTick hai phan =“);

c = nan(a, b);

in (c);

printf(“Phuong trinh cua hai phan=”);

c = chia(a,b);

in (c);

}

Xem thêm bài viết hay:  Bỏ túi 250+ từ vựng tiếng Anh chủ đề nghệ thuật cực hay

Bài tập về cấu trúc C++

Bài 3: Viết chương trình xác định kiểu cấu trúc NOWTHANG với 3 thuộc tính (ngày, tháng, năm). Dựa vào cấu trúc NOWTHANG đã có, tiếp tục xác định kiểu cấu trúc SinhVien bao gồm các thông tin (mã sinh viên, chữ lót, họ, ngày sinh, giới tính, hộ khẩu thường trú, điểm thi đại học). Viết các hàm con thực hiện các chức năng sau:

+ Nhập danh sách sinh viên từ bàn phím.

+ Hiển thị danh sách học sinh đã nhập.

+ Sắp xếp danh sách sinh viên theo lớp theo thứ tự tăng dần.

+ Hiển thị danh sách sau khi sắp xếp.

Viết hàm main thực hiện các chức năng trên.

Trước hết

2

3

4

5

6

7

số 8

9

mười

11

thứ mười hai

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

#bao gồm

#bao gồm

#bao gồm

#bao gồm

#bao gồm

sử dụng không gian tên std;

cấu trúc NOWTHANG {

int bây giờ;

thang int;

int nam;

};

cấu trúc SV {

char mav[12];

ký tự máy chủ[30];

nhân cách[10];

NGAY LẬP TỨC;

nhân cách[4];

xá hộ khẩu[20];

phao diem;

};

void Nhapsv (SV * sv) {

cin.ignore(256, ‘n’);

cout

quétf(”%[^n]s”, sv->masv);

cout

quétf(”%[^n]s”, sv->hostem);

cout

quétf(”%[^n]s”, sv->ten);

cout

cin>>sv->ngsinh.ngay;

cout

cin>>sv->ngsinh.tang;

cout

cin>>sv->ngsinh.nam;

cout

quétf(”%[^n]s”, sv->gioitinh);

cout

quétf(”%[^n]s”, sv->hokhau);

cout

cin>>sv->diem;

}

void Hienthisv (SV * sv) {

cout masv;

máy tính hiện đại;

cout ten;

cout ngsinh.ngay;

cout ngsinh.thang;

cout ngsinh.nam;

cout giới tính;

cout hokhau;

cout diem;

}

void Input(SV *p, int n) {

cho (int i = 0; tôi

cout

Nhapsv(p+i);

}

}

void Hienthids(SV *p, int n) {

cho (int i = 0; tôi

Hienthisv(p+i);

cout

}

}

void Sapxep(SV *p, int n) {

cho (int i = 0; tôi

cho (int j = i + 1; j

if ((p + i) -> diem > (p + j) -> diem) {

SV tmp = * (p + j);

* (p + j) = * (p + i);

* (p + i) = tmp;

}

}

}

int main() {

Sinh viên *p;

số nguyên;

làm {

cout

cin >> n;

}

trong khi (n 10);

p = học sinh mới[n];

cout

Nhapd(p,n);

cout

Hienthids(p,n);

cout

Sapxep(p,n);

Hienthids(p,n);

xóa p;

trả về 0;

}

Xem thêm bài viết hay:  Lưới điện truyền tải có cấp điện áp?

Đăng bởi: Đại học Kinh doanh và Công nghệ Hà Nội

Chuyên mục: Tin học 12 , Tin học 12

Nhớ để nguồn bài viết này: Bài tập về struct C++ của website vietabinhdinh.edu.vn

Chuyên mục: Giáo dục

Xem thêm chi tiết về Bài tập về struct C++

Viết một bình luận