【问题标题】:Rectifying two errors in School Library Management program in C++用C++纠正学校图书馆管理程序的两个错误
【发布时间】:2017-11-13 15:31:54
【问题描述】:

我正在寻找一个 图书馆管理系统 程序,以便在其上进行学校项目。我在网上找到了一个很好的。代码可以在这里看到:https://codereview.stackexchange.com/q/68713/153350 代码审查堆栈交换。我打算在上面做我的项目。

所以,我运行了上面的代码,但它显示了 3 个错误。一个关于变量的多重声明,我能够纠正。

但我不明白如何处理其他两个错误。 它们都出现在函数体中的以下代码行中,void write_student():

 f.write((char*)&st, sizeof(student));

第一个错误说:

Undefined symbol 'st' 

另一个说:

Could not find a match for 'ostream::write(undefined, unsigned int)' 

有人可以就问题所在以及如何解决这些错误提供帮助吗? 谢谢。

【问题讨论】:

  • 第二个错误肯定源于第一个;一旦st 得到解决,它就会消失,所以我的第一个建议是关注第一个。
  • st 实例化在哪里? st 显然必须是 student 类型的实例。
  • 不是st...这是s,伙计...
  • 注意-我首先在代码审查堆栈交换中问过这个问题。当我在问题中编写完整代码时,无法提交问题,原因是“它的格式不正确”而且我不知道该怎么做,所以我已经链接到这个问题。如果有人可以编辑我的问题以在此处复制代码,我将不胜感激。
  • @Géza Török,哇,谢谢! :))) 我编辑了它,程序似乎运行完美!您是如何如此迅速地遵循所有这些代码并找出错误的?

标签: c++ compiler-errors user-defined-functions turbo-c++


【解决方案1】:

你有这些声明...

//***************************************************************
// Global declaration for stream object, object
//****************************************************************
fstream f, f1;
book b;
student s;

...涉及到这个功能:

void write_student(){
    char ch;
    f.open("student.dat", ios::out|ios::app);
    do{
        s.create_student();
        f.write((char*)&st, sizeof(student));
        cout<<"\n\nDo you want to add more students...(y/n?)";
        cin>>ch;
    }while(ch=='y'||ch=='Y');
    f.close();
}

您将 &amp;st 而不是 &amp;s 传递给 f.write。 将主题中的行替换为

f.write((char*)&s, sizeof(student));

为了让它工作。

【讨论】:

  • 嘿,我还有一个问题。你向我解释了那部分代码。是否允许在这里将代码作为问题提出并要求解释代码的全部或主要部分(发生了什么,哪些函数做什么以及如何做等)?我问是因为即使我在这个代码上做一个项目,我也不明白!
  • 好吧,我想这不是那个页面。它更像是 Stack Exchange 代码审查的候选者......顺便说一句......首先编写它的人在哪里?
  • 查看我链接到的页面,OP 声称已经编写了它。它也至少托管在另一个网站上:cppforschool.com/project/library-management-system.html
  • @Peilonrayz 终于有人见多识广了 :) 能否请您指点我们提供合适的服务?
  • 在您的 IDE 中试用源代码调试器。几乎每个 Stack Exchange 网站都会因为缺乏研究而对您投反对票。如果您不使用 IDE,那么您只需要用纸和铅笔浏览代码,或者开始使用 IDE。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-15
  • 2013-08-30
  • 2023-03-31
  • 2013-12-28
  • 1970-01-01
  • 1970-01-01
  • 2012-11-30
相关资源
最近更新 更多