Fazer um programa em C para controlar os empréstimos de livros de uma Biblioteca. O programa deverá conter:  2 arquivos: um para cadastro de Livros e outro para Alunos. Os dados do Livro que devem ser guardados são: código(tombo), título, autor, assunto, editora, edição, Ano de publicação e situação. O campo situação deverá armazenar o código do aluno que retirou o livro ou a palavra LIVRE se o livro estiver disponível). Os dados do Aluno são: código, nome, endereço(rua e número da casa), telefone, e-mail. · O programa deverá implementar as seguintes tarefas básicas:  Cadastro de Livros;  Cadastro de Alunos;  Exclusão de Livros e Alunos (Remoção Física do registro);  Retirada;  Devolução;  Consulta de Livro pelo código;  Consulta de Aluno pela parte inicial do nome  Consulta de Livro pela parte inicial do Título;  Relatório de Livros (todos);  Relatório de Livros por assunto;  Relatório de Livros por autor (listar todos os livros de um autor);  Relatório de Alunos (todos). · Na consulta de Livro pelo código, devem ser mostrados os dados do Livro e, caso o Livro já esteja emprestado, exibir o código, nome e telefone do Aluno; · Na consulta de Aluno pela parte inicial do nome, deve-se entrar com a parte inicial do nome do Aluno e o sistema mostrará os dados do Aluno e os Livros por ele retirados; · No relatório de Livros(todos) deverão ser listados todos os Livros; · No relatório de Livros por assunto, deverão ser listados somente os Livros de um determinado Assunto. · Exclusão de Livros/Alunos: nesta opção, o sistema deve solicitar o código do Livro/Aluno a ser excluído; procurar o Livro/Aluno no arquivo de Livros/Alunos; exibir os dados do Livro/Aluno; se o aluno possui Livros retirados, avisar ao usuário e pedir confirmação para exclusão. alguém pode me ajudar ai porfavor ate agora eu fiz isso.  #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h>  struct reg_livro {   int codigo,edicao,ano_publi;   char titulo[30],autor[30],assunto[30],editora[30];   float preço; };   void cadastrarLivro(){   struct reg_livro livro;   FILE *fplivro;   char op;    printf("\n Cadastro de Livro:");   printf("\n Digite o Codigo: ");   fflush(stdin); scanf("%i", &livro.codigo);   printf("\n Digite o Ediçao: ");   fflush(stdin); scanf("%i", &livro.edicao);   printf("\n Digite o ano da publicação: ");   fflush(stdin); scanf("%i", &livro.ano_publi);   printf(" Digite o Titulo: ");   fflush(stdin); gets(livro.titulo);   printf(" Digite o Autor: ");   fflush(stdin); gets(livro.autor);   printf(" Digite o Assunto: ");   fflush(stdin); gets(livro.assunto);   printf(" Digite o Editora: ");   fflush(stdin); gets(livro.editora);   printf(" Digite o preço: ");   fflush(stdin); scanf("%f", &livro.preço);    printf("\n Gravar Dados(S/N)?");   fflush(stdin); scanf("%c", &op);   if ((op=='S') || (op=='s')){     if ((fplivro=fopen("D:\\livros.dat","ab+"))==NULL){         printf("\n Erro na Abertura do arquivo livros.dat");         getch();     }     fwrite(&livro,sizeof(livro),1,fplivro);     fclose(fplivro);     printf("\n Gravacao Realizada com Sucesso!");   }   else     printf("\n Operacao Cancelada!");    printf("\n Pressione uma Tecla.");   getch(); }//Fim cadastrarLivro()  void listarLivros(){   struct reg_livro livro;   FILE *fplivro;    fplivro = fopen("D:\\livros.dat","rb");    printf("\n\t\t = = = Listagem de Livros = = = ");   printf("\nCodigo\t Titulo\t\t\t preço");    while (fread(&livro,sizeof(livro),1,fplivro)==1)     printf("\n %i\t%s\t\t%5.2f",livro.codigo,livro.edicao,livro.ano_publi, livro.titulo, livro.autor, clivro.assunto, lcivro.editora, livro.preço);    fclose(fplivro);   printf("\n Pressione uma Tecla.");   getch();  }//Fim listarLivros()  void consultarCodigo(){   struct reg_livro livro;   FILE *fplivro;   int cod, achou;    printf("\n Consulta Livro pelo Codigo:");   printf("\n Digite o Codigo: ");   fflush(stdin); scanf("%i", &cod);    fplivro = fopen("D:\\livros.dat","rb");    achou=0;   while ((achou==0) && (fread(&livro,sizeof(livro),1,fplivro)==1))     if (livro.codigo==cod){         printf("\n Codigo: %i", livro.codigo);         printf("\n Edicao: %i", livro.edicao);         printf("\n Ano_publi: %i", livro.ano_publi);         printf("\n Titulo: %s", livro.titulo);         printf("\n Autor: %s", livro.autor);         printf("\n Assunto: %s", livro.assunto);         printf("\n Editora: %s", livro.editora);         printf("\n preço.: %5.2f", livro.preço);         achou=1;     }    fclose(fplivro);    if (achou==0)     printf("\n Livro não Encontrado!");    printf("\n Pressione uma tecla.");   getch();  }//consultarCodigo  void acessarAleatorio(){   struct reg_livro livro;   FILE *fplivro;   int nroreg, ret;    printf("\n Digite o nro. do registro: ");   fflush(stdin); scanf("%i", &nroreg);    fplivro = fopen("D:\\livros.dat","rb");    ret = fseek(fplivro,(nroreg-1)*sizeof(livro),0);    printf("\n Valor retornado pela fseek: %i", ret);    if (fread(&livro,sizeof(livro),1,fplivro)==1){         printf("\n Codigo: %i", livro.codigo);         printf("\n Edicao: %i", livro.edicao);         printf("\n Ano_publi: %i", livro.ano_publi);         printf("\n Titulo: %s", livro.titulo);         printf("\n Autor: %s", livro.autor);         printf("\n Assunto: %s", livro.assunto);         printf("\n Editora: %s", livro.editora);         printf("\n preço.: %5.2f", livro.preço);   }else         printf("\n Registro não Encontrado!");    printf("\n Pressione uma tecla.");   getch();  }//Fim acessarAleatorio()  void alterarLivro(){   struct reg_livro livro;   FILE *fplivro;   int cod, achou;   char op;    printf("\n Digite o codigo: ");   fflush(stdin); scanf("%i", &cod);    fplivro = fopen("D:\\livros.dat","rb+");    achou=0;   while ((achou==0) && (fread(&livro,sizeof(livro),1,fplivro)==1))     if (livro.codigo==cod){         printf("\n Codigo: %i", livro.codigo);         printf("\n Titulo: %s", livro.titulo);         printf("\n preço.: %5.2f", livro.preço);         achou=1;     }    if (achou==0)      printf("\n Livro não Encontrado");   else {      printf(" Digite o novo Titulo: ");      fflush(stdin); gets(livro.titulo);      printf(" Digite o novo preço: ");      fflush(stdin); scanf("%f", &livro.preço);       printf("\n Gravar Dados(S/N)?");      fflush(stdin); scanf("%c", &op);      if ((op=='S') || (op=='s')){         fseek(fplivro,-sizeof(livro),1);         fwrite(&livro,sizeof(livro),1,fplivro);         printf("\n Dados Alterados com Sucesso.");      }else         printf("\n Operacao Cancelada!");   }    fclose(fplivro);    printf("\n Pressione uma tecla.");   getch();   }//Fim alterarLivro()  void removerLivro(){   struct reg_livro livro;   FILE *fplivro, *fplivro2;   char op;   int cod, achou;    printf("\n Digite o codigo do Livro a ser removido: ");   fflush(stdin); scanf("%i", &cod);    fplivro = fopen("D:\\livros.dat","rb");    achou=0;   while ((achou==0) && (fread(&livro,sizeof(livro),1,fplivro)==1))     if (livro.codigo==cod){         printf("\n Codigo: %i", livro.codigo);         printf("\n Titulo: %s", livro.titulo);         printf("\n preço.: %5.2f", livro.preço);         achou=1;     }   fclose(fplivro);    if (achou==0)      printf("\n Livro não Encontrado");   else {//Achou o Livro      printf("\n Confirma remocao(s/n)?");      fflush(stdin); scanf("%c", &op);      if ((op=='S') || (op=='s')){         fplivro = fopen("D:\\livros.dat","rb");         fplivro2 = fopen("D:\\livros2.dat","wb");          while (fread(&livro, sizeof(livro),1,fplivro)==1)             if(livro.codigo!=cod)                 fwrite(&livro,sizeof(livro),1,fplivro2);          fclose(fplivro);         fclose(fplivro2);          system("DEL D:\\livros.dat");  //Remove o arquivo original         system("RENAME D:\\livros2.dat livros.dat"); //Renomeia o arquivo auxiliar          printf("\n Livro removido com sucesso.");       }else         printf("\n Operacao Cancelada!");   }    printf("\n Pressione uma tecla.");   getch(); }//Fim removerLivro()  main(){   int op;    do {     printf("\n  *** L i v r a r i a  -  M e n u ***");     printf("\n 1- Cadastrar Livro");     printf("\n 2- Listagem Livros");     printf("\n 3- Consultar pelo Codigo");     printf("\n 4- Acesso Aletorio");     printf("\n 5- Alterar dados do Livro");     printf("\n 6- Remover um Livro");      printf("\n 0- Sair");     printf("\n Opcao-> ");     fflush(stdin); scanf("%i", &op);      switch (op) {        case 1: cadastrarLivro();             break;       case 2: listarLivros();             break;       case 3: consultarCodigo();             break;       case 4: acessarAleatorio();             break;       case 5: alterarLivro();             break;       case 6: removerLivro();             break;      }//Fim switch     }while (op!=0);   }//Fim main()