声明语法错误

时间:2016-04-23 16:32:57

标签: c++ syntax declaration turbo-c++

请帮我修复这个问题我在学校输入代码,即使它显示声明语法错误。 -.-想不出来! 。刚开始学习编码时,它非常令人沮丧。

void issue error:声明语法错误 void display error:非法使用指针

如果我发现任何愚蠢,请道歉。

#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <string.h>


class book
{
char bookname[20];
char isbn[20];
char author[20];
char category[20];
float price;
int noc;

public:

void accept()
{

cout<<"Enter book name :- \n";
gets(bookname);
cout<<"Enter isbn no of the book:- \n";
gets(isbn);
cout<<"Enter authour name:- \n";
gets(author);
cout<<"Enter category of book:- \n";
gets(category);
cout<<"Enter price of the book :- \n";
cin>>price;
cout<<"Enter no of copies of book available in the library :- \n";
cin>>noc;
}

void display()
{
puts(bookname)<<endl;
puts(isbn)<<endl;
puts(author)<<endl;
puts(category)<<endl;
cout<<price<<endl;
cout<<noc<<endl;
}

}b[5];

int main()
{
for(int i=0;i<5;++i)
{
b[i].accept();
}

void issue()
{
int flag=0;
char booksearch[20];
cout<<"Enter name of book member wants to issue :- \n"
gets(booksearch);
  for(i=0;i<5;++i)
  {
      flag=strcmp(booksearch,b[i].bookname)
  }

}

 if(flag==1)
 {
   b[i].display();
   b[i].issue();
 }
 getch();
 return 0;
 }

2 个答案:

答案 0 :(得分:1)

  1. flag=strcmp (searchbook, b [I]. bookname)行之后添加分号。
  2. 如果尚未声明,则声明flagsearchbookb
  3. 在您的职能之前#include <string.h>

答案 1 :(得分:1)

您的代码存在许多错误:

  1. strcmp致电后缺少分号:
  2. strcmp在匹配时返回0,而不是1,并且您可能会在循环的下一次迭代中覆盖标记,
  3. 您对issue的定义位于main
  4. 的中间
  5. 您正在混合使用c-style gets和c ++-style operator&gt;&gt;,
  6. 你正在混合 - 严重 - c风格的看跌期权和运营商&lt;&lt;
  7. 以下是您的代码的非工作版本: http://ideone.com/sGdXcm

    这是一个固定的工作版本:

    #include <iostream>
    #include <string>
    #include <array>
    #include <limits>
    
    using namespace std;
    
    class book
    {
        std::string bookname;
        std::string isbn;
        std::string author;
        std::string category;
        float price;
        int noc;
    
    public:
        const std::string& getBookname() const { return bookname; }
        const std::string& getISBN() const { return isbn; }
        const std::string& getAuthor() const { return author; }
        const std::string& getCategory() const { return category; }
        float getPrice() const { return price; }
        float getNoC() const { return noc; }
    
        void accept()
        {
            cout<<"Enter book name :- \n";
            std::getline(std::cin, bookname);
            cout<<"Enter isbn no of the book:- \n";
            std::getline(std::cin, isbn);
            cout<<"Enter authour name:- \n";
            std::getline(std::cin, author);
            cout<<"Enter category of book:- \n";
            std::getline(std::cin, category);
            cout<<"Enter price of the book :- \n";
            std::cin>>price;
            cout<<"Enter no of copies of book available in the library :- \n";
            std::cin>>noc;
            std::cin.ignore(std::numeric_limits<streamsize>::max(), '\n');
        }
    
        void display()
        {
            std::cout<<bookname<<std::endl;
            std::cout<<isbn<<std::endl;
            std::cout<<author<<std::endl;
            std::cout<<category<<std::endl;
            std::cout<<price<<std::endl;
            std::cout<<noc<<std::endl;
        }
    
        void issue()
        {
        }
    };
    
    int main()
    {
        std::array<book, 5> b;
        for(int i=0;i<b.size();++i)
        {
            b[i].accept();
        }
    
        std::string booksearch;
        std::cout<<"Enter name of book member wants to issue :- \n";
        std::getline(cin, booksearch);
        std::cout<<"Searching for: " << booksearch << "\n";
        for(int i=0;i<b.size();++i)
        {
            if (b[i].getBookname() == booksearch)
            {
                b[i].display();
                b[i].issue();
                break;
            }
        }
    
        std::string dummy;
        std::cout << "Hit return:";
        std::getline(std::cin, dummy);
    
        return 0;
    }
    

    现场演示:http://ideone.com/p3Ygw3

    注意:我没有在此代码中添加任何错误检查,如果用户在输入书籍时输入错误,则会出错。