Mọi người ơi sao mình chạy code mà nó bị lỗi này là sao vậy ạ
#include<stdio.h>
#include<string.h>
#include <conio.h>
struct book
{
char TenSach[70];
char TacGia[50];
char Ma[50] ;
};
void Nhap(struct book &a)
{
printf("Nhap ten sach: ");
fflush(stdin);
scanf("%d",&a.TenSach);
printf("Nhap ten tac gia: ");
scanf("%d",a.TacGia);
printf("Nhap ma cua sach: ");
scanf("%d",&a.Ma );
}
void NhapDanhSach(struct book DS[],int n){
for(int i=0;i<n;i++){
printf("Nhap cuon sach thu %d: \n",i+1);
Nhap(DS[i]);
}
}
void Xuat(struct book a){
printf("\tten sach: %s\n",a.TenSach);
printf("\tten tac gia cua cuon cach: %s\n",a.TacGia);
printf("\tma cua sach: %s\n",a.Ma);
}
void XuatDanhSach(struct book DS[], int n){
printf("\n**************************\n");
for(int i=0;i<n;i++){
printf("thong tin cuon sach thu %d: \n",i+1);
Xuat(DS[i]);
}
}
//tim kiem ma theo danh sach
void search(struct book a[], int n){
char id[100];
printf("\n nhap ma cua cuon sach ban muon tim kiem: ");
fflush(stdin);
gets(id);
for (int i = 0; i < n; i++)
{
if (strcmp(a[i].Ma, id) ==0)
{
printf("\n cuon sach can tim la: ");
Xuat(a[i]);
}
}
}
// tim kiem theo ten tac gia
void search1(struct book a[], int n){
char name[100];
printf("\n nhap ten tac gia ban muon tim kiem: ");
fflush(stdin);
gets(name);
for (int i = 0; i < n; i++)
{
if (strcmp(a[i].TacGia,name) ==0)
{
printf("\n cuon sach can tim la: ");
Xuat(a[i]);
}
}
}
//Viet ham sap xep theo ma sach
void SapXepthutuMa(struct book a[], int n)
{
for(int i=0;i<n-1;i++)
{
for(int j=i+1;j<n;j++)
{
if(a[i].Ma>a[j].Ma)
{
struct book temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
printf("\nDanh sach ma sach duoc sap theo thu tu: ");
XuatDanhSach(a,n);
}
//Viet ham sap xep theo ten sach.
void SapXepthututen(struct book a[], int n){
for(int i=0;i<n-1;i++){
for(int j=i+1;j<n;j++){
if(strcmp(a[i].TenSach,a[j].TenSach)>0){
struct book t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
printf("\nDanh sach ten sach duoc sap theo thu tu abc: ");
XuatDanhSach(a,n);
}
//viêt ham sap xêp theo tac gia trung tac gia thi sap sep theo ma sach
void SapXepthututacgia(struct book a[], int n)
{
for(int i=0;i<n-1;i++)
{
for(int j=i+1;j<n;j++)
{
if(strcmp(a[i].TacGia,a[j].TacGia)>0)
{
struct book t=a[i];
a[i]=a[j];
a[j]=t;
}
else if (strcmp(a[i].TacGia, a[j].TacGia) == 0)
{
if (strcmp(a[i].Ma, a[j].Ma) > 0)
{
struct book t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
}
}
int main ()
{
struct book a[100];
int SoCuonSach;
printf("Nhap vao so sach (!=0): ");
scanf("%d", &SoCuonSach);
NhapDanhSach(a,SoCuonSach);
search(a,SoCuonSach);
search1(a,SoCuonSach);
XuatDanhSach(a,SoCuonSach);
SapXepthutuMa(a,SoCuonSach);
SapXepthututen(a,SoCuonSach);
SapXepthututacgia(a,SoCuonSach);
}