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
8 trang |
Chia sẻ: lylyngoc | Lượt xem: 1723 | Lượt tải: 1
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();
}