Professional Documents
Culture Documents
Kiểu dữ liệu trong C++
Kiểu dữ liệu trong C++
string Animal::getType() {
return type;
}
float Animal::getDimension() {
return dimention;
}
float Animal::getWeight() {
if (type == "Dog") {
return dimention * 20;
}
else if (type == "Horse") {
return dimention * 100;
}
else if (type == "Fish") {
return dimention * 10;
}
else if (type == "Bird") {
return dimention * 10;
}
else {
return -1;
}
}
float Animal::getSpeed() {
if (type == "Dog") {
return dimention * 20;
}
else if (type == "Horse") {
return dimention * 20;
}
else if (type == "Fish") {
return dimention * 7;
}
else if (type == "Bird") {
return dimention * 15;
}
else {
return -1;
}
}
switch (choose) {
case 0: {
flag = false;
break;
};
case 1: {
cout << "Hay nhap vao chieu cao cua con cho: ";
cin >> dim;
AnimalVector.push_back(Animal("Dog", dim));
break;
}
case 2: {
cout << "Hay nhap vao chieu cao cua con ngua: ";
cin >> dim;
AnimalVector.push_back(Animal("Horse", dim));
break;
}
case 3: {
cout << "Hay nhap vao chieu dai canh cua con chim: ";
cin >> dim;
AnimalVector.push_back(Animal("Bird", dim));
break;
}
case 4: {
cout << "Hay nhap vao chieu dai cua con ca: ";
cin >> dim;
AnimalVector.push_back(Animal("Fish", dim));
break;
}
}
if (flag == false) {
break;
}
}
}
int main()
{
float dim;
int choose;
string AnimalType;
bool flag = true;
vector<Animal> AnimalManagementVector;
while (flag) {
cout << "CHUONG TRINH QUAN LY CON VAT:\n";
cout << "1: Them con vat moi.\n";
cout << "2: Xem toan bo con vat.\n";
cout << "3: Xem ngau nhien.\n";
cout << "0: Thoat khoi chuong trinh.\n";
cout << " Lua chon: ";
cin >> choose;
switch (choose) {
case 0:{
cout << "Good bye!\n";
flag = false;
break;
}
case 1: {
addAnimalScreen(AnimalManagementVector);
break;
}
case 2: {
printAllAnimal(AnimalManagementVector);
break;
}
case 3: {
PrintRandomAnimal(AnimalManagementVector);
break;
}
}
}
}
class DongVat {
private:
string loai;
float dai;
public:
//Contructors
DongVat(string loai, float Dai);
void Setloai(string Loai);
void Setdai(float Dai);
string Getloai();
float Getdai();
float Getcannang();
float Gettocdo();
};
string DongVat::Getloai() {
return loai;
}
float DongVat::Getdai() {
return dai;
}
float DongVat::Getcannang() {
if (loai == "Cho") {
return dai * 20;
}
else if (loai == "Ngua") {
return dai * 100;
}
else if (loai == "Ca") {
return dai * 10;
}
else if (loai == "Chim") {
return dai * 10;
}
else {
return -1;
}
}
float DongVat::Gettocdo() {
if (loai == "Cho") {
return dai * 20 * 3.6;
}
else if (loai == "Ngua") {
return dai * 20 * 3.6;
}
else if (loai == "Ca") {
return dai * 7 * 3.6;
}
else if (loai == "Chim") {
return dai * 15 * 3.6;
}
else {
return -1;
}
}
switch (chon) {
case 0: {
flag = false;
break;
}
case 1: {
cout << "Nhap chieu dai cua con Cho: ";
cin >> dai;
DongVatvector.push_back(DongVat("Cho", dai));
break;
}
case 2: {
cout << "Nhap chieu dai cua con Ngua: ";
cin >> dai;
DongVatvector.push_back(DongVat("Ngua", dai));
break;
}
case 3: {
cout << "Nhap chieu dai cua con Ca: ";
cin >> dai;
DongVatvector.push_back(DongVat("Ca", dai));
break;
}
case 4: {
cout << "Nhap do dai sai canh cua con Chim: ";
cin >> dai;
DongVatvector.push_back(DongVat("Chim", dai));
break;
}
}
if (flag == false) {
break;
}
}
}
int main() {
int chon;
bool flag = true;
vector<DongVat> Sucvatvector;
switch (chon) {
case 0: {
cout << "Good bye!!!";
flag = false;
break;
}
case 1: {
Themdongvat(Sucvatvector);
break;
}
case 2: {
Toanbodongvat(Sucvatvector);
break;
}
case 3: {
Xemmotcondongvat(Sucvatvector);
break;
}
}
}
}
Dưới đây là một đoạn code C++ để giải quyết yêu cầu của bạn:
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
class TailProgram {
public:
void printLastLines(const std::string& filename, int n) {
std::ifstream file(filename);
if (!file.is_open()) {
std::cout << "Không thể mở file!" << std::endl;
return;
}
std::vector<std::string> lines;
std::string line;
file.close();
}
};
TailProgram tail;
tail.printLastLines(filename, n);
return 0;
}
Copy
Trong chương trình này, chúng ta sử dụng một lớp TailProgram để thực hiện các thao tác liên quan
đến việc in ra n dòng cuối cùng của một tệp tin. Hàm printLastLines nhận vào tên file và số dòng
cuối cùng cần in. Trong hàm này, chúng ta mở file và đọc từng dòng, lưu trữ n dòng cuối cùng vào
một vector. Sau đó, chúng ta in ra các dòng đã lưu trữ trong vector.
Trong hàm main, chúng ta kiểm tra số lượng đối số đầu vào của chương trình. Nếu không đủ đối số,
chúng ta in ra một thông báo hướng dẫn sử dụng. Sau đó, chúng ta lấy tên file và số dòng cuối cùng
từ các đối số và gọi phương thức printLastLines của lớp TailProgram.
Để biên dịch và chạy chương trình, bạn có thể sử dụng các bước sau:
Chương trình sẽ in ra n dòng cuối cùng của tệp tin "input.txt" (trong ví dụ trên là 5 dòng).
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#include <thread>
#include <string>
std::vector<int> numbers;
int number;
while (inputFile >> number) {
numbers.push_back(number);
}
inputFile.close();
std::vector<std::vector<int>> chunks(numThreads);
// Trộn các dãy con đã sắp xếp thành một dãy số hoàn chỉnh
std::vector<int> sortedNumbers;
for (const auto& chunk : chunks) {
sortedNumbers.insert(sortedNumbers.end(), chunk.begin(), chunk.end());
}
outputFile.close();
std::cout << "Hoan thanh sap xep va ket qua." << std::endl;
return 0;
}