错误:在类'_______'中没有声明任何'__________'成员函数。不知道怎么解决

时间:2019-07-18 18:57:04

标签: c++

我正在尝试调试此代码。这是为了我的项目

我正在代码块上运行它,但似乎无法编译

// PROGRAM - TRAIN RESERVATION
#include <conio.h>
#include <dos.h>
#include <fstream>
#include <iostream>
#include <process.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

class train {
private:
  int trainno, nofafseat, nofasseat, noffsseat, nofacseat, nofssseat;
  char trainname[60], startingpoint[60], destination[60];
public:
  train() {
    trainno = 0;
    nofafseat = 0;
    nofasseat = 0;
    noffsseat = 0;
    nofacseat = 0;
    nofssseat = 0;
    strcpy(trainname, "/0");
    strcpy(startingpoint, "/0");
    strcpy(destination, "/0");
  }
  void input(); // To input the details void display();      //To display the
                // details int returntr(); int returnaf();

  int returnas();
  int returnfs();
  int returnac();
  int returnss();
} tr;
int train::returntr() { return trainno; }
int train::returnaf() { return nofafseat; }
int train::returnas() { return nofasseat; }
int train::returnfs() { return noffsseat; }
int train::returnac() { return nofacseat; }
int train::returnss() { return nofssseat; }
11

    void
    train::input() {
  clrscr();
  gotoxy(10, 10);
  cout < < "ENTER THE TRAIN NUMBER ";
  gotoxy(57, 10);
  cin >> trainno;
  gotoxy(10, 12);
  cout < < "ENTER THE NUMBER OF A/C FIRST CLASS SEATS";
  gotoxy(57, 12);
  cin >> nofafseat;
  gotoxy(10, 14);
  cout < < "ENTER THE NUMBER OF A/C SECOND CLASS SEATS";
  gotoxy(57, 14);
  cin >> nofasseat;
  gotoxy(10, 16);
  cout < < "ENTER THE NUMBER OF FIRST CLASS SLEEPER SEATS";
  gotoxy(57, 16);
  cin >> noffsseat;
  gotoxy(10, 18);
  cout < < "ENTER THE NUMBER OF A/C CHAIR CAR SEATS";
  gotoxy(57, 18);
  cin >> nofacseat;
  gotoxy(10, 20);
  cout < < "ENTER THE NUMBER OF SECOND CLASS SLEEPER SEATS";
  gotoxy(57, 20);
  cin >> nofssseat;
  gotoxy(10, 22);
  cout < < "ENTER THE TRAIN NAME";
  gotoxy(57, 22);
  gets(trainname);
  gotoxy(10, 24);
  cout << "ENTER THE STARTING POINT ";
  gotoxy(57, 24);

  gets(startingpoint);
  gotoxy(10, 26);
  cout << "ENTER THE DESTINATION ";
  gotoxy(57, 26);
  gets(destination);

  void train::display() {
    clrscr();
    gotoxy(10, 10);
    cout << "TRAIN NUMBER ";
    gotoxy(47, 10);
    cout << trainno;
    gotoxy(10, 12);
    cout << "TRAIN NAME ";
    gotoxy(47, 12);
    puts(trainname);
    gotoxy(10, 14);
    cout << "NO OF A/C FIRST CLASS SEATS ";
    gotoxy(47, 14);
    cout << nofafseat;
    gotoxy(10, 16);
    cout << "NO OF A/C SECOND CLASS SEATS ";
    gotoxy(47, 16);
    cout << nofasseat;
    gotoxy(10, 18);
    cout << "NO OF FIRST CLASS SLEEPER SEATS ";
    gotoxy(47, 18);
    cout << noffsseat;
    gotoxy(10, 20);
    cout << "NO OF A/C CHAIR CLASS SEATS ";
    gotoxy(47, 20);
    cout << nofacseat;
    gotoxy(10, 22);

    cout << "NO OF SECOND CLASS SLEEPER SEATS ";
    gotoxy(47, 22);
    cout << nofssseat;
    gotoxy(10, 24);
    cout << "STARTING POINT ";
    gotoxy(47, 24);
    puts(startingpoint);
    gotoxy(10, 26);
    cout << "DESTINATION ";
    gotoxy(47, 26);
    puts(destination);
    gotoxy(10, 28);
    cout << "PRESS ANY KEY TO CONTINUE ";
    getch();
  }

  class tickets {
    int resno, toaf, nofaf, toas, nofas, tofs, noffs, toac, nofac, toss, nofss,
        age;
    char status[40], name[40];

  public:
    tickets();
    void reservation();  // For ticket reservation
    void cancellation(); // For ticket cancellation int ret();
    void display();      // To display reservation details
  } tick;

  tickets::tickets() {
    resno = 0;
    toaf = 0;
    nofaf = 0;
    toas = 0;
    nofas = 0;

    tofs = 0;
    noffs = 0;
    toac = 0;
    nofac = 0;
    toss = 0;
    nofss = 0;
    age = 0;
    strcpy(status, "/0");
    strcpy(name, "/0");
  }

  int tickets::ret() { return resno; }

  void tickets::display() {
    int f = 0;
    clrscr();
    ifstream fn("Ticket1.dat", ios::out);
    fn.seekg(0);
    if (!fn) {
      cout << "ERROR IN THE FILE ";
    }
  X:
    gotoxy(10, 10);
    cout << "ENTER THE RESERVATION NO ";
    gotoxy(10, 12);
    int n;
    cin >> n;
    while (!fn.eof()) {
      fn.read((char *)&tick, sizeof(tick));

      gotoxy(10, 10);
      if (n == resno) {
        clrscr();
        f = 1;
        gotoxy(10, 10);
        cout < < "NAME ";
        gotoxy(30, 10);
        cout << name;
        gotoxy(10, 12);
        cout << "AGE ";
        gotoxy(30, 12);
        cout << age;
        gotoxy(10, 14);
        cout << "PRESENT STATUS ";
        gotoxy(30, 14);
        cout << status;
        gotoxy(10, 16);
        cout << "RESERVATION NUMBER ";
        gotoxy(30, 16);
        cout << resno;
        gotoxy(10, 18);
        cout << "PRESS ANY KEY TO CONTINUE ";
        getch();
      }
    }
    if (f == 0) {
      clrscr();
      gotoxy(10, 10);
      cout << "UNRECOGINIZED RESERVATION NO !!! WANNA RETRY ?(Y/N) ";
      char a;
      gotoxy(10, 12);
      cin >> a;
      if (a == y || a == Y) {
        clrscr();
        goto X;
      } else {
        gotoxy(10, 12);
        cout < < "PRESS ANY KEY TO CONTINUE";
        getch();
      }
    }
    fn.close();
  }

  void tickets::reservation() {
    clrscr();
    gotoxy(10, 10);
    cout << "RESERVATION ";
    gotoxy(10, 12);
    cout << "ENTER THE TRAIN NO: ";
    int tno, f = 0;
    cin >> tno;
    ofstream file;
    ifstream fin("Train1.dat", ios::out);
    fin.seekg(0);
    if (!fin) {
      clrscr();
      gotoxy(10, 10);
      cout < < "ERROR IN THE FILE ";
      clrscr();
      while (!fin.eof()) {
        fin.read((char *)&tr, sizeof(tr));
        int z;
        z = tr.returntr();
        if (tno == z) {
          f = 1;
          nofaf = tr.returnaf();
          nofas = tr.returnas();
          noffs = tr.returnfs();
          nofac = tr.returnac();
          nofss = tr.returnss();
        }
      }
      if (f == 1) {
        file.open("Ticket1.dat", ios::app);
      S:
        clrscr();
        gotoxy(10, 10);
        cout << "NAME:";
        gets(name);
        gotoxy(10, 12);
        cout << "AGE:";
        cin >> age;
        clrscr();
        gotoxy(10, 10);
        cout < < "SELECT THE CLASS WHICH YOU WISH TO TRAVEL";
        gotoxy(10, 12);
        cout << "1.A/C FIRST CLASS ";
        gotoxy(10, 14);
        cout << "2.A/C SECOND CLASS ";
        gotoxy(10, 16);
        cout << "3.FIRST CLASS SLEEPER ";
        gotoxy(10, 18);
        cout << "4.A/C CHAIR CAR ";
        gotoxy(10, 20);
        cout << "5.SECOND CLASS SLEEPER ";
        gotoxy(10, 22);
        cout << "ENTER YOUR CHOICE ";
        gotoxy(30, 22);
        int c;
        cin >> c;
        switch (c) {
        case 1:
          toaf++;
          resno = rand();
          if ((nofaf - toaf) > 0) {
            strcpy(status, "confirmed");
            gotoxy(10, 24);
            cout < < "STATUS";
            gotoxy(30, 24);
            puts(status);
            gotoxy(10, 26);
            cout << "RESERVATION NO";
            gotoxy(30, 26);
            cout << resno;
            getch();
            file.write((char *)&tick, sizeof(tick));
            break;

            strcpy(status, "pending");
            gotoxy(10, 24);

            cout << "STATUS";
            gotoxy(30, 24);
            puts(status);
            gotoxy(10, 26);
            cout << "RESERVATION NO";
            gotoxy(30, 26);
            cout << resno;
            getch();
            file.write((char *)&tick, sizeof(tick));
            break;
          }

        case 2:
          toas++;
          resno = rand();
          if ((nofas - toas) > 0) {
            strcpy(status, "confirmed");
            gotoxy(10, 24);
            cout < < "STATUS";
            gotoxy(30, 24);
            puts(status);
            gotoxy(10, 26);
            cout << "RESERVATION NO";
            gotoxy(30, 26);
            cout << resno;
            getch();
            file.write((char *)&tick, sizeof(tick));
            break;

            strcpy(status, "pending");
            gotoxy(10, 24);
            cout << "STATUS";
            gotoxy(30, 24);
            puts(status);
            gotoxy(10, 26);
            cout << "RESERVATION NO";
            gotoxy(30, 26);
            cout << resno;
            getch();
            file.write((char *)&tick, sizeof(tick));
            break;
          }

        case 3:
          tofs++;
          resno = rand();
          if ((noffs - tofs) > 0) {
            strcpy(status, "confirmed");
            gotoxy(10, 24);
            cout < < "STATUS";
            gotoxy(30, 24);
            puts(status);
            gotoxy(10, 26);
            cout << "RESERVATION NO";
            gotoxy(30, 26);
            cout << resno;
            getch();
            file.write((char *)&tick, sizeof(tick));
            break;
          } else {
            strcpy(status, "pending");
            gotoxy(10, 24);
            cout << "STATUS";
            gotoxy(30, 24);
            puts(status);
            gotoxy(10, 26);
            cout << "RESERVATION NO";
            gotoxy(30, 26);
            cout << resno;
            getch();
            file.write((char *)&tick, sizeof(tick));
            break;
          }

        case 4:
          toac++;
          resno = rand();
          if ((nofac - toac) > 0) {
            strcpy(status, "confirmed");
            gotoxy(10, 24);
            cout < < "STATUS";
            gotoxy(30, 24);
            puts(status);
            gotoxy(10, 26);
            cout << "RESERVATION NO";
            gotoxy(30, 26);
            cout << resno;
            getch();
            file.write((char *)&tick, sizeof(tick));
            break;
          } else {
            strcpy(status, "pending");
            gotoxy(10, 24);
            cout << "STATUS";
            gotoxy(30, 24);
            puts(status);
            gotoxy(10, 26);
            cout << "RESERVATION NO";
            gotoxy(30, 26);
            cout << resno;
            getch();
            file.write((char *)&tick, sizeof(tick));
            break;
          }

        case 5:
          toss++;
          resno = rand();
          if ((nofss - toss) > 0) {
            strcpy(status, "confirmed");
            gotoxy(10, 24);
            cout < < "STATUS";
            gotoxy(30, 24);
            puts(status);
            gotoxy(10, 26);
            cout << "RESERVATION NO";
            gotoxy(30, 26);
            cout << resno;
            getch();
            file.write((char *)&tick, sizeof(tick));
            break;
          } else {
            strcpy(status, "pending");
            gotoxy(10, 24);
            cout << "STATUS";
            gotoxy(30, 24);
            puts(status);
            gotoxy(10, 26);

            cout << "RESERVATION NO";
            gotoxy(30, 26);
            cout << resno;
            getch();
            file.write((char *)&tick, sizeof(tick));
            break;
          }
        }
        gotoxy(10, 28);
        cout << "DO YOU WISH TO CONTINUE BOOKING TICKETS (Y/N) ? ";
        gotoxy(57, 30);
        char n;
        cin >> n;
        if (n == 'y' || n == 'Y') {
          goto S;
        }
      }
    }
    if (f == 0) {
      clrscr();
      gotoxy(10, 10);
      cout < < "ERROR IN THE TRAIN NUMBER ENTERED !!!";
      getch();
    }
    file.close();
  }

  void tickets::cancellation() {
    clrscr();
    ifstream fin;
    fin.open("Ticket1.dat", ios::out);

    ofstream file;
    file.open("Temp1.dat", ios::app);
    fin.seekg(0);
    gotoxy(10, 10);
    cout << "ENTER THE RESERVATION NO ";
    int r, f = 0;
    cin >> r;
    if (!fin)

      cout < < "ERROR IN THE FILE !!!";
  }
  while (!fin.eof()) {
    fin.read((char *)&tick, sizeof(tick));
    int z;
    z = ret();
    if (z != r) {
      file.write((char *)&tick, sizeof(tick));
    }
    if (z == r) {
      f = 1;
    }
  }
  file.close();
  fin.close();
  remove("Ticket1.dat");
  rename("Temp1.dat", "Ticket1.dat");
  if (f == 0) {
    gotoxy(10, 12);
    cout << "NO SUCH RESERVATION IS MADE !!! PLEASE RETRY ";
    getch();

  } else {
    gotoxy(10, 12);
    cout << "RESERVATION CANCELLED";
    getch();
  }
}

void main() {
  int ch, r = 1000, j;
  clrscr();
  gotoxy(33, 22);
  cout << "WELCOME";
Z:
  clrscr();
  gotoxy(25, 8);
  cout << "RAILWAY TICKET RESERVATION";
  gotoxy(25, 9);
  cout << "==========================";
  gotoxy(20, 15);
  cout << "1.TRAIN DETAILS";
  gotoxy(20, 17);
  cout << "2.UPDATE TRAIN DETAILS ";
  gotoxy(20, 19);
  cout << "3.RESERVING A TICKET ";
  gotoxy(20, 21);
  cout << "4.CANCELLING A TICKET";
  gotoxy(20, 23);
  cout << "5.DISPLAY THE PRESENT TICKET STATUS ";
  gotoxy(20, 25);
  cout << "6.EXIT";
  gotoxy(20, 27);
  cout << "ENTER YOUR CHOICE: ";

  cin >> ch;
  char n;
  switch (ch) {
  case 1: {
    ifstream fin("Train1.dat", ios::out);
    fin.seekg(0);
    clrscr();
    if (!fin) {
      clrscr();
      gotoxy(10, 10);
      cout < < "ERROR IN THE FILE !!!";
    } else {
      clrscr();
      while (!fin.eof()) {
        fin.read((char *)&tr, sizeof(tr));
        tr.display();
      }
    }
    fin.close();
    goto Z;
  }
  case 2:
    clrscr();
    gotoxy(20, 10);
    cout << "ENTER THE PASSWORD ";
    cin >> j;
    gotoxy(20, 30);
    cout < < "CHECKING PLEASE WAIT    ";
    getch();
  }

  {
  Y:
    ofstream fout("Train1.dat", ios::app);
    tr.input();
    fout.write((char *)&tr, sizeof(tr));
    fout.close();
    gotoxy(10, 30);
    cout << "DO YOU WISH TO CONTINUE UPDATING ?(Y/N)";
    cin >> n;
    if (n == y || n == Y)
      goto Y;
    goto Z;
  }
  else goto Z;

case 3:
  tick.reservation();
  goto Z;

case 4:
  tick.cancellation();
  goto Z;

case 5:
  tick.display();
  goto Z;

case 6:
  exit(0);
}
getch();
  

| 30 |错误:没有在其中声明“ int train :: returntr()”成员函数   类“火车” | | 33 |错误:没有'int train :: returnaf()'成员函数   在“火车”类中声明| | 51 |错误:预期的不合格ID之前   数值常数| || ===构建失败:3个错误,0个警告(0   分钟,0秒)=== |

0 个答案:

没有答案