N
N
Nikita2022-04-17 00:17:03
C++ / C#
Nikita, 2022-04-17 00:17:03

How to fix id required error?

There is a code

#include<iostream>
#include<fstream>
#include<windows.h>
#include<string>
#include<iomanip>
#include "ConsoleApplication1.h"

using namespace std;
ofstream fout("Object.txt", ios_base::app);
ifstream fin("Object.txt");

class Raspisanie {
public:
  Raspisanie();
  float		Rasp;
  int			i;
  struct		Object {
    string	name;
    float	time;
    int		directivterm;
    int		fine;
    int		bin;
    float	spec_val;
  };
  struct		Object obj[100];
  struct		Object sp;
  void		sort();
  void		sort2();
  void		fill();
  void		add_object();
  void		obj_change();
  void		binarcode();
  void		binsort();
  void		bestlist();

  void		save();

  float x, y, dx, dy; //координаты и скорость
  bool life; //жив или мертв
  float w, h; //линейные размеры
  int num; //личный отличительный номер 
  int lifetime; //время жизни
  float range; //радиус обнаружения хищника
  int n;
  int m;
};

Raspisanie::Raspisanie() {
  i = 0;
  while (!fin.eof()) {
    fin >> obj[i].name >> obj[i].time >> obj[i].directivterm >> obj[i].fine >> obj[i].spec_val >> obj[i].bin;
    i++;
  }
  //fin.close();
}

void	Raspisanie::sort() {
  for (int m = 0; m < i - 1; m++) {
    for (int n = 0; n < i - m; n++) {
      if (obj[n].spec_val < obj[n + 1].spec_val) {
        sp = obj[n];
        obj[n] = obj[n + 1];
        obj[n + 1] = sp;
      }
    }
  }
  Raspisanie::sort2();
}

void	Raspisanie::sort2() {
  for (int m = 0; m < i - 1; m++) {
    for (int n = 0; n < i - m; n++) {
      if (obj[n].directivterm < obj[n + 1].directivterm) {
        sp = obj[n];
        obj[n] = obj[n + 1];
        obj[n + 1] = sp;
      }
    }
  }
}

void	Raspisanie::fill() {
  Raspisanie::sort();
  int n = 0;
  while (n != i) {
    cout << obj[n].name << endl;
    n++;
  }
}

void	Raspisanie::add_object() {
  cout << "Введите наименование Детали: ";
  cin.ignore();
  getline(cin, obj[i].name);
  cout << "Введите длительность обработки: ";
  cin >> obj[i].time;
  cout << "Введите директивный срок: ";
  cin >> obj[i].directivterm;
  cout << "Введите штраф: ";
  cin >> obj[i].fine;
  obj[i].spec_val = obj[i].directivterm + obj[i].time + obj[i].fine;
  fout.open("Object.txt", ios_base::app);
  fout << obj[i].name << " " << obj[i].time << " " << obj[i].directivterm << " " << obj[i].fine << " " << obj[i].spec_val << endl;
  fout.close();
  i++;
}

void Raspisanie::obj_change() {
  int a;
  cout << left << setw(3) << '№' << setw(20) << "Наименование" << setw(10) << "длительность обработки" << setw(4) << "директивный срок + штраф" << setw(4) << " штраф" << endl;
  for (int n = 0; n < i - 1; n++) {
    cout << left << setw(3) << n << setw(20) << obj[n].name << setw(10) << obj[n].time << setw(4) << obj[n].directivterm << setw(4) << obj[n].fine << endl;
  }
  cout << endl << "Выберите номер Детали: ";
  cin >> a;
  cout << endl << obj[a].name << endl << endl;
  cout << "Введите длительность обработки: ";
  cin >> obj[a].time;
  cout << "Введите директивный срок: ";
  cin >> obj[a].directivterm;
  cout << "Введите штраф: ";
  cin >> obj[a].fine;
  obj[a].spec_val = obj[a].directivterm / obj[a].time;
  cout << "Данные обновлены!" << endl;
}

void Raspisanie::binarcode() {
  Raspisanie::sort();
  obj[n].bin = 00000001;
  for (int n = 0; n < i - m; n++) {
    if (obj[n + 1].directivterm - obj[n].time < 0) {
      obj[n + 1].bin = 00000000;
    }
    else {
      obj[n + 1].bin = 00000001;

    }
  }
}

void Raspisanie::binsort() {
  Raspisanie::binarcode();
  for (int m = 0; m < i - 1; m++) {
    for (int n = 0; n < i - m; n++) {
      if (obj[n].bin < obj[n + 1].bin) {
        sp = obj[n];
        obj[n] = obj[n + 1];
        obj[n + 1] = sp;
      }
    }
  }
}
void Raspisanie::bestlist() {
  Raspisanie::binsort();
  int n = 0;
  while (n != i) {
    cout << obj[n].name << endl;
    n++;
  }
}



void Raspisanie::save() {
  fout.open("Object.txt", ios_base::out | ios_base::trunc);
  for (int n = 0; n < i; n++) {
    fout << obj[n].name << " " << obj[n].time << " " << obj[n].directivterm << " " << obj[n].fine << " " << obj[n].spec_val << endl;
  }
  fout.close();
}

Raspisanie bp;

int main() {
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
  int menu;
  do {
    cout << endl;
    cout << "1. Сформировать расписание" << endl;
    cout << "2. Добавить объекты" << endl;
    cout << "3. Изменить параметры объектов" << endl;
    cout << "4. Вывести бест список" << endl;
    cout << "0. Выход" << endl;
    cout << "Выберите действие: ";
    cin >> menu;
    switch (menu) {
    case 0:
      exit(0);
      break;
    case 1:
      cout << endl;
      Raspisanie.fill();
      break;
    case 2:
      cout << endl;
      Raspisanie.add_object();
      break;
    case 3:
      cout << endl;
      Raspisanie.obj_change();
      break;
    case 4:
      cout << endl;
      Raspisanie.bestlist();
      break;
    default:
      cout << endl << "Введены некорректные данные!!!" << endl;
    }
  } while (menu != 0);
  return 0;
}



Error climbs here
Raspisanie.fill();

Explain what the error is.

Answer the question

In order to leave comments, you need to log in

2 answer(s)
E
Evgeny Petryaev, 2022-04-17
@Nikito4ka_ka

bp.fill();

W
Wataru, 2022-04-17
@wataru

Add identifier (variable name). In the specified line Raspisanieis the name of the class.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question