2016-12-18 7 views
0

/これは、データベースを作成するコードの一部です。質問へのランダムアクセスは同じメイン関数で生成されます。このコードで何が間違っていますか?見てください、あなたのコード内の多くのエラーがある/C++を使用してクイズデータベースを作成する方法

#include<iostream> 
#include<cstring> 

class ques{ 
void in_data(char qu[500],char p[25],char q[25],char r[25],char s[25],char  ans1) 
     { 
      std::strcpy(question,qu); 
      std::strcpy(a,p); 
      std::strcpy(b,q); 
      std::strcpy(c,r); 
      std::strcpy(d,s); 
      ans=ans1; 

     } 

}; 

int main() 
{ 

    ques q[2]; 
    q[0].in_data("what is 2+2","alpha","beta","gamma","delta","d"); 
    q[1].in_data("choose a","a","b","c","d","a"); 

return 0; 
} 
+0

問題の内容を説明していないと、コードの何が間違っているのか分かりにくいです。さらに情報を追加するには、質問を編集する必要があります。そうしないと、「広すぎる」として閉じられる可能性があります。 – Dartmouth

答えて

1

を助ける:

1- in_data()国民はあなたのメインのように外部からそれを呼び出すことができるように作るそうでなければ、コンパイル時に取得エラーaccessing private dataクラスのメンバーは、デフォルトでprivateですが、structはpublicですが、

2つの宣言メンバーデータ:question、a、b、...宣言せずにそれらを使用しています。

3 - あなたはあなたがそれをメインでのconst文字列を渡しながら、第六パラメータとして文字を取るためにin_dataを宣言:

q[0].in_data("what is 2+2","alpha","beta","gamma","delta","d"); // "d" is a constant character string not just a single character so change it to 'd' 
q[1].in_data("choose a","a","b","c","d","a"); // look at in_data how was defined. 

あなたのコードは次のようになります。

#include<iostream> 
#include <string> 
using namespace std; 

class ques 
{ 
    public: // make in_data public to use from outside 
     void in_data(char qu[500], char p[25], char q[25], char r[25], char s[25], char ans1) // so pass eg: 'a' not "a" 
     { 
      strcpy(question, qu); 
      strcpy(a, p); 
      strcpy(b, q); 
      strcpy(c, r); 
      strcpy(d, s); 
      ans = ans1; 
     } 
    private: 
     char question[500]; 
     char a[25]; 
     char b[25]; 
     char c[25]; 
     char d[25]; 
     char ans; 
}; 

int main() 
{ 

    ques q[2]; 
    q[0].in_data("what is 2+2","alpha","beta","gamma","delta",'d'); 
    q[1].in_data("choose a","a","b","c","d",'a'); 

    return 0; 
} 
  • 最後に、class stringを文字の配列を使用する代わりにコード内に必須である限り使用しないでください。
+0

ありがとうございます。実際にはコードの一部しかコピーしていないので、いくつかの部分を忘れてしまった。唯一のエラーはconst charに関連していました。見直してくれてありがとう。 – Prabodh

関連する問題