Nikito4ka_ka
@Nikito4ka_ka

Как исправить ошибку требуется индентификатор?

Есть код

#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;
}



Ошибка вылазит здесь
Raspisanie.fill();

Объясните в чем ошибка.
  • Вопрос задан
  • 102 просмотра
Пригласить эксперта
Ответы на вопрос 1
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
Добавить идентификатор (имя переменной). В указанной строчке Raspisanie - это имя класса.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы