0

C++ で構造体の配列を作成するのに問題があります。何らかの理由で、これはコンパイルされません。エラーは Fem 構造を指していますが、';' がないことが原因です。関数のヘッダーがありません。アイデアは、それぞれの内部に配列と文字列を含む構造体の配列を取得することです。これに関する任意の助けをいただければ幸いです。

/* Global headers and namespace */
#include <iostream>
#include <iomanip>
#include <string>
#include <fstream>
#include <cstdlib>
#include <cctype>
using namespace std;

/* ================================================================ */

/* Global named constants */
const int NUM_ANSWERS = 10;
const int NUM_STRUCTS = 15;

/* ================================================================ */

/* Global type definitions */

// Two struct types, Male and Female
struct Male
{

  int maleAnswers [NUM_ANSWERS];
  string name;

};

struct Fem
{

  int femAnswers [NUM_ANSWERS];
  string name;

};

// Arrays of structs
typedef Fem FemList [NUM_STRUCTS];
typedef Male MaleList [NUM_STRUCTS];

/* ================================================================ */

/* global function prototypes */
void OutputHeader ();
void ReadFile (FemList, MaleList);

/* ================================================================ */

int main ()
{

  FemList fList; // Array of Fem structs
  MaleList mList; // Array of Male structs

  void OutputHeader ();
  void ReadFile (fList, mList);

}

void OutputHeader ()
{

  cout << "==================================================================" << endl;
  cout << "Welcome to the Cheap & Ineffective Dating Service of Tallahassee!" << endl << endl;
  cout << "                       eDisHarmony.com" << endl;
  cout << "==================================================================" << endl << endl;
  cout << "<><><> Initial Client Data as Input <><><>" << endl << endl;
  cout << setw(11) << "Sex" << setw(31) << "Answers" << "Name" << endl;
  cout << setw(11) << "---" << setw(24) << "-------------------" << "--------------------" << endl;

}

void ReadFile (fList, mList)
{

}
4

2 に答える 2

3

main関数の「void」を取り除き、関数定義に型を使用します

于 2012-12-05T02:09:30.893 に答える
1
void ReadFile (fList, mList);

する必要があります

void ReadFile (FemList fList, MaleList mList);

int main ()
{    
  FemList fList; // Array of Fem structs
  MaleList mList; // Array of Male structs

  void OutputHeader ();
  void ReadFile (fList, mList);    
}

する必要があります

int main ()
{    
  FemList fList; // Array of Fem structs
  MaleList mList; // Array of Male structs

  OutputHeader ();
  ReadFile (fList, mList);    
}

以下のコードは動作するはずです。注意してください、私はそれを少し強化しましたが、これがあなたが望むものかどうかわかりませんか? 1. std からの識別子に完全な名前空間を提供します。 2. ReadFile への参照によってパラメーターを渡します。ファイルを FemList と MaleList に読み込みますか?

/* Global named constants */
const int NUM_ANSWERS = 10;
const int NUM_STRUCTS = 15;

/* Global type definitions */

// Two struct types, Male and Female
struct Male
{
  int maleAnswers [NUM_ANSWERS];
  std::string name;
};

struct Fem
{
  int femAnswers [NUM_ANSWERS];
  std::string name;
};

// Arrays of structs
typedef Fem FemList [NUM_STRUCTS];
typedef Male MaleList [NUM_STRUCTS];

/* global function prototypes */
void OutputHeader ();
void ReadFile(FemList&, MaleList&);

int main ()
{

  FemList fList; // Array of Fem structs
  MaleList mList; // Array of Male structs

  OutputHeader();
  ReadFile(fList, mList);

}

void OutputHeader ()
{
  std::cout << "==================================================================" << std::endl;
  std::cout << "Welcome to the Cheap & Ineffective Dating Service of Tallahassee!" << std::endl;
  std::cout << "                       eDisHarmony.com" << std::endl;
  std::cout << "==================================================================" << std::endl;
  std::cout << "<><><> Initial Client Data as Input <><><>" << std::endl;
  std::cout << std::setw(11) << "Sex" << std::setw(31) << "Answers" << "Name" << std::endl;
  std::cout << std::setw(11) << "---" << std::setw(24) << "-------------------" << "--------------------" << std::endl;
}

void ReadFile (FemList &fList, MaleList &mList)
{
}
于 2012-12-04T02:21:59.300 に答える