2017-11-13 14 views
0

私は図書館管理システムの学校プロジェクトを作成するプログラムを探していました。私はインターネット上で良いものを見つけました。コードはここで見ることができます:https://codereview.stackexchange.com/q/68713/153350コードレビュースタック交換。私はそれについて私のプロジェクトを作るつもりです。C++で学校図書館管理プログラムの2つのエラーを修正しました

私は上記のコードを実行しましたが、3つのエラーが表示されます。一つは、私が修正することができた変数の複数の宣言に関するものです。

しかし、私は他の2つのエラーについて何をすべきか分かりません。 どちらも関数の本体内のコードの次の行、ボイドwrite_student()で発生する:最初のエラーは言う

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

Undefined symbol 'st' 

他方は言う:

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

誰かが何が間違っているのか、そのエラーをどのように修正できるのかについてのヘルプを提供できますか? ありがとうございます。あなたはf.write&st代わりの&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(); 
} 

+0

2番目のエラーは、最初のエラーが原因です。 'st'が解決するとすぐに消えるので、私の最初の提案は最初のものに焦点を当てることです。 –

+0

'st'はどこにあるのですか? 'st'は明らかに' student'型のインスタンスでなければなりません。 – ovanes

+0

それは 'st'ではありません...' s'、man ... –

答えて

0

あなたはこれらの宣言を持っている...

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

...と、この機能関与。 件名の行を

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

に変更してください。

+0

ねえ、別のクエリがあります。あなたはそのコードの一部を私に説明しました。ここでコードを質問として入れて、コードの全部または大部分(何が起こっているのか、どの機能が何をやっているのかなど)を説明するように頼まれていますか?私はこのコードでプロジェクトを作っているにもかかわらず、私はそれを理解していないからです! –

+0

まあ、それはそれのためのページではないと思います。それはStack Exchangeのコードレビューの候補者のようなものです... Btw ..最初にそれを書いた人はどこですか? –

+0

@GézaTörökコードレビューでは、1.他のユーザーのコードを投稿し、2.どのコードが何をしているのかを尋ねます。上記の「クエリ」は、コードレビューでは完全にオフトピックです。 – Peilonrayz

関連する問題