Thực tập Lập trình Hướng đối tượng - Nguyễn Quang Uy

Bài thực hành 1: Biến, hằng và tệp Viết chương trình nhập thông tin cá nhân và hiển thị ra màn hình và lưu ra tệp #include "stdio.h" #include "conio.h" #include #include

docx8 trang | Chia sẻ: lylyngoc | Lượt xem: 1553 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Thực tập Lập trình Hướng đối tượng - Nguyễn Quang Uy, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Nhóm: 13 Bài thực tập đề số 3. Giáo viên hướng dẫn: Nguyễn Quang Uy Sinh viên thực tập: Phạm Mạnh Hùng và Mai Thị Loan Email: phamhungtainguyen@gmail.com Điện thoại: 0996.69.82.69 Đề số 3 Bài thực hành 1: Biến, hằng và tệp Viết chương trình nhập thông tin cá nhân và hiển thị ra màn hình và lưu ra tệp #include "stdio.h" #include "conio.h" #include #include void HienThiThongTinCaNhan() { char maSo[50]; char hoTen[50]; char ngaySinh[10]; printf("Nhap ma so sinh vien:"); gets(maSo); printf("Nhap ho va ten:"); gets(hoTen); printf("Nhap ngay thang nam sinh:"); gets(ngaySinh); // Hiển thị lại màn hình printf("\n"); printf("Thong tin ca nhan ban da nhap la:\n"); printf("Ma so sinh vien: %s\n", maSo); printf("Ho va ten: %s\n", hoTen); printf("Ngay thang nam sinh: %s", ngaySinh); getch(); // Xuất ra tập tin text FILE* file = fopen("nhom13.txt", "wt"); fprintf(file, "Thong tin ca nhan ban da nhap la:\n"); fprintf(file, "Ma so sinh vien: %s\n", maSo); fprintf(file, "Ho va ten: %s\n", hoTen); fprintf(file, "Ngay thang nam sinh: %s", ngaySinh); fclose(file); } void main() { HienThiThongTinCaNhan(); } Bài thực hành 2: Lệnh điều khiển Viết chương trình kiểm tra tính đối xứng của một số, dùng vòng lặp do - while để cho phép nhập và kiểm tra nhiều lần, muốn thoát người dùng nhấn ESC. #include "stdio.h" #include "conio.h" #include #include void KiemTraDoiXung() { int so; printf("Nhap vao mot so nguyen de kiem tra tinh doi xung. Nhan Esc de thoat\n\n"); char c; do{ printf("Nhap vao mot so nguyen:"); scanf("%d", &so); int temp = so; int nghichDao = 0; while (temp != 0) { int soDu = temp % 10; nghichDao = nghichDao * 10 + soDu; temp /= 10; } if (nghichDao == so) { printf("\nSo vua nhap la so doi xung.\n\n"); } else { printf("\nSo vua nhap khong phai la so doi xung.\n\n"); } printf("Nhan Enter de tiep tuc, Esc de thoat\n\n"); c = getch(); //c = getchar(); } while (c != 27); } void main() { KiemTraDoiXung(); } Viết chương trình nhập vào một dãy số thực, tìm dãy con tăng có nhiều phần tử nhất. #include "stdio.h" #include "conio.h" #include #include void TimDayConTangThucDaiNhat() { int n; float* a = NULL; printf("Chuong trinh nhap vao day so thuc, tim day con tang co chieu dai lon nhat\n"); printf("Nhap vao so luong phan tu cua mang thuc:"); scanf("%d", &n); // Nhập n phần tử cho mảng a = new float[n]; float temp; for(int i = 0; i < n; i++) { printf("Nhap a[%d]:", i); scanf("%f", &temp); a[i] = temp; printf("\n"); } /* Tìm dãy con tăng dài nhất */ // Coi như dãy con tăng dài nhất bắt đầu có 1 phần tử // là phần tử đầu tiên. int leftIndex = 0; int rightIndex = 0; int i = 0; // Bắt đầu tìm kiếm từ vị trí thứ hai while (i < n) { int start = i; while (a[i] < a[i+1]){ i++; } int oldRunLength = rightIndex - leftIndex + 1; int newRunLength = i - start + 1; // Cập nhật lại chỉ số của đoạn dãy con tăng dài hơn if (newRunLength > oldRunLength) { leftIndex = start; rightIndex = i; } i++; } // Xuất ra dãy con tăng dài nhất printf("Day con tang dai nhat la:"); for(int i = leftIndex; i <= rightIndex; i++) { printf("%f ", a[i]); } if (a != NULL) delete[] a; getch(); } void main() { TimDayConTangThucDaiNhat(); } Bài thực hành 3: Kỹ thuật lập trình hướng đối tượng Tạo lớp mảng và các phép toán trên mảng. - Dữ liệu: số nguyên. - Phương thức. + Tạo mảng. + In mảng. + Phần tử lớn/nhỏ nhất. + Phần tử là số chẵn/lẻ. + … - Hàm main. + Nhập mảng n phần tử. + In mảng vừa nhập. + In các phần tử lớn/nhỏ nhất. + In các phần tử chẵn/lẻ. #include "stdio.h" class MangNguyen { private: int _n; // Số lượng các phần tử của mảng int* _a; // Mảng các số nguyên public: MangNguyen(); // Hàm tạo ~MangNguyen(); // Hàm hủy public: void Nhap(); void Xuat(); void InChan(); void InLe(); int TimNhoNhat(); int TimLonNhat(); }; MangNguyen::MangNguyen() { _n = 0; _a = NULL; } MangNguyen::~MangNguyen() { if (_a != NULL) delete[] _a; } void MangNguyen::Nhap() { printf("Nhap mang so nguyen.\n"); printf("Nhap so luong phan tu cua mang:"); scanf("%d", &_n); _a = new int[_n]; for(int i = 0; i < _n; i++) { printf("Nhap a[%d]:", i); scanf("%d", &_a[i]); } printf("\n"); } void MangNguyen::Xuat() { printf("Thong tin ve mang so nguyen.\n"); printf("Mang so nguyen gom co:"); for(int i = 0; i < _n; i++) { printf("%d ", _a[i]); } printf("\n"); } int MangNguyen::TimNhoNhat() { int min = _a[0]; for(int i = 1; i < _n; i++) { if (_a[i] < min) { min = _a[i]; } } return min; } int MangNguyen::TimLonNhat() { int max = _a[0]; for(int i = 1; i < _n; i++) { if (_a[i] > max) { max = _a[i]; } } return max; } void MangNguyen::InChan() { printf("Cac phan tu chan trong mang la:"); for(int i = 0; i < _n; i++) { if (_a[i] % 2 == 0) printf("%d ", _a[i]); } printf("\n"); } void MangNguyen::InLe() { printf("Cac phan tu le trong mang la:"); for(int i = 0; i < _n; i++) { if (_a[i] % 2 != 0) printf("%d ", _a[i]); } printf("\n"); } void main() { MangNguyen a; a.Nhap(); a.Xuat(); printf("So nho nhat la: %d\n\n", a.TimNhoNhat()); printf("So lon nhat la: %d\n\n", a.TimLonNhat()); a.InChan(); a.InLe(); }
Tài liệu liên quan