SLIDE1

Wednesday, June 10, 2015

[C/C++] chương trình quản lý sách

Viết chương trình quản lí sách. Mỗi cuốn sách gồm tên sách, tên nhà xuất bản, năm xuất bản, giá tiền, số lượng:
a. Đưa ra danh sách các cuốn sách của nhà xuất bản Giáo dục.
b. Tính tổng số tiền sách.
c. Sắp xếp danh sách giảm theo năm xuất bản và in kết quả ra màn hình.
d. In ra màn hình các cuốn sách có giá tiền<=10.000đ và xuất bản sau năm 2006.

#include<iostream>
#include<string>
using namespace std;
struct sach
{
    string ten,nxb;
    int nam,soluong;
    long long gia;
};
void nhap(sach *l,int n)
{
    for(int i=0;i<n;i++)
    {
        cout<<"\nnhap sach thu "<<i+1<<endl;
        cout<<"ten sach:";fflush(stdin);getline(cin,l[i].ten);
        cout<<"ten nha xuat ban :";fflush(stdin);getline(cin,l[i].nxb);
        cout<<"nam :";cin>>l[i].nam;
        cout<<"so luong:";cin>>l[i].soluong;
        cout<<"gia:";cin>>l[i].gia;
    }
}
void xuatnxbgiaoduc(sach *l,int n)
{
    for(int i=0;i<n;i++)
        if(l[i].nxb=="giao duc") cout<<l[i].ten<<endl;
}
long long tongtien(sach *l,int n)
{
    long long tong=0;
    for(int i=0;i<n;i++) tong+=l[i].gia;
    return tong;
}
void sapxep(sach *l,int n)
{
    for(int i=0;i<n-1;i++)
        for(int j=i+1;j<n;j++)
            if(l[i].nam < l[j].nam) swap(l[i],l[j]);
    for(int i=0;i<n;i++) cout<<l[i].ten<<endl;
}
void xuattien10(sach *l,int n)
{
    for(int i=0;i<n;i++)
        if(l[i].nam >= 2006 && l[i].gia<=10000) cout<<l[i].ten<<endl;
}
void main()
{
    sach l[100];
    int n;
    cout<<"nhap so loai sach:";cin>>n;
    nhap(l,n);
    cout<<"\ncac loai sach nha xuat ban giao duc\n";
    xuatnxbgiaoduc(l,n);
    cout<<"\ntong so tien sach = "<<tongtien(l,n);
    cout<<"\ndanh sach giam theo nam xuat ban\n";
    sapxep(l,n);
    cout<<"\ncac sach sau 2006 va tien <=10.000\n";
    xuattien10(l,n);
    system("pause");
}