Bài 33, Bài tập sử dụng struct quản lý xe ô tô trong C/C++

Bài 33, Viết chương trình con thực hiện các công việc sau: Nhập danh sách các ô tô với các thông tin của từng ô tô như sau: Tên xe, màu ...


Bài 33, Viết chương trình con thực hiện các công việc sau:
Nhập danh sách các ô tô với các thông tin của từng ô tô như sau: Tên xe, màu xe, số chỗ ngồi, năm sản xuất, giá thuê theo ngày.
Hiện dánh sách đã nhập ra màn hình theo khuôn dạng sau:
STT      Ten xe        Mau xe         So cho ngoi    Nam SX      Gia cho thue
1          Mazda 3      Do                5                      2009            540000
2           ......             ......              ...                      .......             .........
Tìm và hiển thị thông tin các xe có 5 chỗ ngồi với giá cho thuê từ x đến y. Danh sách hiển thị theo chiều giảm dần của giá thuê theo ngày
Xóa các xe được sản xuất cách N ( Nhập từ bàn phím) năm so với năm hiện tại.
Tăng giá thêm 10% cho các xe sản xuất vào năm Y (Nhập vào từ bàn phím ) Và có 5 chỗ ngồi.
Chú ý: Sử dụng menu để gọi các chương trình con thực hiện.
Bài viết nằm trong: Series thực hành cơ sở lập trình

Code:

[#include <iostream>
#include <iomanip>
#include <string.h>

using namespace std;

struct XE {
    int soCho, namSanXuat, giaThue;
    char tenXe[20], mauXe[20];
};
void nhapTT(int n, XE a[]);
void xuatTT(int n, XE a[]);
void xoaXe(int &n, XE a[]);
void tangGia(int n, XE a[]);
int main()
{
    int n, dem;
    XE a[100];

    do {
        cout<<"Nhap vao so luong xe: ";
        cin>>n;
    }
    while(n<=0);
    cout<<"******************************************\n";
    cout<<"**    CHUONG TRINH QUAN LY XE           *\n";
    cout<<"**      1. Nhap du lieu                 **\n";
    cout<<"**      2. In danh sach xe              **\n";
    cout<<"**      3. xoa bo cac xe cach n nam     **\n";
    cout<<"**      4. Tang gia 10% cho nam y       **\n";
    cout<<"**      5. Thoat khoi chuong trinh      **\n";
    cout<<"**       Nhap lua chon cua ban          **\n";


    while(true) {
        cin>>dem;
        switch (dem) {
        case 1:
            cout<<"\nBan da chon nhap thong tin xe! \n";
            cout<<setw(50)<<setfill('-');
            nhapTT(n, a);
            cout<<"\nNhap vao cac tuy chon khac!\n";
            break;
        case 2:
            cout<<"Ban da chon xuat thong tin xe! \n";
            cout<<setw(50)<<setfill('-');
            xuatTT(n, a);
            cout<<"\nNhap vao cac tuy chon khac!\n";
            break;
        case 3:
            cout<<"\nBan da chon nhap nhap vao n nam de xoa xe! \n";
            cout<<setw(50)<<setfill('-');
            xoaXe (n, a);
            xuatTT(n, a);
            cout<<"\nNhap vao cac tuy chon khac!\n";
            break;
        case 4:
            cout<<"\nBan da chon nhap vao nam y de tang gia xe! \n";
            cout<<setw(50)<<setfill('-');
            tangGia(n, a);
            xuatTT(n, a);
            cout<<"\nNhap vao cac tuy chon khac!\n";
            break;
        case 5:
            cout<<"ban da chon thoat chuong trinh";
            exit(1);


            return 0;
        default:
            cout<<"Ban nhap so khong co trong danh sach!\n ";


            break;
        }
    }










}


//nhap vao danh sach xe


void nhapTT(int n, XE a[])
{
    for(int i = 0; i< n; i++ ) {
        cout<<"\nNhap thong tin xe so "<<i+1<<endl;
        cout<<"Ten xe: ";
        fflush(stdin);
        gets(a[i].tenXe);
        cout<<"Mau xe: ";
        gets(a[i].mauXe);
        cout<<"Nam san xuat: ";
        cin>>a[i].namSanXuat;
        cout<<"So cho ngoi: ";
        cin>>a[i].soCho;
        cout<<"Gia thue ngay: ";
        cin>>a[i].giaThue;
        cout<<setw(30)<<setfill('-');
    }
}


// in ra thong tin cua danh sach cac xe
void xuatTT(int n, XE a[])
{
    cout<<setw(70)<<setfill('*');
    cout<<setw(20)<<setfill(' ')<<"STT";
    cout<<setw(20)<<setfill(' ')<<"Ten Xe";
    cout<<setw(20)<<setfill(' ')<<"Mau xe";
    cout<<setw(20)<<setfill(' ')<<"So cho ngoi";
    cout<<setw(20)<<setfill(' ')<<"nam SX";
    cout<<setw(20)<<setfill(' ')<<"Gia cho thue\n";
    for(int i = 0; i<n; i++ ) {
        cout<<setw(20)<<setfill(' ')<<i+1;
        cout<<setw(20)<<setfill(' ')<<a[i].tenXe;
        cout<<setw(20)<<setfill(' ')<<a[i].mauXe;
        cout<<setw(20)<<setfill(' ')<<a[i].soCho;
        cout<<setw(20)<<setfill(' ')<<a[i].namSanXuat;
        cout<<setw(20)<<setfill(' ')<<a[i].giaThue<<endl;
    }


}


// xoa xe tu cach x nam so voi hien tai
void xoaXe ( int &n, XE a[])
{
    int p;
    cout<<"Nhap vao N nam: ";
    cin>> p;
    for(int i =0; i < n; i++) {
        if(2019 - p== a[i].namSanXuat) {
            for(int j= i; j<n; j++) {
                a[j].giaThue = a[j+1].giaThue;
                a[j].namSanXuat = a[j+1].namSanXuat;
                strcpy(a[j].tenXe, a[j+1].tenXe);
                strcpy(a[j].mauXe, a[j+1].mauXe);
                a[j].soCho = a[j+1].soCho;
            }
            n--;


        }
    }
    cout<<"Danh sach xe sau khi xoa la: \n";
}


void tangGia(int n, XE a[])
{
    int y;
    cout<<"nhap vao nam san xuat Y: ";
    cin>>y;
    for(int i = 0; i<n; i++) {
        if(a[i].namSanXuat == y && a[i].soCho) {
            a[i].giaThue = a[i].giaThue*1.1;
        }
    }
}]

COMMENTS

BLOGGER
Tên

bài viết hay,4,Bài viết khác,1,cấu trúc dữ liệu và giải thuật,3,fithou,36,ghim,4,giải tích 2,1,Hướng dẫn,5,Lập trình C,1,lập trình hướng đối tượng,3,Lập trình java,1,phần mềm,2,phần mềm lập trình,2,sách,1,tác phẩm đồ họa,3,tản mạn,4,Thiết kế web,3,thực hành lập trình cơ sở,18,thực hành lập trình hướng đối tượng,16,
ltr
item
Blog NDanh: Bài 33, Bài tập sử dụng struct quản lý xe ô tô trong C/C++
Bài 33, Bài tập sử dụng struct quản lý xe ô tô trong C/C++
https://1.bp.blogspot.com/-4XNGERYVzJo/XjfMpEraGnI/AAAAAAAAcf8/hm3mzqGqqMgrrvOYwXqoDGaQb-nvRlm7QCLcBGAsYHQ/s400/33.png
https://1.bp.blogspot.com/-4XNGERYVzJo/XjfMpEraGnI/AAAAAAAAcf8/hm3mzqGqqMgrrvOYwXqoDGaQb-nvRlm7QCLcBGAsYHQ/s72-c/33.png
Blog NDanh
https://blog.ndanh.com/2020/02/bai-33-bai-tap-su-dung-struct-quan-ly.html
https://blog.ndanh.com/
https://blog.ndanh.com/
https://blog.ndanh.com/2020/02/bai-33-bai-tap-su-dung-struct-quan-ly.html
true
1596452775547375681
UTF-8
Tải tất cả bài viết Không tìm thấy bài viết nào XEM TẤT CẢ Đọc thêm Trả lời Hủy trả lời Xóa Bởi Trang chủ PAGES POSTS Xem tất cả Bài viết đề xuất CHỦ ĐỀ LƯU TRỮ SEARCH TẤT CẢ BÀI VIẾT Không tìm thấy nội dung của bạn Quay về trang chủ Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow CHIA SẺ ĐỂ XEM NỘI DUNG Bước 1: Chia sẻ lên facebook chế độ công khai Bước 2: Vào facebook, ấn vào bài đã chia sẻ công khai để hiện nội dung! Click Copy All Code Select All Code Code của bạn đã được copy Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content