C++ C++;调试时出现库管理错误

C++ C++;调试时出现库管理错误,c++,C++,嗨,我在为12年级学生做一个项目。但是在DEV C++中,我得到了错误 在GDB在线编译器中也会出现错误,但不同的错误会出现 请检查下面给出的代码 代码如下: #include<iostream.h> #include<fstream.h> #include<conio.h> #include<stdio.h> #include<stdlib.h> #include<string.h> using namespace std

嗨,我在为12年级学生做一个项目。但是在DEV C++中,我得到了错误

在GDB在线编译器中也会出现错误,但不同的错误会出现

请检查下面给出的代码

代码如下:

#include<iostream.h>
#include<fstream.h>
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
using namespace std;

class Book
{
 int bno;
 char bname[20], aname[20];
 public:

 void getdata()
{
 cout<<"\n |New Book Entry| ";
 cout<<"\n Enter Book Number: ";
 cin>>bno;
 cout<<"\n Enter Book Name: ";
 gets(bname);
 cout<<"\n Enter Book Author: ";
 gets(aname);
}


 void putdata()
 {
 cout<<"\n Book Number: "<<bno;
 cout<<"\n Book Name: ";
 puts(bname);
 cout<<"\n Book Author: ";
 puts(aname);
 }

 void editdata()
 {
  cout<<"\n Book Number: "<<bno;
  cout<<"\n Changed Book Name: ";
  gets(bname);
  cout<<"\n Changed Book Author: ";
  gets(aname);
 }

  char bookname()
 {
  return bname;
 }

  int bookno()
  {
   return bno;
  }

 }
  // Class Objects

  fstream f;
  Book b;

  //Function for files


    void writebook()
  {
   char ch;
   f.open("book.dat",ios::app);
   do
   {
   //  clrscr();
   b.getdata();
    f.write((char*)&b,sizeof(Book));
   cout<<"\n Do You Want To Add More? (y/n)?";
    }while(ch=='y'||ch=='Y');
    f.close();
   }

 void display(int n)
{
 cout<<"\n Book Details";
 int flag=0;
 f.open("book.dat",ios::in);
 while(f.read((char *)&b,sizeof(Book)))
 {
  if(b.bookno()==n)
 {
  b.putdata();
  flag=1;  break;
 }
 }
 f.close();
 if(flag==0)
 cout<<"\n Book Does Not Exist";
 getch();
 }

 void search(char name)
 {
 cout<<"\n Book Details";
 int flag=0;
 f.open("book.dat",ios::in);
 while(f.read((char *)&b,sizeof(Book)))
 {
 if(b.bookname()==name)
 {
 b.putdata();
 flag=1;
 break;
 }
 }
 f.close();
if(flag==0)
cout<<"\n Book Does Not Exist.";
getch();
}


void displayall()
{
cout<<"\n Book Details:";
f.open("book.dat",ios::in);
b.putdata();
f.close();
getch();
}


void editbook()
{
int n, found=0;
clrscr();
cout<<"\n Edit Book Record.";
cout<<"\n Enter Book Number: ";
cin>>n;
f.open("book.dat",ios::in|ios::out);
while(f.read((char*)&b,sizeof(Book)) && found==0)
{
if(b.bookno()==n)
{
 b.putdata();
 cout<<"\n Enter The New Details: ";
 b.editdata();
 int pos=-1*sizeof(b);
 f.seekp(pos,ios::cur);
 f.write((char*)&b,sizeof(Book));
 cout<<"\n Record Updated";
 found=1;
}
}
f.close();
if(found==0)
cout<<"\n Record not Found.";
getch();
}


 // Delete Function
 void deletebook()
{
  int n;
  clrscr();
  cout<<"\n Delete Book";
  cout<<"\n Enter Book Number For The Book To Be Deleted: ";
   cin>>n;
  fstream f1;
  f.open("book.dat",ios::in|ios::out);
  f1.open("temp.dat",ios::out);
  f1.seekg(0,ios::beg);
 while(f.read((char*)&b,sizeof(Book)))
{
  if(b.bookno()!=n)
  {
      f1.write((char*)&b,sizeof(Book));
  }
}
f1.close();
 f.close();
 remove("book.dat");
 rename("temp.dat","book.dat")   ;
 cout<<"\n Record Deleted";
 getch();
 }



 // Main

 void main()
  {
 clrscr();
 int ch,n;
 char name;
 cout<<"\n Computer Science Project";
 cout<<"\n Book Details            ";
 cout<<"\n Name : XXXXXXXXXXX";
  cout<<"\n Class: 12 XX             ";
  do
  {
  cout<<"\n Main Menu             ";
  cout<<"\n 1.Accept Book.        ";
  cout<<"\n 2.Display All Books.  ";
  cout<<"\n 3.Display Book.       ";
  cout<<"\n 4.Search By Book Name.";
  cout<<"\n 4.Edit Book.          ";
  cout<<"\n 5.Delete Book.        ";
  cout<<"\n 6.Exit.               ";
  cout<<"\n Select Your Option:   ";
  cin>>ch;
  switch(ch)
  {
  case 1: clrscr();
     writebook();
     break;

   case 2: clrscr();
      displayall();
      break;

    case 3: clrscr();
       cout<<"\n Enter Book Number:";
        cin>>n;
        display(n);
        break;

    case 4: clrscr();
       cout<<"\n Enter Book Name:";
       gets(name);
       search(name);
       break;

   case 5: clrscr();
       editbook();
       break;

   case 6: clrscr();
       deletebook();
       break;

    case 7: exit(0);
       default:cout<<" Please Enter Valid Option: ";
     }
     }while(ch!=7);
        getch();
     }
#包括
#包括
#包括
#包括
#包括
#包括
使用名称空间std;
课堂用书
{
int bno;
char bname[20],aname[20];
公众:
void getdata()
{

cout您需要包含所使用的标准库代码的相关头文件。在这种情况下:

#include <iostream> // for cout / cin
#include <cstdio> // for gets / puts

书籍等中的示例代码可能在某个地方有一个
使用命名空间std;
,允许使用
std
命名空间中的项而不必对其进行限定。但是,这是。

\include不要忘了包括#include@MatthieuBrucher我认为这是高度基于意见的。显然在头文件中是不好的但是它在源文件中造成的破坏非常有限,通常可以用于编写小项目。@George不,它不是基于意见的。
使用名称空间std
是不好的,在cpp核心指南中被建议不要使用。@Amizade,如果您向我们展示一些代码,那么我们可能会告诉您它有什么问题。
std::cout << "hello world" << std::endl;